misc

package
v0.1.9-patch-02 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 20, 2020 License: AGPL-3.0 Imports: 25 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// RFC3339Milli with milli sec precision
	RFC3339Milli = "2006-01-02T15:04:05.000Z07:00"
)

Variables

View Source
var AppStartTime int64

Functions

func AddFileToZip

func AddFileToZip(zipWriter *zip.Writer, filename string) error

AddFileToZip adds file to zip including size header stats

func AssertErrorIfDev

func AssertErrorIfDev(err error)

func Contains

func Contains(in interface{}, elem interface{}) bool

Contains returns true if an element is present in a iteratee. https://github.com/thoas/go-funk

func ContainsString

func ContainsString(slice []string, str string) bool

func Copy

func Copy(dst, src interface{})

Copy copies the exported fields from src to dest Used for copying the default transport

func CreateTMPDIR

func CreateTMPDIR() (string, error)

CreateTMPDIR creates tmp dir at path configured via RUDDER_TMPDIR env var

func GetAnonymousID

func GetAnonymousID(event interface{}) (string, bool)

GetAnonymousID return the UserID from the object

func GetChronologicalTimeStamp

func GetChronologicalTimeStamp(receivedAt, sentAt, originalTimestamp time.Time) time.Time

 Returns chronological timestamp of the event using the formula  timestamp = receivedAt - (sentAt - originalTimestamp)

func GetIPFromReq

func GetIPFromReq(req *http.Request) string

GetIPFromReq gets ip address from request

func GetMD5Hash

func GetMD5Hash(input string) string

GetMD5Hash returns EncodeToString(md5 hash of the input string)

func GetMacAddress

func GetMacAddress() string

func GetOutboundIP

func GetOutboundIP() (net.IP, error)

GetOutboundIP returns preferred outbound ip of this machine https://stackoverflow.com/a/37382208

func GetRudderEventMap

func GetRudderEventMap(rudderEvent interface{}) (map[string]interface{}, bool)

GetRudderEventMap returns the event structure from the client payload

func GetRudderEventVal

func GetRudderEventVal(key string, rudderEvent interface{}) (interface{}, bool)

GetRudderEventVal returns the value corresponding to the key in the message structure

func IncrementMapByKey

func IncrementMapByKey(m map[string]int, key string, increment int)

IncrementMapByKey starts with 1 and increments the counter of a key

func IsPostgresCompatible

func IsPostgresCompatible(connInfo string) bool

IsPostgresCompatible checks the if the version of postgres is greater than minPostgresVersion

func KeepProcessAlive

func KeepProcessAlive()

func MapStringKeys

func MapStringKeys(input map[string]interface{}) []string

func ParseRudderEventBatch

func ParseRudderEventBatch(eventPayload json.RawMessage) ([]interface{}, bool)

ParseRudderEventBatch looks for the batch structure inside event

func PrintMemUsage

func PrintMemUsage()

PrintMemUsage outputs the current, total and OS memory being used. As well as the number of garage collection cycles completed.

func ReadLines

func ReadLines(path string) ([]string, error)

ReadLines reads a whole file into memory and returns a slice of its lines.

func RecordAppError

func RecordAppError(err error)

RecordAppError appends the error occured to error_store.json

func RemoveFilePaths

func RemoveFilePaths(filepaths ...string)

func ReplaceDB

func ReplaceDB(dbName, targetName string)

ReplaceDB : Rename the OLD DB and create a new one. Since we are not journaling, this should be idemponent

func ReplaceMultiRegex

func ReplaceMultiRegex(str string, expList map[string]string) (string, error)

func SortedMapKeys

func SortedMapKeys(input interface{}) []string

func SortedStructSliceValues

func SortedStructSliceValues(input interface{}, filedName string) []string

func StringKeys

func StringKeys(input interface{}) []string

func TruncateStr

func TruncateStr(str string, limit int) string

func UnZipSingleFile

func UnZipSingleFile(outputfile string, filename string)

UnZipSingleFile unzips zip containing single file into ouputfile path passed

func ZipFiles

func ZipFiles(filename string, files []string) error

ZipFiles compresses files[] into zip at filename

Types

type ErrorStoreT

type ErrorStoreT struct {
	Errors []RudderError
}

ErrorStoreT : DS to store the app errors

type GZipWriter

type GZipWriter struct {
	File      *os.File
	GzWriter  *gzip.Writer
	BufWriter *bufio.Writer
}

func CreateGZ

func CreateGZ(s string) (w GZipWriter, err error)

func (GZipWriter) CloseGZ

func (w GZipWriter) CloseGZ()

func (GZipWriter) Write

func (w GZipWriter) Write(b []byte)

func (GZipWriter) WriteGZ

func (w GZipWriter) WriteGZ(s string)

type PerfStats

type PerfStats struct {
	// contains filtered or unexported fields
}

PerfStats is the class for managing performance stats. Not multi-threaded safe now

func (*PerfStats) End

func (stats *PerfStats) End(events int)

End marks the end of one round of stat collection. events is number of events processed since start

func (*PerfStats) Print

func (stats *PerfStats) Print()

Print displays the stats

func (*PerfStats) Setup

func (stats *PerfStats) Setup(comp string)

Setup initializes the stat collector

func (*PerfStats) Start

func (stats *PerfStats) Start()

Start marks the start of event collection

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

func (*WaitGroup) Add

func (wg *WaitGroup) Add(delta int)

func (*WaitGroup) Done

func (wg *WaitGroup) Done()

func (*WaitGroup) Err

func (wg *WaitGroup) Err(err error)

func (*WaitGroup) Wait

func (wg *WaitGroup) Wait() error

func (*WaitGroup) WaitForAll

func (wg *WaitGroup) WaitForAll() []error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL