From a0f284c8ea809711eb7c9e1613484bbe19cf9618 Mon Sep 17 00:00:00 2001 From: ShiKhu Date: Wed, 22 Sep 2021 15:58:19 +0200 Subject: [PATCH] fix(backend): compile fix --- backend/pkg/messages/filters.go | 2 +- backend/pkg/messages/messages.go | 358 +++++++++++++++++++++++++++ backend/pkg/messages/read_message.go | 161 ++++++++++++ backend/services/db/main.go | 2 +- backend/services/ender/main.go | 2 +- backend/services/http/main.go | 2 +- backend/services/sink/main.go | 2 +- backend/services/storage/main.go | 2 +- 8 files changed, 525 insertions(+), 6 deletions(-) diff --git a/backend/pkg/messages/filters.go b/backend/pkg/messages/filters.go index 3aa209c42..80525a2cd 100644 --- a/backend/pkg/messages/filters.go +++ b/backend/pkg/messages/filters.go @@ -3,7 +3,7 @@ package messages func IsReplayerType(id uint64) bool { - return 0 == id || 2 == id || 4 == id || 5 == id || 6 == id || 7 == id || 8 == id || 9 == id || 10 == id || 11 == id || 12 == id || 13 == id || 14 == id || 15 == id || 16 == id || 18 == id || 19 == id || 20 == id || 22 == id || 37 == id || 38 == id || 39 == id || 40 == id || 41 == id || 44 == id || 45 == id || 46 == id || 47 == id || 48 == id || 49 == id || 54 == id || 55 == id || 59 == id || 69 == id || 70 == id + return 0 == id || 2 == id || 4 == id || 5 == id || 6 == id || 7 == id || 8 == id || 9 == id || 10 == id || 11 == id || 12 == id || 13 == id || 14 == id || 15 == id || 16 == id || 18 == id || 19 == id || 20 == id || 22 == id || 37 == id || 38 == id || 39 == id || 40 == id || 41 == id || 44 == id || 45 == id || 46 == id || 47 == id || 48 == id || 49 == id || 54 == id || 55 == id || 59 == id || 69 == id || 70 == id || 90 == id || 93 == id || 100 == id || 102 == id || 103 == id || 105 == id } func IsIOSType(id uint64) bool { diff --git a/backend/pkg/messages/messages.go b/backend/pkg/messages/messages.go index 10cb158ec..2f1865884 100644 --- a/backend/pkg/messages/messages.go +++ b/backend/pkg/messages/messages.go @@ -1192,3 +1192,361 @@ p = WriteUint(msg.ID, buf, p) return buf[:p] } +type IOSSessionStart struct { + *meta + Timestamp uint64 +ProjectID uint64 +TrackerVersion string +RevID string +UserUUID string +UserOS string +UserOSVersion string +UserDevice string +UserDeviceType string +UserCountry string +} +func (msg *IOSSessionStart) Encode() []byte{ + buf := make([]byte, 101 + len(msg.TrackerVersion)+ len(msg.RevID)+ len(msg.UserUUID)+ len(msg.UserOS)+ len(msg.UserOSVersion)+ len(msg.UserDevice)+ len(msg.UserDeviceType)+ len(msg.UserCountry)) + buf[0] = 90 + p := 1 + p = WriteUint(msg.Timestamp, buf, p) +p = WriteUint(msg.ProjectID, buf, p) +p = WriteString(msg.TrackerVersion, buf, p) +p = WriteString(msg.RevID, buf, p) +p = WriteString(msg.UserUUID, buf, p) +p = WriteString(msg.UserOS, buf, p) +p = WriteString(msg.UserOSVersion, buf, p) +p = WriteString(msg.UserDevice, buf, p) +p = WriteString(msg.UserDeviceType, buf, p) +p = WriteString(msg.UserCountry, buf, p) + return buf[:p] +} + +type IOSSessionEnd struct { + *meta + Timestamp uint64 +} +func (msg *IOSSessionEnd) Encode() []byte{ + buf := make([]byte, 11 ) + buf[0] = 91 + p := 1 + p = WriteUint(msg.Timestamp, buf, p) + return buf[:p] +} + +type IOSMetadata struct { + *meta + Timestamp uint64 +Length uint64 +Key string +Value string +} +func (msg *IOSMetadata) Encode() []byte{ + buf := make([]byte, 41 + len(msg.Key)+ len(msg.Value)) + buf[0] = 92 + p := 1 + p = WriteUint(msg.Timestamp, buf, p) +p = WriteUint(msg.Length, buf, p) +p = WriteString(msg.Key, buf, p) +p = WriteString(msg.Value, buf, p) + return buf[:p] +} + +type IOSCustomEvent struct { + *meta + Timestamp uint64 +Length uint64 +Name string +Payload string +} +func (msg *IOSCustomEvent) Encode() []byte{ + buf := make([]byte, 41 + len(msg.Name)+ len(msg.Payload)) + buf[0] = 93 + p := 1 + p = WriteUint(msg.Timestamp, buf, p) +p = WriteUint(msg.Length, buf, p) +p = WriteString(msg.Name, buf, p) +p = WriteString(msg.Payload, buf, p) + return buf[:p] +} + +type IOSUserID struct { + *meta + Timestamp uint64 +Length uint64 +Value string +} +func (msg *IOSUserID) Encode() []byte{ + buf := make([]byte, 31 + len(msg.Value)) + buf[0] = 94 + p := 1 + p = WriteUint(msg.Timestamp, buf, p) +p = WriteUint(msg.Length, buf, p) +p = WriteString(msg.Value, buf, p) + return buf[:p] +} + +type IOSUserAnonymousID struct { + *meta + Timestamp uint64 +Length uint64 +Value string +} +func (msg *IOSUserAnonymousID) Encode() []byte{ + buf := make([]byte, 31 + len(msg.Value)) + buf[0] = 95 + p := 1 + p = WriteUint(msg.Timestamp, buf, p) +p = WriteUint(msg.Length, buf, p) +p = WriteString(msg.Value, buf, p) + return buf[:p] +} + +type IOSScreenChanges struct { + *meta + Timestamp uint64 +SkipData []byte +} +func (msg *IOSScreenChanges) Encode() []byte{ + buf := make([]byte, 21 + len(msg.SkipData)) + buf[0] = 96 + p := 1 + p = WriteUint(msg.Timestamp, buf, p) +p = WriteData(msg.SkipData, buf, p) + return buf[:p] +} + +type IOSCrash struct { + *meta + Timestamp uint64 +Length uint64 +Name string +Reason string +Stacktrace string +} +func (msg *IOSCrash) Encode() []byte{ + buf := make([]byte, 51 + len(msg.Name)+ len(msg.Reason)+ len(msg.Stacktrace)) + buf[0] = 97 + p := 1 + p = WriteUint(msg.Timestamp, buf, p) +p = WriteUint(msg.Length, buf, p) +p = WriteString(msg.Name, buf, p) +p = WriteString(msg.Reason, buf, p) +p = WriteString(msg.Stacktrace, buf, p) + return buf[:p] +} + +type IOSScreenEnter struct { + *meta + Timestamp uint64 +Length uint64 +Title string +ViewName string +} +func (msg *IOSScreenEnter) Encode() []byte{ + buf := make([]byte, 41 + len(msg.Title)+ len(msg.ViewName)) + buf[0] = 98 + p := 1 + p = WriteUint(msg.Timestamp, buf, p) +p = WriteUint(msg.Length, buf, p) +p = WriteString(msg.Title, buf, p) +p = WriteString(msg.ViewName, buf, p) + return buf[:p] +} + +type IOSScreenLeave struct { + *meta + Timestamp uint64 +Length uint64 +Title string +ViewName string +} +func (msg *IOSScreenLeave) Encode() []byte{ + buf := make([]byte, 41 + len(msg.Title)+ len(msg.ViewName)) + buf[0] = 99 + p := 1 + p = WriteUint(msg.Timestamp, buf, p) +p = WriteUint(msg.Length, buf, p) +p = WriteString(msg.Title, buf, p) +p = WriteString(msg.ViewName, buf, p) + return buf[:p] +} + +type IOSClickEvent struct { + *meta + Timestamp uint64 +Length uint64 +Label string +X uint64 +Y uint64 +} +func (msg *IOSClickEvent) Encode() []byte{ + buf := make([]byte, 51 + len(msg.Label)) + buf[0] = 100 + p := 1 + p = WriteUint(msg.Timestamp, buf, p) +p = WriteUint(msg.Length, buf, p) +p = WriteString(msg.Label, buf, p) +p = WriteUint(msg.X, buf, p) +p = WriteUint(msg.Y, buf, p) + return buf[:p] +} + +type IOSInputEvent struct { + *meta + Timestamp uint64 +Length uint64 +Value string +ValueMasked bool +Label string +} +func (msg *IOSInputEvent) Encode() []byte{ + buf := make([]byte, 51 + len(msg.Value)+ len(msg.Label)) + buf[0] = 101 + p := 1 + p = WriteUint(msg.Timestamp, buf, p) +p = WriteUint(msg.Length, buf, p) +p = WriteString(msg.Value, buf, p) +p = WriteBoolean(msg.ValueMasked, buf, p) +p = WriteString(msg.Label, buf, p) + return buf[:p] +} + +type IOSPerformanceEvent struct { + *meta + Timestamp uint64 +Length uint64 +Name string +Value uint64 +} +func (msg *IOSPerformanceEvent) Encode() []byte{ + buf := make([]byte, 41 + len(msg.Name)) + buf[0] = 102 + p := 1 + p = WriteUint(msg.Timestamp, buf, p) +p = WriteUint(msg.Length, buf, p) +p = WriteString(msg.Name, buf, p) +p = WriteUint(msg.Value, buf, p) + return buf[:p] +} + +type IOSLog struct { + *meta + Timestamp uint64 +Length uint64 +Severity string +Content string +} +func (msg *IOSLog) Encode() []byte{ + buf := make([]byte, 41 + len(msg.Severity)+ len(msg.Content)) + buf[0] = 103 + p := 1 + p = WriteUint(msg.Timestamp, buf, p) +p = WriteUint(msg.Length, buf, p) +p = WriteString(msg.Severity, buf, p) +p = WriteString(msg.Content, buf, p) + return buf[:p] +} + +type IOSInternalError struct { + *meta + Timestamp uint64 +Length uint64 +Content string +} +func (msg *IOSInternalError) Encode() []byte{ + buf := make([]byte, 31 + len(msg.Content)) + buf[0] = 104 + p := 1 + p = WriteUint(msg.Timestamp, buf, p) +p = WriteUint(msg.Length, buf, p) +p = WriteString(msg.Content, buf, p) + return buf[:p] +} + +type IOSNetworkCall struct { + *meta + Timestamp uint64 +Length uint64 +Duration uint64 +Headers string +Body string +URL string +Success bool +Method string +Status uint64 +} +func (msg *IOSNetworkCall) Encode() []byte{ + buf := make([]byte, 91 + len(msg.Headers)+ len(msg.Body)+ len(msg.URL)+ len(msg.Method)) + buf[0] = 105 + p := 1 + p = WriteUint(msg.Timestamp, buf, p) +p = WriteUint(msg.Length, buf, p) +p = WriteUint(msg.Duration, buf, p) +p = WriteString(msg.Headers, buf, p) +p = WriteString(msg.Body, buf, p) +p = WriteString(msg.URL, buf, p) +p = WriteBoolean(msg.Success, buf, p) +p = WriteString(msg.Method, buf, p) +p = WriteUint(msg.Status, buf, p) + return buf[:p] +} + +type IOSPerformanceAggregated struct { + *meta + TimestampStart uint64 +TimestampEnd uint64 +MinFPS uint64 +AvgFPS uint64 +MaxFPS uint64 +MinCPU uint64 +AvgCPU uint64 +MaxCPU uint64 +MinMemory uint64 +AvgMemory uint64 +MaxMemory uint64 +MinBattery uint64 +AvgBattery uint64 +MaxBattery uint64 +} +func (msg *IOSPerformanceAggregated) Encode() []byte{ + buf := make([]byte, 141 ) + buf[0] = 110 + p := 1 + p = WriteUint(msg.TimestampStart, buf, p) +p = WriteUint(msg.TimestampEnd, buf, p) +p = WriteUint(msg.MinFPS, buf, p) +p = WriteUint(msg.AvgFPS, buf, p) +p = WriteUint(msg.MaxFPS, buf, p) +p = WriteUint(msg.MinCPU, buf, p) +p = WriteUint(msg.AvgCPU, buf, p) +p = WriteUint(msg.MaxCPU, buf, p) +p = WriteUint(msg.MinMemory, buf, p) +p = WriteUint(msg.AvgMemory, buf, p) +p = WriteUint(msg.MaxMemory, buf, p) +p = WriteUint(msg.MinBattery, buf, p) +p = WriteUint(msg.AvgBattery, buf, p) +p = WriteUint(msg.MaxBattery, buf, p) + return buf[:p] +} + +type IOSIssueEvent struct { + *meta + Timestamp uint64 +Type string +ContextString string +Context string +Payload string +} +func (msg *IOSIssueEvent) Encode() []byte{ + buf := make([]byte, 51 + len(msg.Type)+ len(msg.ContextString)+ len(msg.Context)+ len(msg.Payload)) + buf[0] = 111 + p := 1 + p = WriteUint(msg.Timestamp, buf, p) +p = WriteString(msg.Type, buf, p) +p = WriteString(msg.ContextString, buf, p) +p = WriteString(msg.Context, buf, p) +p = WriteString(msg.Payload, buf, p) + return buf[:p] +} + diff --git a/backend/pkg/messages/read_message.go b/backend/pkg/messages/read_message.go index 87993e9f3..5803e0051 100644 --- a/backend/pkg/messages/read_message.go +++ b/backend/pkg/messages/read_message.go @@ -532,6 +532,167 @@ if msg.Selector, err = ReadString(reader); err != nil { return nil, err } if msg.ID, err = ReadUint(reader); err != nil { return nil, err } return msg, nil + case 90: + msg := &IOSSessionStart{ meta: &meta{ TypeID: 90} } + if msg.Timestamp, err = ReadUint(reader); err != nil { return nil, err } +if msg.ProjectID, err = ReadUint(reader); err != nil { return nil, err } +if msg.TrackerVersion, err = ReadString(reader); err != nil { return nil, err } +if msg.RevID, err = ReadString(reader); err != nil { return nil, err } +if msg.UserUUID, err = ReadString(reader); err != nil { return nil, err } +if msg.UserOS, err = ReadString(reader); err != nil { return nil, err } +if msg.UserOSVersion, err = ReadString(reader); err != nil { return nil, err } +if msg.UserDevice, err = ReadString(reader); err != nil { return nil, err } +if msg.UserDeviceType, err = ReadString(reader); err != nil { return nil, err } +if msg.UserCountry, err = ReadString(reader); err != nil { return nil, err } + return msg, nil + + case 91: + msg := &IOSSessionEnd{ meta: &meta{ TypeID: 91} } + if msg.Timestamp, err = ReadUint(reader); err != nil { return nil, err } + return msg, nil + + case 92: + msg := &IOSMetadata{ meta: &meta{ TypeID: 92} } + if msg.Timestamp, err = ReadUint(reader); err != nil { return nil, err } +if msg.Length, err = ReadUint(reader); err != nil { return nil, err } +if msg.Key, err = ReadString(reader); err != nil { return nil, err } +if msg.Value, err = ReadString(reader); err != nil { return nil, err } + return msg, nil + + case 93: + msg := &IOSCustomEvent{ meta: &meta{ TypeID: 93} } + if msg.Timestamp, err = ReadUint(reader); err != nil { return nil, err } +if msg.Length, err = ReadUint(reader); err != nil { return nil, err } +if msg.Name, err = ReadString(reader); err != nil { return nil, err } +if msg.Payload, err = ReadString(reader); err != nil { return nil, err } + return msg, nil + + case 94: + msg := &IOSUserID{ meta: &meta{ TypeID: 94} } + if msg.Timestamp, err = ReadUint(reader); err != nil { return nil, err } +if msg.Length, err = ReadUint(reader); err != nil { return nil, err } +if msg.Value, err = ReadString(reader); err != nil { return nil, err } + return msg, nil + + case 95: + msg := &IOSUserAnonymousID{ meta: &meta{ TypeID: 95} } + if msg.Timestamp, err = ReadUint(reader); err != nil { return nil, err } +if msg.Length, err = ReadUint(reader); err != nil { return nil, err } +if msg.Value, err = ReadString(reader); err != nil { return nil, err } + return msg, nil + + case 96: + msg := &IOSScreenChanges{ meta: &meta{ TypeID: 96} } + if msg.Timestamp, err = ReadUint(reader); err != nil { return nil, err } +if msg.SkipData, err = ReadData(reader); err != nil { return nil, err } + return msg, nil + + case 97: + msg := &IOSCrash{ meta: &meta{ TypeID: 97} } + if msg.Timestamp, err = ReadUint(reader); err != nil { return nil, err } +if msg.Length, err = ReadUint(reader); err != nil { return nil, err } +if msg.Name, err = ReadString(reader); err != nil { return nil, err } +if msg.Reason, err = ReadString(reader); err != nil { return nil, err } +if msg.Stacktrace, err = ReadString(reader); err != nil { return nil, err } + return msg, nil + + case 98: + msg := &IOSScreenEnter{ meta: &meta{ TypeID: 98} } + if msg.Timestamp, err = ReadUint(reader); err != nil { return nil, err } +if msg.Length, err = ReadUint(reader); err != nil { return nil, err } +if msg.Title, err = ReadString(reader); err != nil { return nil, err } +if msg.ViewName, err = ReadString(reader); err != nil { return nil, err } + return msg, nil + + case 99: + msg := &IOSScreenLeave{ meta: &meta{ TypeID: 99} } + if msg.Timestamp, err = ReadUint(reader); err != nil { return nil, err } +if msg.Length, err = ReadUint(reader); err != nil { return nil, err } +if msg.Title, err = ReadString(reader); err != nil { return nil, err } +if msg.ViewName, err = ReadString(reader); err != nil { return nil, err } + return msg, nil + + case 100: + msg := &IOSClickEvent{ meta: &meta{ TypeID: 100} } + if msg.Timestamp, err = ReadUint(reader); err != nil { return nil, err } +if msg.Length, err = ReadUint(reader); err != nil { return nil, err } +if msg.Label, err = ReadString(reader); err != nil { return nil, err } +if msg.X, err = ReadUint(reader); err != nil { return nil, err } +if msg.Y, err = ReadUint(reader); err != nil { return nil, err } + return msg, nil + + case 101: + msg := &IOSInputEvent{ meta: &meta{ TypeID: 101} } + if msg.Timestamp, err = ReadUint(reader); err != nil { return nil, err } +if msg.Length, err = ReadUint(reader); err != nil { return nil, err } +if msg.Value, err = ReadString(reader); err != nil { return nil, err } +if msg.ValueMasked, err = ReadBoolean(reader); err != nil { return nil, err } +if msg.Label, err = ReadString(reader); err != nil { return nil, err } + return msg, nil + + case 102: + msg := &IOSPerformanceEvent{ meta: &meta{ TypeID: 102} } + if msg.Timestamp, err = ReadUint(reader); err != nil { return nil, err } +if msg.Length, err = ReadUint(reader); err != nil { return nil, err } +if msg.Name, err = ReadString(reader); err != nil { return nil, err } +if msg.Value, err = ReadUint(reader); err != nil { return nil, err } + return msg, nil + + case 103: + msg := &IOSLog{ meta: &meta{ TypeID: 103} } + if msg.Timestamp, err = ReadUint(reader); err != nil { return nil, err } +if msg.Length, err = ReadUint(reader); err != nil { return nil, err } +if msg.Severity, err = ReadString(reader); err != nil { return nil, err } +if msg.Content, err = ReadString(reader); err != nil { return nil, err } + return msg, nil + + case 104: + msg := &IOSInternalError{ meta: &meta{ TypeID: 104} } + if msg.Timestamp, err = ReadUint(reader); err != nil { return nil, err } +if msg.Length, err = ReadUint(reader); err != nil { return nil, err } +if msg.Content, err = ReadString(reader); err != nil { return nil, err } + return msg, nil + + case 105: + msg := &IOSNetworkCall{ meta: &meta{ TypeID: 105} } + if msg.Timestamp, err = ReadUint(reader); err != nil { return nil, err } +if msg.Length, err = ReadUint(reader); err != nil { return nil, err } +if msg.Duration, err = ReadUint(reader); err != nil { return nil, err } +if msg.Headers, err = ReadString(reader); err != nil { return nil, err } +if msg.Body, err = ReadString(reader); err != nil { return nil, err } +if msg.URL, err = ReadString(reader); err != nil { return nil, err } +if msg.Success, err = ReadBoolean(reader); err != nil { return nil, err } +if msg.Method, err = ReadString(reader); err != nil { return nil, err } +if msg.Status, err = ReadUint(reader); err != nil { return nil, err } + return msg, nil + + case 110: + msg := &IOSPerformanceAggregated{ meta: &meta{ TypeID: 110} } + if msg.TimestampStart, err = ReadUint(reader); err != nil { return nil, err } +if msg.TimestampEnd, err = ReadUint(reader); err != nil { return nil, err } +if msg.MinFPS, err = ReadUint(reader); err != nil { return nil, err } +if msg.AvgFPS, err = ReadUint(reader); err != nil { return nil, err } +if msg.MaxFPS, err = ReadUint(reader); err != nil { return nil, err } +if msg.MinCPU, err = ReadUint(reader); err != nil { return nil, err } +if msg.AvgCPU, err = ReadUint(reader); err != nil { return nil, err } +if msg.MaxCPU, err = ReadUint(reader); err != nil { return nil, err } +if msg.MinMemory, err = ReadUint(reader); err != nil { return nil, err } +if msg.AvgMemory, err = ReadUint(reader); err != nil { return nil, err } +if msg.MaxMemory, err = ReadUint(reader); err != nil { return nil, err } +if msg.MinBattery, err = ReadUint(reader); err != nil { return nil, err } +if msg.AvgBattery, err = ReadUint(reader); err != nil { return nil, err } +if msg.MaxBattery, err = ReadUint(reader); err != nil { return nil, err } + return msg, nil + + case 111: + msg := &IOSIssueEvent{ meta: &meta{ TypeID: 111} } + if msg.Timestamp, err = ReadUint(reader); err != nil { return nil, err } +if msg.Type, err = ReadString(reader); err != nil { return nil, err } +if msg.ContextString, err = ReadString(reader); err != nil { return nil, err } +if msg.Context, err = ReadString(reader); err != nil { return nil, err } +if msg.Payload, err = ReadString(reader); err != nil { return nil, err } + return msg, nil + } return nil, fmt.Errorf("Unknown message code: %v", t) } diff --git a/backend/services/db/main.go b/backend/services/db/main.go index 8594b0784..a2cef41b3 100644 --- a/backend/services/db/main.go +++ b/backend/services/db/main.go @@ -17,7 +17,7 @@ import ( "openreplay/backend/services/db/heuristics" ) - + var pg *cache.PGCache func main() { diff --git a/backend/services/ender/main.go b/backend/services/ender/main.go index c7f22e6d7..e99c6866c 100644 --- a/backend/services/ender/main.go +++ b/backend/services/ender/main.go @@ -15,7 +15,7 @@ import ( "openreplay/backend/pkg/queue/types" "openreplay/backend/services/ender/builder" ) - + func main() { log.SetFlags(log.LstdFlags | log.LUTC | log.Llongfile) diff --git a/backend/services/http/main.go b/backend/services/http/main.go index dc2eb1720..29181718f 100644 --- a/backend/services/http/main.go +++ b/backend/services/http/main.go @@ -24,7 +24,7 @@ import ( "openreplay/backend/services/http/uaparser" ) - + var rewriter *assets.Rewriter var producer types.Producer var pgconn *cache.PGCache diff --git a/backend/services/sink/main.go b/backend/services/sink/main.go index ae8a2b572..52227805f 100644 --- a/backend/services/sink/main.go +++ b/backend/services/sink/main.go @@ -16,7 +16,7 @@ import ( ) - + func main() { log.SetFlags(log.LstdFlags | log.LUTC | log.Llongfile) diff --git a/backend/services/storage/main.go b/backend/services/storage/main.go index 03474133b..5033fb845 100644 --- a/backend/services/storage/main.go +++ b/backend/services/storage/main.go @@ -17,7 +17,7 @@ import ( ) - + func main() { log.SetFlags(log.LstdFlags | log.LUTC | log.Llongfile)