Documentation ¶
Index ¶
- Constants
- Variables
- func BatchDestinations() []string
- func BugsnagNotify(ctx context.Context, team string) func()
- func ConcatErrors(givenErrors []error) error
- func ConvertInterfaceToStringArray(input []interface{}) []string
- func ConvertStringInterfaceToIntArray(interfaceT interface{}) ([]int64, error)
- func Copy(dst, src interface{})
- func CopyStringMap(originalMap map[string]string) map[string]string
- func CreateTMPDIR() (string, error)
- func DiskUsage(path string, ext ...string) (int64, error)
- func FastUUID() uuid.UUID
- func GetBadgerDBUsage(dir string) (int64, int64, int64, error)
- func GetChronologicalTimeStamp(receivedAt, sentAt, originalTimestamp time.Time) time.Time
- func GetConnectionString(c *config.Config) string
- func GetDiskUsageOfFile(path string) (int64, error)
- func GetHash(s string) int
- func GetIPFromReq(req *http.Request) string
- func GetInstanceID() string
- func GetJsonSchemaDTFromGoDT(goType string) string
- func GetMD5Hash(input string) string
- func GetMD5UUID(str string) (uuid.UUID, error)
- func GetMacAddress() string
- func GetMandatoryJSONFieldNames(st interface{}) []string
- func GetObjectStorageConfig(opts ObjectStorageOptsT) map[string]interface{}
- func GetParsedTimestamp(input interface{}) (time.Time, bool)
- func GetRudderEventVal(key string, rudderEvent types.SingularEventT) (interface{}, bool)
- func GetRudderObjectStorageAccessKeys() (accessKeyID, accessKey string)
- func GetRudderObjectStorageConfig(prefixOverride string) (storageConfig map[string]interface{})
- func GetRudderObjectStoragePrefix() (prefix string)
- func GetStringifiedData(data interface{}) string
- func GetTagName(id string, names ...string) string
- func GetWarehouseURL() (url string)
- func HTTPCallWithRetryWithTimeout(url string, payload []byte, timeout time.Duration) ([]byte, int)
- func HasAWSKeysInConfig(config interface{}) bool
- func HasAWSRegionInConfig(config interface{}) bool
- func HasAWSRoleARNInConfig(configMap map[string]interface{}) bool
- func Init()
- func IntArrayToString(a []int64, delim string) string
- func IsConfiguredToUseRudderObjectStorage(storageConfig map[string]interface{}) bool
- func IsValidUUID(uuid string) bool
- func MakeHTTPRequestWithTimeout(url string, payload io.Reader, timeout time.Duration) ([]byte, int, error)
- func MakeJSONArray(bytesArray [][]byte) []byte
- func MapLookup(mapToLookup map[string]interface{}, keys ...string) interface{}
- func MergeMaps(maps ...map[string]interface{}) map[string]interface{}
- func QueryWithRetries[T any](parentContext context.Context, timeout time.Duration, maxAttempts int, ...) (T, error)
- func QueryWithRetriesAndNotify[T any](parentContext context.Context, timeout time.Duration, maxAttempts int, ...) (T, error)
- func QuoteLiteral(literal string) string
- func RecordAppError(err error)
- func RemoveContents(dir string) error
- func RemoveEmptyFolderStructureForFilePath(fp string)
- func RemoveFilePaths(filePaths ...string)
- func ReplaceDB(dbName, targetName string, c *config.Config)
- func ReplaceMultiRegex(str string, expList map[string]string) (string, error)
- func RetryWith(parentContext context.Context, timeout time.Duration, maxAttempts int, ...) error
- func RetryWithNotify(parentContext context.Context, timeout time.Duration, maxAttempts int, ...) error
- func RunWithTimeout(f, onTimeout func(), d time.Duration)
- func SingleQuoteLiteralJoin(slice []string) string
- func SleepCtx(ctx context.Context, delay time.Duration) error
- func TailTruncateStr(str string, count int) string
- func TruncateStr(str string, limit int) string
- func Unique(stringSlice []string) []string
- func UpdateJSONWithNewKeyVal(params []byte, key string, val interface{}) []byte
- func WithBugsnag(fn func() error) func() error
- func WithBugsnagForWarehouse(fn func() error) func() error
- type AsyncInit
- type BufferedWriter
- type DefaultString
- type ErrorStoreT
- type ExponentialNumber
- type GZipWriter
- type MapLookupError
- type Notify
- type Number
- type ObjectStorageOptsT
- type RFP
- type RudderError
- type WaitGroup
Constants ¶
const ( // RFC3339Milli with milli sec precision RFC3339Milli = "2006-01-02T15:04:05.000Z07:00" NOTIMEZONEFORMATPARSE = "2006-01-02T15:04:05" )
const ( RudderAsyncDestinationLogs = "rudder-async-destination-logs" RudderArchives = "rudder-archives" RudderWarehouseStagingUploads = "rudder-warehouse-staging-uploads" RudderRawDataDestinationLogs = "rudder-raw-data-destination-logs" RudderWarehouseLoadUploadsTmp = "rudder-warehouse-load-uploads-tmp" RudderIdentityMergeRulesTmp = "rudder-identity-merge-rules-tmp" RudderIdentityMappingsTmp = "rudder-identity-mappings-tmp" RudderRedshiftManifests = "rudder-redshift-manifests" RudderWarehouseJsonUploadsTmp = "rudder-warehouse-json-uploads-tmp" RudderTestPayload = "rudder-test-payload" )
Variables ¶
var (
AppStartTime int64
)
Functions ¶
func BatchDestinations ¶ added in v1.3.0
func BatchDestinations() []string
func BugsnagNotify ¶ added in v0.1.10
func ConcatErrors ¶ added in v0.1.10
func ConvertInterfaceToStringArray ¶ added in v0.1.10
func ConvertInterfaceToStringArray(input []interface{}) []string
func ConvertStringInterfaceToIntArray ¶ added in v0.1.10
func Copy ¶
func Copy(dst, src interface{})
Copy copies the exported fields from src to dest Used for copying the default transport
func CopyStringMap ¶ added in v0.1.10
func CreateTMPDIR ¶
CreateTMPDIR creates tmp dir at path configured via RUDDER_TMPDIR env var
func DiskUsage ¶ added in v1.8.0
DiskUsage calculates the path's disk usage recursively in bytes. If exts are provided, only files with matching extensions will be included in the result.
func GetBadgerDBUsage ¶ added in v1.8.0
func GetChronologicalTimeStamp ¶
Returns chronological timestamp of the event using the formula timestamp = receivedAt - (sentAt - originalTimestamp)
func GetConnectionString ¶ added in v1.2.0
GetConnectionString Returns Jobs DB connection configuration
func GetDiskUsageOfFile ¶ added in v1.8.0
func GetIPFromReq ¶
GetIPFromReq gets ip address from request
func GetInstanceID ¶ added in v1.8.0
func GetInstanceID() string
func GetJsonSchemaDTFromGoDT ¶ added in v0.1.10
GetJsonSchemaDTFromGoDT returns the json schema supported data types from go lang supported data types. References: 1. Go supported types: https://golangbyexample.com/all-data-types-in-golang-with-examples/ 2. Json schema supported types: https://json-schema.org/understanding-json-schema/reference/type.html
func GetMD5Hash ¶
GetMD5Hash returns EncodeToString(md5 hash of the input string)
func GetMD5UUID ¶ added in v0.1.10
GetMD5UUID hashes the given string into md5 and returns it as auuid
func GetMacAddress ¶
func GetMacAddress() string
func GetMandatoryJSONFieldNames ¶ added in v0.1.10
func GetMandatoryJSONFieldNames(st interface{}) []string
GetMandatoryJSONFieldNames returns all the json field names defined against the json tag for each field.
func GetObjectStorageConfig ¶ added in v0.1.10
func GetObjectStorageConfig(opts ObjectStorageOptsT) map[string]interface{}
func GetParsedTimestamp ¶ added in v0.1.10
GetParsedTimestamp returns the parsed timestamp
func GetRudderEventVal ¶
func GetRudderEventVal(key string, rudderEvent types.SingularEventT) (interface{}, bool)
GetRudderEventVal returns the value corresponding to the key in the message structure
func GetRudderObjectStorageAccessKeys ¶ added in v0.1.10
func GetRudderObjectStorageAccessKeys() (accessKeyID, accessKey string)
func GetRudderObjectStorageConfig ¶ added in v0.1.10
func GetRudderObjectStoragePrefix ¶ added in v0.1.10
func GetRudderObjectStoragePrefix() (prefix string)
func GetStringifiedData ¶ added in v0.1.10
func GetStringifiedData(data interface{}) string
func GetTagName ¶ added in v0.1.10
GetTagName gets the tag name using a uuid and name
func GetWarehouseURL ¶ added in v0.1.10
func GetWarehouseURL() (url string)
func HTTPCallWithRetryWithTimeout ¶ added in v0.1.10
func HasAWSKeysInConfig ¶ added in v0.1.10
func HasAWSKeysInConfig(config interface{}) bool
func HasAWSRegionInConfig ¶ added in v0.1.10
func HasAWSRegionInConfig(config interface{}) bool
func HasAWSRoleARNInConfig ¶ added in v1.2.0
func IntArrayToString ¶ added in v0.1.10
func IsConfiguredToUseRudderObjectStorage ¶ added in v0.1.10
func IsValidUUID ¶ added in v0.1.10
IsValidUUID will check if provided string is a valid UUID
func MakeHTTPRequestWithTimeout ¶ added in v0.1.10
func MakeJSONArray ¶ added in v0.1.10
func MapLookup ¶ added in v0.1.10
MapLookup returns the value of the key in the map, or nil if the key is not present.
If multiple keys are provided then it looks for nested maps recursively.
func QueryWithRetries ¶ added in v1.1.0
func QueryWithRetriesAndNotify ¶ added in v1.2.0
func QuoteLiteral ¶ added in v0.1.10
func RecordAppError ¶
func RecordAppError(err error)
RecordAppError appends the error occurred to error_store.json
func RemoveContents ¶ added in v1.12.0
RemoveContents removes all the contents of the directory
func RemoveEmptyFolderStructureForFilePath ¶ added in v0.1.10
func RemoveEmptyFolderStructureForFilePath(fp string)
RemoveEmptyFolderStructureForFilePath recursively cleans up everything till it reaches the stage where the folders are not empty or parent.
func RemoveFilePaths ¶
func RemoveFilePaths(filePaths ...string)
RemoveFilePaths removes filePaths as well as cleans up the empty folder structure.
func ReplaceDB ¶
ReplaceDB : Rename the OLD DB and create a new one. Since we are not journaling, this should be idemponent
func ReplaceMultiRegex ¶
func RetryWithNotify ¶ added in v1.2.0
func RetryWithNotify(parentContext context.Context, timeout time.Duration, maxAttempts int, f func(ctx context.Context) error, notify Notify) error
RetryWithNotify retries a function f with a timeout and a maximum number of attempts & calls notify on each failure.
func RunWithTimeout ¶ added in v0.1.10
RunWithTimeout runs provided function f until provided timeout d. If the timeout is reached, onTimeout callback will be called.
func SingleQuoteLiteralJoin ¶ added in v0.1.10
func SleepCtx ¶ added in v0.1.10
SleepCtx sleeps for the given duration or until the context is canceled.
the context error is returned if context is canceled.
func TailTruncateStr ¶ added in v0.1.10
TailTruncateStr returns the last `count` digits of a string
func TruncateStr ¶
func UpdateJSONWithNewKeyVal ¶ added in v0.1.10
UpdateJSONWithNewKeyVal enhances the json passed with key, val
func WithBugsnag ¶ added in v0.1.10
func WithBugsnagForWarehouse ¶ added in v0.1.10
Types ¶
type AsyncInit ¶ added in v1.6.0
type AsyncInit struct {
// contains filtered or unexported fields
}
AsyncInit is a helper object to wait for multiple asynchronous initialization events.
func NewAsyncInit ¶ added in v1.6.0
NewAsyncInit returns a new AsyncInit object with the given expected initialization events count.
func (*AsyncInit) Done ¶ added in v1.6.0
func (ia *AsyncInit) Done()
Done decrements the initialization events count
type BufferedWriter ¶ added in v0.1.10
func CreateBufferedWriter ¶ added in v0.1.10
func CreateBufferedWriter(s string) (w BufferedWriter, err error)
func (BufferedWriter) Close ¶ added in v0.1.10
func (b BufferedWriter) Close() error
func (BufferedWriter) GetFile ¶ added in v0.1.10
func (b BufferedWriter) GetFile() *os.File
type DefaultString ¶ added in v0.1.10
type DefaultString string
DefaultString is a utility type for providing default values using one-liners in otherwise multi-line scenarios.
E.g. this
v := misc.DefaultString("unknown").OnError(os.Hostname())
is the equivalent of
v, err := os.Hostname() if err != nil { v = "unknown" }
type ErrorStoreT ¶
type ErrorStoreT struct {
Errors []RudderError
}
ErrorStoreT : DS to store the app errors
type ExponentialNumber ¶ added in v1.6.0
type ExponentialNumber[T Number] struct { // contains filtered or unexported fields }
ExponentialNumber is a simple exponentially increasing number.
func (*ExponentialNumber[T]) Next ¶ added in v1.6.0
func (expo *ExponentialNumber[T]) Next(min, max T) T
Next returns the next number, which is the previous one multiplied by 2, always abiding by the min and max provided.
func (*ExponentialNumber[T]) Reset ¶ added in v1.6.0
func (expo *ExponentialNumber[T]) Reset()
Reset resets the number to zero.
type GZipWriter ¶
func CreateGZ ¶
func CreateGZ(s string) (w GZipWriter, err error)
func (GZipWriter) Close ¶ added in v0.1.10
func (w GZipWriter) Close() error
func (GZipWriter) CloseGZ ¶
func (w GZipWriter) CloseGZ() error
func (GZipWriter) GetLoadFile ¶ added in v0.1.10
func (w GZipWriter) GetLoadFile() *os.File
func (GZipWriter) WriteGZ ¶
func (w GZipWriter) WriteGZ(s string) error
func (GZipWriter) WriteRow ¶ added in v0.1.10
func (GZipWriter) WriteRow(_ []interface{}) error
type MapLookupError ¶ added in v1.8.0
type MapLookupError struct { SearchKey string // indicates the searchkey which is not present in the map Err error // contains the error occurred string while looking up the key in the map Level int // indicates the nesting level at which error has occurred }
func NestedMapLookup ¶ added in v0.1.10
func NestedMapLookup(m map[string]interface{}, ks ...string) (interface{}, *MapLookupError)
NestedMapLookup m: a map from strings to other maps or values, of arbitrary depth ks: successive keys to reach an internal or leaf node (variadic) If an internal node is reached, will return the internal map
Returns: (Exactly one of these will be nil) rval: the target node (if found) err: an error created by fmt.Errorf
func (*MapLookupError) Error ¶ added in v1.8.0
func (e *MapLookupError) Error() string
type Number ¶ added in v1.6.0
type Number interface { constraints.Integer | constraints.Float }
type ObjectStorageOptsT ¶ added in v0.1.10
type RFP ¶ added in v0.1.10
type RFP struct {
// contains filtered or unexported fields
}
func GetReservedFolderPaths ¶ added in v0.1.10
func GetReservedFolderPaths() []*RFP
GetReservedFolderPaths returns all temporary folder paths.
type RudderError ¶
type RudderError struct { StartTime int64 CrashTime int64 ReadableStartTime string ReadableCrashTime string Message string StackTrace string Code int }
RudderError : to store rudder error
type WaitGroup ¶
type WaitGroup struct {
// contains filtered or unexported fields
}
func NewWaitGroup ¶
func NewWaitGroup() *WaitGroup