* change(ui) - redirect to the landing url on SSO login
* fix(ui): fix share popup styles
* change(ui) - non admin user preference restrictions
* fix(ui) - redirect fix
* change(ui) - show installation btn without mouse hover
* feat(api): api-v1 handle wrong projectKey
feat(api): api-v1 get live sessions
* change(ui) - show role edit on hover
* change(ui) - audit trail count with comma
* fix(ui) - audit trail date range custom picker alignment
* change(ui) - show a message when mob file not found
* feat(api): api-v1 fixed search live sessions
* feat(api): api-v1 handle wrong projectKey
* feat(api): fixed assist error response
* fix(tracker): check node scrolls only on start
* fixup! fix(tracker): check node scrolls only on start
* feat(ui/player): scroll view in click map
* feat(ui/player): rm unused check
* New configuration module (#558)
* ci(dbmigrate): Create db migrate when there is change
Signed-off-by: rjshrjndrn <rjshrjndrn@gmail.com>
* fix(ui): fix login error/button margins
* fix(ui) - checkbox click
* fix(ui) - search rename and save fixes
* change(ui) - text changes
* fix(ui) - button text nowrap
* fix(ui): fix slowestdomains widget height
* change(ui) - ignore clicks while annotating
* change(ui) - if block with braces
* change(ui) - capitalize first letter in breadcrumb
* feat(db): remove errors from permissions
feat(api): remove errors from permissions
* feat(api): changed reset password response
* fix(ui) - assist active tab list, broken after with new api changes (pagination)
* fix(ui) - assist active tab list, broken after with new api changes (pagination)
* change(ui) - search compare
* fix(ui): last fixes for 1.7
* fix(ui): fix timeline
* fix(ui): small code fixes
* fix(ui): remove unused
* feat(frontend/assist): show when client tab is inactive + fix reconnection status update
* fix(ui) - visibility settings
* feat(assist): refactored extractSessionInfo
feat(assist): hardcoded session's attributes
* Added snabbdom (JS)
* fix(tracker): version check works with x.x.x-beta versions
* fix(backend): keep the highest user's timestamp instead of the latest message timestamp for correct session duration value
* feat(backend/s3): added file tag RETENTION (#561)
* change(ui) - search optimization and autocomplete improvements
* feat(backend/assets): added new metrics assets_downloaded
* change(ui) - show back the date range in bookmarks since the api is filtering by daterange
* feat(backend-assets): custom headers for cacher requests
* chore(backend): no tidy in dockerfile (local build speed up)
* feat(backend/assets): added proxy support for cacher module
* feat(backend/storage): set retention env variable as not required
* fix(ui): fix jira issues
* ci(helm): use kubectl for deployment
Signed-off-by: rjshrjndrn <rjshrjndrn@gmail.com>
* feat(tracker):3.5.13: performance improvements for a case of extensive dom
* fix(backend): added missed err var and continue statement
* ci(helm): forcing namespace
Signed-off-by: rjshrjndrn <rjshrjndrn@gmail.com>
* feat(api): fixed slowest_domains query
* ci(helm): update helm deployment method
Signed-off-by: rjshrjndrn <rjshrjndrn@gmail.com>
* change(ui) - filter dropdown colros
* fix(ui) - speed index location avg attribute changed to value
* ci(api): enable kubectl apply
Signed-off-by: rjshrjndrn <rjshrjndrn@gmail.com>
* fix(ui) - widget y axis label
* feat(api): fixed slowest_domains query
* chore(helm): Adding namespaces to all templates (#565)
* feat(api): assist type-autocomplete
* feat(api): assist global-autocomplete
* feat(sourcemaps): include wasm file in build
* feat(sourcemaps-reader): refactored
* fix(ui): fix data for funnels
* fix(ui): fix all sessions section margin
* fix(ui) - assist loader flag
* fix(ui) - assist loader flag
* fix(ui): fix weird check
* feat(api): autocomplete accept unsupported types
* feat(ui): migrate to yarn v3
* feat(ui): minor fixes for installment
* feat(ui): add typescript plugin to yarn
* chore(helm): Ability to override image registry
* chore(helm): Overriding openreplay docker registry
Signed-off-by: rjshrjndrn <rjshrjndrn@gmail.com>
* fix(ui): fix control arrows on firefox
* feat(crons): EE crons
* feat(api): fixed build script
* feat(alerts): fixed build script
* feat(crons): fixed build script
* chore(helm): Updating cron version
Signed-off-by: rjshrjndrn <rjshrjndrn@gmail.com>
* feat(crons): changes
* chore(helm): optional minio ingress
Signed-off-by: rjshrjndrn <rjshrjndrn@gmail.com>
* feat(crons): fix build script
feat(alerts): fix build script
* Revert "chore(helm): Updating cron version"
This reverts commit 3ca190ea2f.
* feat(crons): fix build script
* feat(crons): fix Dockerfile
* feat(api): fixed metadata change-case
* change(ui) - remove capitalize for the meta value
* change(ui) - autocomplete improvements with custom textfield
* fix(tracker):3.5.13+:reuse metadata on internal-caused restarts
* fix(tracker-assist):3.5.13:send active:true on start; scroll behavior fix
* change(ui) - filters autocomplete blur on pressing Enter key
* fix(tracker): fix node v to lower
* fix(tracker): fix deps
* fix(tracker): fix deps
* fix(ui) - dashboard modal width
* change(ui) - filter dropdown overflow
* chore(helm): clickhouse reclaim polity to retain
Signed-off-by: rjshrjndrn <rjshrjndrn@gmail.com>
* fix(tracker): fix engine max v
* fix(ui): load metadata in assist tab for sorting
* fix(ui): rm unneeded api call
* fix(tracker): build script to cjs
* change(ui) - removed sample data
* chore(tracker): remove upper node version limit
* Updating Beacon size
Beacon size should be <= QUEUE_MESSAGE_SIZE_LIMIT
* feat(crons): run 24/7
feat(alerts): support env-file override
* feat(api): changed EE env handler
* fix(ui): fix sessions search modal
* change(ui) - margin for error message
* change(ui) - disable assist sort when there are no meta options to choose
* chore(helm): Adding utilities service namespace
Signed-off-by: rjshrjndrn <rjshrjndrn@gmail.com>
* fix(ui) - dashboard date range selection reload, metric not found message
* change(ui) - disable clearsearch in assist when there are no filters\
* feat(api): fixed EE env handler
* chore(helm): Adding migration namespaces
Signed-off-by: rjshrjndrn <rjshrjndrn@gmail.com>
* fix(ui) - report logo path
* chore(helm): Removing unnecessary SA
Signed-off-by: rjshrjndrn <rjshrjndrn@gmail.com>
* feat(api): changed EE env handler
* feat(api): changed EE env handler
* feat(api): changed EE env handler
* feat(api): changed EE env handler
* feat(crons): changed crons
* feat(api): accept wrong metric_id
* feat(crons): changed env handler
feat(api): changed env handler
feat(alerts): changed env handler
* feat(utilities): support old version of nodejs
* feat(crons): changed env handler
feat(api): changed env handler
feat(alerts): changed env handler
* fix(tracker): fix srcset tracking
* chore(build): Adding frontent
Signed-off-by: rjshrjndrn <rjshrjndrn@gmail.com>
* feat(assist): changed general helper
* feat(assist): changed general helper
* fix(ui): fix widget pagination (#570)
* feat(crons): changed entrypoint
* feat(player): dev-log on skipping message
* fix(tracker): removeNode mutation priority over attributes
* fix(tracker): capture relative img timing;use startsWith instead of substr; codestyle fix
* chore(build): fixing api build script
Signed-off-by: rjshrjndrn <rjshrjndrn@gmail.com>
* chore(ci): faster deployment
Signed-off-by: rjshrjndrn <rjshrjndrn@gmail.com>
* change(ui) - assist list show active status
* chore(actions): option to build all/specific services in GH
Signed-off-by: rjshrjndrn <rjshrjndrn@gmail.com>
* fix(ui) - slowest domain metric data as per the api changes
* ci(helm): updated variable name
Signed-off-by: rjshrjndrn <rjshrjndrn@gmail.com>
* ci(backend): cherrypick changes to ee
Signed-off-by: rjshrjndrn <rjshrjndrn@gmail.com>
* feat(backend): disabled pprof in http service
* fix(ui) - TimeToRender avg value as per the API change
* fix(ui) - ResponseTimeDistribution avg value as per the API change
* fix(ui) - MemoryConsumption avg value as per the API change
* fix(ui) - ResponseTime avg value as per the API change
* fix(ui) - DomBuildTime avg value as per the API change
* fix(ui) - FrameRate avg value as per the API change
* chore(helm): proper default tag
Signed-off-by: rjshrjndrn <rjshrjndrn@gmail.com>
* feat(backend): removed sensitive information from http logs
* ci(backend): adding default parameter value for workflow dispatch
Signed-off-by: rjshrjndrn <rjshrjndrn@gmail.com>
* fix(backend): deleted empty file
* fix(actions): creating image source file prior
Signed-off-by: rjshrjndrn <rjshrjndrn@gmail.com>
* fix(helm): variable substitution
Signed-off-by: rjshrjndrn <rjshrjndrn@gmail.com>
* change(ui) - project list item installation button text change
* fix(ui) - project create validation
* fix(backend): removed unsafe string logs in http service
* chore(kafka): Adding new topic
Signed-off-by: rjshrjndrn <rjshrjndrn@gmail.com>
* fix(efs-cron): variable name
Signed-off-by: rjshrjndrn <rjshrjndrn@gmail.com>
* fix(ui) - developer tools - hint links
* fix(ui) - session filters - country and platform dropdown values
* chore(helm): updating version
* chore(kafka): Update kafka default message size while provisioning
Signed-off-by: rjshrjndrn <rjshrjndrn@gmail.com>
* fix(tracker): fix dependency security
* change(ui) - webhook delete confirmation
* change(ui) - assist url to handle when empty
* feat(api): autocomplete replace console with errors
feat(DB): clean extra files
* chore(helm): Adding cron jobs
* change(ui) - set changed flag to false after the metric delete to avoid prompt
* chore(helm): enbaling cron only for ee
Signed-off-by: rjshrjndrn <rjshrjndrn@gmail.com>
* feat(api): autocomplete remove console
* change(ui) - removed Console filter type
* fix(ui) - timeline position
* fix(helm): RFC naming
Signed-off-by: rjshrjndrn <rjshrjndrn@gmail.com>
* fix(ui): let user change project in dashboards and select default dashboard
* chore(helm): update registry url
Signed-off-by: rjshrjndrn <rjshrjndrn@gmail.com>
* feat(DB): return pages_count to DB
* fix(ui) - account settings opt out checkbox
* fix(ui): fix modal width
* fix(ui) - explore circle bg
* fix(ui) - user name overlap
* fix(ui) - empty dashboards create button
* fix(ui): fix timeline position cursor for safari
* fix(ui) - custom metrics errors modal url reset on close
* fix(ui) - onboarding check for siteId
* change(ui) - tracker version
* Update local_deploy.sh
* fix(ui) - drilldown timestamp
* fix(tracker): fix deps for assist
* fix(tracker): update peerjs library
* fix(tracker): update assist v
* fix(tracker): fix type error
* fix(backend): no missing resource relying on resource zero-timing
* Update tracker to v3.5.15
* chore(helm): Adding CSP override variable.
Signed-off-by: rjshrjndrn <rjshrjndrn@gmail.com>
* feat(backend): added pem file support for kafka ssl setup
* feat(backend): added useBatch setup for kafka producer
* ci(backend): set verbose logging
Signed-off-by: rjshrjndrn <rjshrjndrn@gmail.com>
* fix(backend): using setKey instead of direct writes
* ci(backend): fix error code
* ci(deploy): Updating the image registry
Signed-off-by: rjshrjndrn <rjshrjndrn@gmail.com>
* feat(api): changed get user id alias
* ci(frontent): removing depricated steps
Signed-off-by: rjshrjndrn <rjshrjndrn@gmail.com>
* ci(fix): variable replace
Signed-off-by: rjshrjndrn <rjshrjndrn@gmail.com>
* ci(helm): creating image image_override
Signed-off-by: rjshrjndrn <rjshrjndrn@gmail.com>
* fix(ui): fix timezone settings
* Added failover mechanism for storage service (#576)
* fix(ui): fix typescript config to remove array iterator error
* fix(ui): refactor timezone settings store/comp
* feat(snippet): opensource snippet
* feat(assist): support multiple IPs
* fix(ui): fix type errors in select /timezones fix
* feat(backend): set size of first part of sessions at 500kb
* change(ui) - removed logs
* fix(ui) - custom metric errors reset url on modal close
* feat(DB): no funnel migration
* fix(ui): fix screensize bug
* feat(DB): migrate super old funnels support
* changed db-migration workflow
Co-authored-by: Shekar Siri <sshekarsiri@gmail.com>
Co-authored-by: sylenien <nikita@openreplay.com>
Co-authored-by: Alex Kaminskii <alex@openreplay.com>
Co-authored-by: Alexander <zavorotynskiy@pm.me>
Co-authored-by: rjshrjndrn <rjshrjndrn@gmail.com>
Co-authored-by: Mehdi Osman <estradino@users.noreply.github.com>
Co-authored-by: Alexander <alexander@openreplay.com>
Co-authored-by: Rajesh Rajendran <rjshrjndrn@users.noreply.github.com>
Co-authored-by: Delirium <sylenien@gmail.com>
2030 lines
40 KiB
Go
2030 lines
40 KiB
Go
// Auto-generated, do not edit
|
|
package messages
|
|
|
|
type BatchMeta struct {
|
|
message
|
|
PageNo uint64
|
|
FirstIndex uint64
|
|
Timestamp int64
|
|
}
|
|
|
|
func (msg *BatchMeta) Encode() []byte {
|
|
buf := make([]byte, 31)
|
|
buf[0] = 80
|
|
p := 1
|
|
p = WriteUint(msg.PageNo, buf, p)
|
|
p = WriteUint(msg.FirstIndex, buf, p)
|
|
p = WriteInt(msg.Timestamp, buf, p)
|
|
return buf[:p]
|
|
}
|
|
|
|
func (msg *BatchMeta) TypeID() int {
|
|
return 80
|
|
}
|
|
|
|
type Timestamp struct {
|
|
message
|
|
Timestamp uint64
|
|
}
|
|
|
|
func (msg *Timestamp) Encode() []byte {
|
|
buf := make([]byte, 11)
|
|
buf[0] = 0
|
|
p := 1
|
|
p = WriteUint(msg.Timestamp, buf, p)
|
|
return buf[:p]
|
|
}
|
|
|
|
func (msg *Timestamp) TypeID() int {
|
|
return 0
|
|
}
|
|
|
|
type SessionStart struct {
|
|
message
|
|
Timestamp uint64
|
|
ProjectID uint64
|
|
TrackerVersion string
|
|
RevID string
|
|
UserUUID string
|
|
UserAgent string
|
|
UserOS string
|
|
UserOSVersion string
|
|
UserBrowser string
|
|
UserBrowserVersion string
|
|
UserDevice string
|
|
UserDeviceType string
|
|
UserDeviceMemorySize uint64
|
|
UserDeviceHeapSize uint64
|
|
UserCountry string
|
|
UserID string
|
|
}
|
|
|
|
func (msg *SessionStart) Encode() []byte {
|
|
buf := make([]byte, 161+len(msg.TrackerVersion)+len(msg.RevID)+len(msg.UserUUID)+len(msg.UserAgent)+len(msg.UserOS)+len(msg.UserOSVersion)+len(msg.UserBrowser)+len(msg.UserBrowserVersion)+len(msg.UserDevice)+len(msg.UserDeviceType)+len(msg.UserCountry)+len(msg.UserID))
|
|
buf[0] = 1
|
|
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.UserAgent, buf, p)
|
|
p = WriteString(msg.UserOS, buf, p)
|
|
p = WriteString(msg.UserOSVersion, buf, p)
|
|
p = WriteString(msg.UserBrowser, buf, p)
|
|
p = WriteString(msg.UserBrowserVersion, buf, p)
|
|
p = WriteString(msg.UserDevice, buf, p)
|
|
p = WriteString(msg.UserDeviceType, buf, p)
|
|
p = WriteUint(msg.UserDeviceMemorySize, buf, p)
|
|
p = WriteUint(msg.UserDeviceHeapSize, buf, p)
|
|
p = WriteString(msg.UserCountry, buf, p)
|
|
p = WriteString(msg.UserID, buf, p)
|
|
return buf[:p]
|
|
}
|
|
|
|
func (msg *SessionStart) TypeID() int {
|
|
return 1
|
|
}
|
|
|
|
type SessionDisconnect struct {
|
|
message
|
|
Timestamp uint64
|
|
}
|
|
|
|
func (msg *SessionDisconnect) Encode() []byte {
|
|
buf := make([]byte, 11)
|
|
buf[0] = 2
|
|
p := 1
|
|
p = WriteUint(msg.Timestamp, buf, p)
|
|
return buf[:p]
|
|
}
|
|
|
|
func (msg *SessionDisconnect) TypeID() int {
|
|
return 2
|
|
}
|
|
|
|
type SessionEnd struct {
|
|
message
|
|
Timestamp uint64
|
|
}
|
|
|
|
func (msg *SessionEnd) Encode() []byte {
|
|
buf := make([]byte, 11)
|
|
buf[0] = 3
|
|
p := 1
|
|
p = WriteUint(msg.Timestamp, buf, p)
|
|
return buf[:p]
|
|
}
|
|
|
|
func (msg *SessionEnd) TypeID() int {
|
|
return 3
|
|
}
|
|
|
|
type SetPageLocation struct {
|
|
message
|
|
URL string
|
|
Referrer string
|
|
NavigationStart uint64
|
|
}
|
|
|
|
func (msg *SetPageLocation) Encode() []byte {
|
|
buf := make([]byte, 31+len(msg.URL)+len(msg.Referrer))
|
|
buf[0] = 4
|
|
p := 1
|
|
p = WriteString(msg.URL, buf, p)
|
|
p = WriteString(msg.Referrer, buf, p)
|
|
p = WriteUint(msg.NavigationStart, buf, p)
|
|
return buf[:p]
|
|
}
|
|
|
|
func (msg *SetPageLocation) TypeID() int {
|
|
return 4
|
|
}
|
|
|
|
type SetViewportSize struct {
|
|
message
|
|
Width uint64
|
|
Height uint64
|
|
}
|
|
|
|
func (msg *SetViewportSize) Encode() []byte {
|
|
buf := make([]byte, 21)
|
|
buf[0] = 5
|
|
p := 1
|
|
p = WriteUint(msg.Width, buf, p)
|
|
p = WriteUint(msg.Height, buf, p)
|
|
return buf[:p]
|
|
}
|
|
|
|
func (msg *SetViewportSize) TypeID() int {
|
|
return 5
|
|
}
|
|
|
|
type SetViewportScroll struct {
|
|
message
|
|
X int64
|
|
Y int64
|
|
}
|
|
|
|
func (msg *SetViewportScroll) Encode() []byte {
|
|
buf := make([]byte, 21)
|
|
buf[0] = 6
|
|
p := 1
|
|
p = WriteInt(msg.X, buf, p)
|
|
p = WriteInt(msg.Y, buf, p)
|
|
return buf[:p]
|
|
}
|
|
|
|
func (msg *SetViewportScroll) TypeID() int {
|
|
return 6
|
|
}
|
|
|
|
type CreateDocument struct {
|
|
message
|
|
}
|
|
|
|
func (msg *CreateDocument) Encode() []byte {
|
|
buf := make([]byte, 1)
|
|
buf[0] = 7
|
|
p := 1
|
|
|
|
return buf[:p]
|
|
}
|
|
|
|
func (msg *CreateDocument) TypeID() int {
|
|
return 7
|
|
}
|
|
|
|
type CreateElementNode struct {
|
|
message
|
|
ID uint64
|
|
ParentID uint64
|
|
index uint64
|
|
Tag string
|
|
SVG bool
|
|
}
|
|
|
|
func (msg *CreateElementNode) Encode() []byte {
|
|
buf := make([]byte, 51+len(msg.Tag))
|
|
buf[0] = 8
|
|
p := 1
|
|
p = WriteUint(msg.ID, buf, p)
|
|
p = WriteUint(msg.ParentID, buf, p)
|
|
p = WriteUint(msg.index, buf, p)
|
|
p = WriteString(msg.Tag, buf, p)
|
|
p = WriteBoolean(msg.SVG, buf, p)
|
|
return buf[:p]
|
|
}
|
|
|
|
func (msg *CreateElementNode) TypeID() int {
|
|
return 8
|
|
}
|
|
|
|
type CreateTextNode struct {
|
|
message
|
|
ID uint64
|
|
ParentID uint64
|
|
Index uint64
|
|
}
|
|
|
|
func (msg *CreateTextNode) Encode() []byte {
|
|
buf := make([]byte, 31)
|
|
buf[0] = 9
|
|
p := 1
|
|
p = WriteUint(msg.ID, buf, p)
|
|
p = WriteUint(msg.ParentID, buf, p)
|
|
p = WriteUint(msg.Index, buf, p)
|
|
return buf[:p]
|
|
}
|
|
|
|
func (msg *CreateTextNode) TypeID() int {
|
|
return 9
|
|
}
|
|
|
|
type MoveNode struct {
|
|
message
|
|
ID uint64
|
|
ParentID uint64
|
|
Index uint64
|
|
}
|
|
|
|
func (msg *MoveNode) Encode() []byte {
|
|
buf := make([]byte, 31)
|
|
buf[0] = 10
|
|
p := 1
|
|
p = WriteUint(msg.ID, buf, p)
|
|
p = WriteUint(msg.ParentID, buf, p)
|
|
p = WriteUint(msg.Index, buf, p)
|
|
return buf[:p]
|
|
}
|
|
|
|
func (msg *MoveNode) TypeID() int {
|
|
return 10
|
|
}
|
|
|
|
type RemoveNode struct {
|
|
message
|
|
ID uint64
|
|
}
|
|
|
|
func (msg *RemoveNode) Encode() []byte {
|
|
buf := make([]byte, 11)
|
|
buf[0] = 11
|
|
p := 1
|
|
p = WriteUint(msg.ID, buf, p)
|
|
return buf[:p]
|
|
}
|
|
|
|
func (msg *RemoveNode) TypeID() int {
|
|
return 11
|
|
}
|
|
|
|
type SetNodeAttribute struct {
|
|
message
|
|
ID uint64
|
|
Name string
|
|
Value string
|
|
}
|
|
|
|
func (msg *SetNodeAttribute) Encode() []byte {
|
|
buf := make([]byte, 31+len(msg.Name)+len(msg.Value))
|
|
buf[0] = 12
|
|
p := 1
|
|
p = WriteUint(msg.ID, buf, p)
|
|
p = WriteString(msg.Name, buf, p)
|
|
p = WriteString(msg.Value, buf, p)
|
|
return buf[:p]
|
|
}
|
|
|
|
func (msg *SetNodeAttribute) TypeID() int {
|
|
return 12
|
|
}
|
|
|
|
type RemoveNodeAttribute struct {
|
|
message
|
|
ID uint64
|
|
Name string
|
|
}
|
|
|
|
func (msg *RemoveNodeAttribute) Encode() []byte {
|
|
buf := make([]byte, 21+len(msg.Name))
|
|
buf[0] = 13
|
|
p := 1
|
|
p = WriteUint(msg.ID, buf, p)
|
|
p = WriteString(msg.Name, buf, p)
|
|
return buf[:p]
|
|
}
|
|
|
|
func (msg *RemoveNodeAttribute) TypeID() int {
|
|
return 13
|
|
}
|
|
|
|
type SetNodeData struct {
|
|
message
|
|
ID uint64
|
|
Data string
|
|
}
|
|
|
|
func (msg *SetNodeData) Encode() []byte {
|
|
buf := make([]byte, 21+len(msg.Data))
|
|
buf[0] = 14
|
|
p := 1
|
|
p = WriteUint(msg.ID, buf, p)
|
|
p = WriteString(msg.Data, buf, p)
|
|
return buf[:p]
|
|
}
|
|
|
|
func (msg *SetNodeData) TypeID() int {
|
|
return 14
|
|
}
|
|
|
|
type SetCSSData struct {
|
|
message
|
|
ID uint64
|
|
Data string
|
|
}
|
|
|
|
func (msg *SetCSSData) Encode() []byte {
|
|
buf := make([]byte, 21+len(msg.Data))
|
|
buf[0] = 15
|
|
p := 1
|
|
p = WriteUint(msg.ID, buf, p)
|
|
p = WriteString(msg.Data, buf, p)
|
|
return buf[:p]
|
|
}
|
|
|
|
func (msg *SetCSSData) TypeID() int {
|
|
return 15
|
|
}
|
|
|
|
type SetNodeScroll struct {
|
|
message
|
|
ID uint64
|
|
X int64
|
|
Y int64
|
|
}
|
|
|
|
func (msg *SetNodeScroll) Encode() []byte {
|
|
buf := make([]byte, 31)
|
|
buf[0] = 16
|
|
p := 1
|
|
p = WriteUint(msg.ID, buf, p)
|
|
p = WriteInt(msg.X, buf, p)
|
|
p = WriteInt(msg.Y, buf, p)
|
|
return buf[:p]
|
|
}
|
|
|
|
func (msg *SetNodeScroll) TypeID() int {
|
|
return 16
|
|
}
|
|
|
|
type SetInputTarget struct {
|
|
message
|
|
ID uint64
|
|
Label string
|
|
}
|
|
|
|
func (msg *SetInputTarget) Encode() []byte {
|
|
buf := make([]byte, 21+len(msg.Label))
|
|
buf[0] = 17
|
|
p := 1
|
|
p = WriteUint(msg.ID, buf, p)
|
|
p = WriteString(msg.Label, buf, p)
|
|
return buf[:p]
|
|
}
|
|
|
|
func (msg *SetInputTarget) TypeID() int {
|
|
return 17
|
|
}
|
|
|
|
type SetInputValue struct {
|
|
message
|
|
ID uint64
|
|
Value string
|
|
Mask int64
|
|
}
|
|
|
|
func (msg *SetInputValue) Encode() []byte {
|
|
buf := make([]byte, 31+len(msg.Value))
|
|
buf[0] = 18
|
|
p := 1
|
|
p = WriteUint(msg.ID, buf, p)
|
|
p = WriteString(msg.Value, buf, p)
|
|
p = WriteInt(msg.Mask, buf, p)
|
|
return buf[:p]
|
|
}
|
|
|
|
func (msg *SetInputValue) TypeID() int {
|
|
return 18
|
|
}
|
|
|
|
type SetInputChecked struct {
|
|
message
|
|
ID uint64
|
|
Checked bool
|
|
}
|
|
|
|
func (msg *SetInputChecked) Encode() []byte {
|
|
buf := make([]byte, 21)
|
|
buf[0] = 19
|
|
p := 1
|
|
p = WriteUint(msg.ID, buf, p)
|
|
p = WriteBoolean(msg.Checked, buf, p)
|
|
return buf[:p]
|
|
}
|
|
|
|
func (msg *SetInputChecked) TypeID() int {
|
|
return 19
|
|
}
|
|
|
|
type MouseMove struct {
|
|
message
|
|
X uint64
|
|
Y uint64
|
|
}
|
|
|
|
func (msg *MouseMove) Encode() []byte {
|
|
buf := make([]byte, 21)
|
|
buf[0] = 20
|
|
p := 1
|
|
p = WriteUint(msg.X, buf, p)
|
|
p = WriteUint(msg.Y, buf, p)
|
|
return buf[:p]
|
|
}
|
|
|
|
func (msg *MouseMove) TypeID() int {
|
|
return 20
|
|
}
|
|
|
|
type MouseClickDepricated struct {
|
|
message
|
|
ID uint64
|
|
HesitationTime uint64
|
|
Label string
|
|
}
|
|
|
|
func (msg *MouseClickDepricated) Encode() []byte {
|
|
buf := make([]byte, 31+len(msg.Label))
|
|
buf[0] = 21
|
|
p := 1
|
|
p = WriteUint(msg.ID, buf, p)
|
|
p = WriteUint(msg.HesitationTime, buf, p)
|
|
p = WriteString(msg.Label, buf, p)
|
|
return buf[:p]
|
|
}
|
|
|
|
func (msg *MouseClickDepricated) TypeID() int {
|
|
return 21
|
|
}
|
|
|
|
type ConsoleLog struct {
|
|
message
|
|
Level string
|
|
Value string
|
|
}
|
|
|
|
func (msg *ConsoleLog) Encode() []byte {
|
|
buf := make([]byte, 21+len(msg.Level)+len(msg.Value))
|
|
buf[0] = 22
|
|
p := 1
|
|
p = WriteString(msg.Level, buf, p)
|
|
p = WriteString(msg.Value, buf, p)
|
|
return buf[:p]
|
|
}
|
|
|
|
func (msg *ConsoleLog) TypeID() int {
|
|
return 22
|
|
}
|
|
|
|
type PageLoadTiming struct {
|
|
message
|
|
RequestStart uint64
|
|
ResponseStart uint64
|
|
ResponseEnd uint64
|
|
DomContentLoadedEventStart uint64
|
|
DomContentLoadedEventEnd uint64
|
|
LoadEventStart uint64
|
|
LoadEventEnd uint64
|
|
FirstPaint uint64
|
|
FirstContentfulPaint uint64
|
|
}
|
|
|
|
func (msg *PageLoadTiming) Encode() []byte {
|
|
buf := make([]byte, 91)
|
|
buf[0] = 23
|
|
p := 1
|
|
p = WriteUint(msg.RequestStart, buf, p)
|
|
p = WriteUint(msg.ResponseStart, buf, p)
|
|
p = WriteUint(msg.ResponseEnd, buf, p)
|
|
p = WriteUint(msg.DomContentLoadedEventStart, buf, p)
|
|
p = WriteUint(msg.DomContentLoadedEventEnd, buf, p)
|
|
p = WriteUint(msg.LoadEventStart, buf, p)
|
|
p = WriteUint(msg.LoadEventEnd, buf, p)
|
|
p = WriteUint(msg.FirstPaint, buf, p)
|
|
p = WriteUint(msg.FirstContentfulPaint, buf, p)
|
|
return buf[:p]
|
|
}
|
|
|
|
func (msg *PageLoadTiming) TypeID() int {
|
|
return 23
|
|
}
|
|
|
|
type PageRenderTiming struct {
|
|
message
|
|
SpeedIndex uint64
|
|
VisuallyComplete uint64
|
|
TimeToInteractive uint64
|
|
}
|
|
|
|
func (msg *PageRenderTiming) Encode() []byte {
|
|
buf := make([]byte, 31)
|
|
buf[0] = 24
|
|
p := 1
|
|
p = WriteUint(msg.SpeedIndex, buf, p)
|
|
p = WriteUint(msg.VisuallyComplete, buf, p)
|
|
p = WriteUint(msg.TimeToInteractive, buf, p)
|
|
return buf[:p]
|
|
}
|
|
|
|
func (msg *PageRenderTiming) TypeID() int {
|
|
return 24
|
|
}
|
|
|
|
type JSException struct {
|
|
message
|
|
Name string
|
|
Message string
|
|
Payload string
|
|
}
|
|
|
|
func (msg *JSException) Encode() []byte {
|
|
buf := make([]byte, 31+len(msg.Name)+len(msg.Message)+len(msg.Payload))
|
|
buf[0] = 25
|
|
p := 1
|
|
p = WriteString(msg.Name, buf, p)
|
|
p = WriteString(msg.Message, buf, p)
|
|
p = WriteString(msg.Payload, buf, p)
|
|
return buf[:p]
|
|
}
|
|
|
|
func (msg *JSException) TypeID() int {
|
|
return 25
|
|
}
|
|
|
|
type IntegrationEvent struct {
|
|
message
|
|
Timestamp uint64
|
|
Source string
|
|
Name string
|
|
Message string
|
|
Payload string
|
|
}
|
|
|
|
func (msg *IntegrationEvent) Encode() []byte {
|
|
buf := make([]byte, 51+len(msg.Source)+len(msg.Name)+len(msg.Message)+len(msg.Payload))
|
|
buf[0] = 26
|
|
p := 1
|
|
p = WriteUint(msg.Timestamp, buf, p)
|
|
p = WriteString(msg.Source, buf, p)
|
|
p = WriteString(msg.Name, buf, p)
|
|
p = WriteString(msg.Message, buf, p)
|
|
p = WriteString(msg.Payload, buf, p)
|
|
return buf[:p]
|
|
}
|
|
|
|
func (msg *IntegrationEvent) TypeID() int {
|
|
return 26
|
|
}
|
|
|
|
type RawCustomEvent struct {
|
|
message
|
|
Name string
|
|
Payload string
|
|
}
|
|
|
|
func (msg *RawCustomEvent) Encode() []byte {
|
|
buf := make([]byte, 21+len(msg.Name)+len(msg.Payload))
|
|
buf[0] = 27
|
|
p := 1
|
|
p = WriteString(msg.Name, buf, p)
|
|
p = WriteString(msg.Payload, buf, p)
|
|
return buf[:p]
|
|
}
|
|
|
|
func (msg *RawCustomEvent) TypeID() int {
|
|
return 27
|
|
}
|
|
|
|
type UserID struct {
|
|
message
|
|
ID string
|
|
}
|
|
|
|
func (msg *UserID) Encode() []byte {
|
|
buf := make([]byte, 11+len(msg.ID))
|
|
buf[0] = 28
|
|
p := 1
|
|
p = WriteString(msg.ID, buf, p)
|
|
return buf[:p]
|
|
}
|
|
|
|
func (msg *UserID) TypeID() int {
|
|
return 28
|
|
}
|
|
|
|
type UserAnonymousID struct {
|
|
message
|
|
ID string
|
|
}
|
|
|
|
func (msg *UserAnonymousID) Encode() []byte {
|
|
buf := make([]byte, 11+len(msg.ID))
|
|
buf[0] = 29
|
|
p := 1
|
|
p = WriteString(msg.ID, buf, p)
|
|
return buf[:p]
|
|
}
|
|
|
|
func (msg *UserAnonymousID) TypeID() int {
|
|
return 29
|
|
}
|
|
|
|
type Metadata struct {
|
|
message
|
|
Key string
|
|
Value string
|
|
}
|
|
|
|
func (msg *Metadata) Encode() []byte {
|
|
buf := make([]byte, 21+len(msg.Key)+len(msg.Value))
|
|
buf[0] = 30
|
|
p := 1
|
|
p = WriteString(msg.Key, buf, p)
|
|
p = WriteString(msg.Value, buf, p)
|
|
return buf[:p]
|
|
}
|
|
|
|
func (msg *Metadata) TypeID() int {
|
|
return 30
|
|
}
|
|
|
|
type PageEvent struct {
|
|
message
|
|
MessageID uint64
|
|
Timestamp uint64
|
|
URL string
|
|
Referrer string
|
|
Loaded bool
|
|
RequestStart uint64
|
|
ResponseStart uint64
|
|
ResponseEnd uint64
|
|
DomContentLoadedEventStart uint64
|
|
DomContentLoadedEventEnd uint64
|
|
LoadEventStart uint64
|
|
LoadEventEnd uint64
|
|
FirstPaint uint64
|
|
FirstContentfulPaint uint64
|
|
SpeedIndex uint64
|
|
VisuallyComplete uint64
|
|
TimeToInteractive uint64
|
|
}
|
|
|
|
func (msg *PageEvent) Encode() []byte {
|
|
buf := make([]byte, 171+len(msg.URL)+len(msg.Referrer))
|
|
buf[0] = 31
|
|
p := 1
|
|
p = WriteUint(msg.MessageID, buf, p)
|
|
p = WriteUint(msg.Timestamp, buf, p)
|
|
p = WriteString(msg.URL, buf, p)
|
|
p = WriteString(msg.Referrer, buf, p)
|
|
p = WriteBoolean(msg.Loaded, buf, p)
|
|
p = WriteUint(msg.RequestStart, buf, p)
|
|
p = WriteUint(msg.ResponseStart, buf, p)
|
|
p = WriteUint(msg.ResponseEnd, buf, p)
|
|
p = WriteUint(msg.DomContentLoadedEventStart, buf, p)
|
|
p = WriteUint(msg.DomContentLoadedEventEnd, buf, p)
|
|
p = WriteUint(msg.LoadEventStart, buf, p)
|
|
p = WriteUint(msg.LoadEventEnd, buf, p)
|
|
p = WriteUint(msg.FirstPaint, buf, p)
|
|
p = WriteUint(msg.FirstContentfulPaint, buf, p)
|
|
p = WriteUint(msg.SpeedIndex, buf, p)
|
|
p = WriteUint(msg.VisuallyComplete, buf, p)
|
|
p = WriteUint(msg.TimeToInteractive, buf, p)
|
|
return buf[:p]
|
|
}
|
|
|
|
func (msg *PageEvent) TypeID() int {
|
|
return 31
|
|
}
|
|
|
|
type InputEvent struct {
|
|
message
|
|
MessageID uint64
|
|
Timestamp uint64
|
|
Value string
|
|
ValueMasked bool
|
|
Label string
|
|
}
|
|
|
|
func (msg *InputEvent) Encode() []byte {
|
|
buf := make([]byte, 51+len(msg.Value)+len(msg.Label))
|
|
buf[0] = 32
|
|
p := 1
|
|
p = WriteUint(msg.MessageID, buf, p)
|
|
p = WriteUint(msg.Timestamp, buf, p)
|
|
p = WriteString(msg.Value, buf, p)
|
|
p = WriteBoolean(msg.ValueMasked, buf, p)
|
|
p = WriteString(msg.Label, buf, p)
|
|
return buf[:p]
|
|
}
|
|
|
|
func (msg *InputEvent) TypeID() int {
|
|
return 32
|
|
}
|
|
|
|
type ClickEvent struct {
|
|
message
|
|
MessageID uint64
|
|
Timestamp uint64
|
|
HesitationTime uint64
|
|
Label string
|
|
Selector string
|
|
}
|
|
|
|
func (msg *ClickEvent) Encode() []byte {
|
|
buf := make([]byte, 51+len(msg.Label)+len(msg.Selector))
|
|
buf[0] = 33
|
|
p := 1
|
|
p = WriteUint(msg.MessageID, buf, p)
|
|
p = WriteUint(msg.Timestamp, buf, p)
|
|
p = WriteUint(msg.HesitationTime, buf, p)
|
|
p = WriteString(msg.Label, buf, p)
|
|
p = WriteString(msg.Selector, buf, p)
|
|
return buf[:p]
|
|
}
|
|
|
|
func (msg *ClickEvent) TypeID() int {
|
|
return 33
|
|
}
|
|
|
|
type ErrorEvent struct {
|
|
message
|
|
MessageID uint64
|
|
Timestamp uint64
|
|
Source string
|
|
Name string
|
|
Message string
|
|
Payload string
|
|
}
|
|
|
|
func (msg *ErrorEvent) Encode() []byte {
|
|
buf := make([]byte, 61+len(msg.Source)+len(msg.Name)+len(msg.Message)+len(msg.Payload))
|
|
buf[0] = 34
|
|
p := 1
|
|
p = WriteUint(msg.MessageID, buf, p)
|
|
p = WriteUint(msg.Timestamp, buf, p)
|
|
p = WriteString(msg.Source, buf, p)
|
|
p = WriteString(msg.Name, buf, p)
|
|
p = WriteString(msg.Message, buf, p)
|
|
p = WriteString(msg.Payload, buf, p)
|
|
return buf[:p]
|
|
}
|
|
|
|
func (msg *ErrorEvent) TypeID() int {
|
|
return 34
|
|
}
|
|
|
|
type ResourceEvent struct {
|
|
message
|
|
MessageID uint64
|
|
Timestamp uint64
|
|
Duration uint64
|
|
TTFB uint64
|
|
HeaderSize uint64
|
|
EncodedBodySize uint64
|
|
DecodedBodySize uint64
|
|
URL string
|
|
Type string
|
|
Success bool
|
|
Method string
|
|
Status uint64
|
|
}
|
|
|
|
func (msg *ResourceEvent) Encode() []byte {
|
|
buf := make([]byte, 121+len(msg.URL)+len(msg.Type)+len(msg.Method))
|
|
buf[0] = 35
|
|
p := 1
|
|
p = WriteUint(msg.MessageID, buf, p)
|
|
p = WriteUint(msg.Timestamp, buf, p)
|
|
p = WriteUint(msg.Duration, buf, p)
|
|
p = WriteUint(msg.TTFB, buf, p)
|
|
p = WriteUint(msg.HeaderSize, buf, p)
|
|
p = WriteUint(msg.EncodedBodySize, buf, p)
|
|
p = WriteUint(msg.DecodedBodySize, buf, p)
|
|
p = WriteString(msg.URL, buf, p)
|
|
p = WriteString(msg.Type, buf, p)
|
|
p = WriteBoolean(msg.Success, buf, p)
|
|
p = WriteString(msg.Method, buf, p)
|
|
p = WriteUint(msg.Status, buf, p)
|
|
return buf[:p]
|
|
}
|
|
|
|
func (msg *ResourceEvent) TypeID() int {
|
|
return 35
|
|
}
|
|
|
|
type CustomEvent struct {
|
|
message
|
|
MessageID uint64
|
|
Timestamp uint64
|
|
Name string
|
|
Payload string
|
|
}
|
|
|
|
func (msg *CustomEvent) Encode() []byte {
|
|
buf := make([]byte, 41+len(msg.Name)+len(msg.Payload))
|
|
buf[0] = 36
|
|
p := 1
|
|
p = WriteUint(msg.MessageID, buf, p)
|
|
p = WriteUint(msg.Timestamp, buf, p)
|
|
p = WriteString(msg.Name, buf, p)
|
|
p = WriteString(msg.Payload, buf, p)
|
|
return buf[:p]
|
|
}
|
|
|
|
func (msg *CustomEvent) TypeID() int {
|
|
return 36
|
|
}
|
|
|
|
type CSSInsertRule struct {
|
|
message
|
|
ID uint64
|
|
Rule string
|
|
Index uint64
|
|
}
|
|
|
|
func (msg *CSSInsertRule) Encode() []byte {
|
|
buf := make([]byte, 31+len(msg.Rule))
|
|
buf[0] = 37
|
|
p := 1
|
|
p = WriteUint(msg.ID, buf, p)
|
|
p = WriteString(msg.Rule, buf, p)
|
|
p = WriteUint(msg.Index, buf, p)
|
|
return buf[:p]
|
|
}
|
|
|
|
func (msg *CSSInsertRule) TypeID() int {
|
|
return 37
|
|
}
|
|
|
|
type CSSDeleteRule struct {
|
|
message
|
|
ID uint64
|
|
Index uint64
|
|
}
|
|
|
|
func (msg *CSSDeleteRule) Encode() []byte {
|
|
buf := make([]byte, 21)
|
|
buf[0] = 38
|
|
p := 1
|
|
p = WriteUint(msg.ID, buf, p)
|
|
p = WriteUint(msg.Index, buf, p)
|
|
return buf[:p]
|
|
}
|
|
|
|
func (msg *CSSDeleteRule) TypeID() int {
|
|
return 38
|
|
}
|
|
|
|
type Fetch struct {
|
|
message
|
|
Method string
|
|
URL string
|
|
Request string
|
|
Response string
|
|
Status uint64
|
|
Timestamp uint64
|
|
Duration uint64
|
|
}
|
|
|
|
func (msg *Fetch) Encode() []byte {
|
|
buf := make([]byte, 71+len(msg.Method)+len(msg.URL)+len(msg.Request)+len(msg.Response))
|
|
buf[0] = 39
|
|
p := 1
|
|
p = WriteString(msg.Method, buf, p)
|
|
p = WriteString(msg.URL, buf, p)
|
|
p = WriteString(msg.Request, buf, p)
|
|
p = WriteString(msg.Response, buf, p)
|
|
p = WriteUint(msg.Status, buf, p)
|
|
p = WriteUint(msg.Timestamp, buf, p)
|
|
p = WriteUint(msg.Duration, buf, p)
|
|
return buf[:p]
|
|
}
|
|
|
|
func (msg *Fetch) TypeID() int {
|
|
return 39
|
|
}
|
|
|
|
type Profiler struct {
|
|
message
|
|
Name string
|
|
Duration uint64
|
|
Args string
|
|
Result string
|
|
}
|
|
|
|
func (msg *Profiler) Encode() []byte {
|
|
buf := make([]byte, 41+len(msg.Name)+len(msg.Args)+len(msg.Result))
|
|
buf[0] = 40
|
|
p := 1
|
|
p = WriteString(msg.Name, buf, p)
|
|
p = WriteUint(msg.Duration, buf, p)
|
|
p = WriteString(msg.Args, buf, p)
|
|
p = WriteString(msg.Result, buf, p)
|
|
return buf[:p]
|
|
}
|
|
|
|
func (msg *Profiler) TypeID() int {
|
|
return 40
|
|
}
|
|
|
|
type OTable struct {
|
|
message
|
|
Key string
|
|
Value string
|
|
}
|
|
|
|
func (msg *OTable) Encode() []byte {
|
|
buf := make([]byte, 21+len(msg.Key)+len(msg.Value))
|
|
buf[0] = 41
|
|
p := 1
|
|
p = WriteString(msg.Key, buf, p)
|
|
p = WriteString(msg.Value, buf, p)
|
|
return buf[:p]
|
|
}
|
|
|
|
func (msg *OTable) TypeID() int {
|
|
return 41
|
|
}
|
|
|
|
type StateAction struct {
|
|
message
|
|
Type string
|
|
}
|
|
|
|
func (msg *StateAction) Encode() []byte {
|
|
buf := make([]byte, 11+len(msg.Type))
|
|
buf[0] = 42
|
|
p := 1
|
|
p = WriteString(msg.Type, buf, p)
|
|
return buf[:p]
|
|
}
|
|
|
|
func (msg *StateAction) TypeID() int {
|
|
return 42
|
|
}
|
|
|
|
type StateActionEvent struct {
|
|
message
|
|
MessageID uint64
|
|
Timestamp uint64
|
|
Type string
|
|
}
|
|
|
|
func (msg *StateActionEvent) Encode() []byte {
|
|
buf := make([]byte, 31+len(msg.Type))
|
|
buf[0] = 43
|
|
p := 1
|
|
p = WriteUint(msg.MessageID, buf, p)
|
|
p = WriteUint(msg.Timestamp, buf, p)
|
|
p = WriteString(msg.Type, buf, p)
|
|
return buf[:p]
|
|
}
|
|
|
|
func (msg *StateActionEvent) TypeID() int {
|
|
return 43
|
|
}
|
|
|
|
type Redux struct {
|
|
message
|
|
Action string
|
|
State string
|
|
Duration uint64
|
|
}
|
|
|
|
func (msg *Redux) Encode() []byte {
|
|
buf := make([]byte, 31+len(msg.Action)+len(msg.State))
|
|
buf[0] = 44
|
|
p := 1
|
|
p = WriteString(msg.Action, buf, p)
|
|
p = WriteString(msg.State, buf, p)
|
|
p = WriteUint(msg.Duration, buf, p)
|
|
return buf[:p]
|
|
}
|
|
|
|
func (msg *Redux) TypeID() int {
|
|
return 44
|
|
}
|
|
|
|
type Vuex struct {
|
|
message
|
|
Mutation string
|
|
State string
|
|
}
|
|
|
|
func (msg *Vuex) Encode() []byte {
|
|
buf := make([]byte, 21+len(msg.Mutation)+len(msg.State))
|
|
buf[0] = 45
|
|
p := 1
|
|
p = WriteString(msg.Mutation, buf, p)
|
|
p = WriteString(msg.State, buf, p)
|
|
return buf[:p]
|
|
}
|
|
|
|
func (msg *Vuex) TypeID() int {
|
|
return 45
|
|
}
|
|
|
|
type MobX struct {
|
|
message
|
|
Type string
|
|
Payload string
|
|
}
|
|
|
|
func (msg *MobX) Encode() []byte {
|
|
buf := make([]byte, 21+len(msg.Type)+len(msg.Payload))
|
|
buf[0] = 46
|
|
p := 1
|
|
p = WriteString(msg.Type, buf, p)
|
|
p = WriteString(msg.Payload, buf, p)
|
|
return buf[:p]
|
|
}
|
|
|
|
func (msg *MobX) TypeID() int {
|
|
return 46
|
|
}
|
|
|
|
type NgRx struct {
|
|
message
|
|
Action string
|
|
State string
|
|
Duration uint64
|
|
}
|
|
|
|
func (msg *NgRx) Encode() []byte {
|
|
buf := make([]byte, 31+len(msg.Action)+len(msg.State))
|
|
buf[0] = 47
|
|
p := 1
|
|
p = WriteString(msg.Action, buf, p)
|
|
p = WriteString(msg.State, buf, p)
|
|
p = WriteUint(msg.Duration, buf, p)
|
|
return buf[:p]
|
|
}
|
|
|
|
func (msg *NgRx) TypeID() int {
|
|
return 47
|
|
}
|
|
|
|
type GraphQL struct {
|
|
message
|
|
OperationKind string
|
|
OperationName string
|
|
Variables string
|
|
Response string
|
|
}
|
|
|
|
func (msg *GraphQL) Encode() []byte {
|
|
buf := make([]byte, 41+len(msg.OperationKind)+len(msg.OperationName)+len(msg.Variables)+len(msg.Response))
|
|
buf[0] = 48
|
|
p := 1
|
|
p = WriteString(msg.OperationKind, buf, p)
|
|
p = WriteString(msg.OperationName, buf, p)
|
|
p = WriteString(msg.Variables, buf, p)
|
|
p = WriteString(msg.Response, buf, p)
|
|
return buf[:p]
|
|
}
|
|
|
|
func (msg *GraphQL) TypeID() int {
|
|
return 48
|
|
}
|
|
|
|
type PerformanceTrack struct {
|
|
message
|
|
Frames int64
|
|
Ticks int64
|
|
TotalJSHeapSize uint64
|
|
UsedJSHeapSize uint64
|
|
}
|
|
|
|
func (msg *PerformanceTrack) Encode() []byte {
|
|
buf := make([]byte, 41)
|
|
buf[0] = 49
|
|
p := 1
|
|
p = WriteInt(msg.Frames, buf, p)
|
|
p = WriteInt(msg.Ticks, buf, p)
|
|
p = WriteUint(msg.TotalJSHeapSize, buf, p)
|
|
p = WriteUint(msg.UsedJSHeapSize, buf, p)
|
|
return buf[:p]
|
|
}
|
|
|
|
func (msg *PerformanceTrack) TypeID() int {
|
|
return 49
|
|
}
|
|
|
|
type GraphQLEvent struct {
|
|
message
|
|
MessageID uint64
|
|
Timestamp uint64
|
|
OperationKind string
|
|
OperationName string
|
|
Variables string
|
|
Response string
|
|
}
|
|
|
|
func (msg *GraphQLEvent) Encode() []byte {
|
|
buf := make([]byte, 61+len(msg.OperationKind)+len(msg.OperationName)+len(msg.Variables)+len(msg.Response))
|
|
buf[0] = 50
|
|
p := 1
|
|
p = WriteUint(msg.MessageID, buf, p)
|
|
p = WriteUint(msg.Timestamp, buf, p)
|
|
p = WriteString(msg.OperationKind, buf, p)
|
|
p = WriteString(msg.OperationName, buf, p)
|
|
p = WriteString(msg.Variables, buf, p)
|
|
p = WriteString(msg.Response, buf, p)
|
|
return buf[:p]
|
|
}
|
|
|
|
func (msg *GraphQLEvent) TypeID() int {
|
|
return 50
|
|
}
|
|
|
|
type FetchEvent struct {
|
|
message
|
|
MessageID uint64
|
|
Timestamp uint64
|
|
Method string
|
|
URL string
|
|
Request string
|
|
Response string
|
|
Status uint64
|
|
Duration uint64
|
|
}
|
|
|
|
func (msg *FetchEvent) Encode() []byte {
|
|
buf := make([]byte, 81+len(msg.Method)+len(msg.URL)+len(msg.Request)+len(msg.Response))
|
|
buf[0] = 51
|
|
p := 1
|
|
p = WriteUint(msg.MessageID, buf, p)
|
|
p = WriteUint(msg.Timestamp, buf, p)
|
|
p = WriteString(msg.Method, buf, p)
|
|
p = WriteString(msg.URL, buf, p)
|
|
p = WriteString(msg.Request, buf, p)
|
|
p = WriteString(msg.Response, buf, p)
|
|
p = WriteUint(msg.Status, buf, p)
|
|
p = WriteUint(msg.Duration, buf, p)
|
|
return buf[:p]
|
|
}
|
|
|
|
func (msg *FetchEvent) TypeID() int {
|
|
return 51
|
|
}
|
|
|
|
type DOMDrop struct {
|
|
message
|
|
Timestamp uint64
|
|
}
|
|
|
|
func (msg *DOMDrop) Encode() []byte {
|
|
buf := make([]byte, 11)
|
|
buf[0] = 52
|
|
p := 1
|
|
p = WriteUint(msg.Timestamp, buf, p)
|
|
return buf[:p]
|
|
}
|
|
|
|
func (msg *DOMDrop) TypeID() int {
|
|
return 52
|
|
}
|
|
|
|
type ResourceTiming struct {
|
|
message
|
|
Timestamp uint64
|
|
Duration uint64
|
|
TTFB uint64
|
|
HeaderSize uint64
|
|
EncodedBodySize uint64
|
|
DecodedBodySize uint64
|
|
URL string
|
|
Initiator string
|
|
}
|
|
|
|
func (msg *ResourceTiming) Encode() []byte {
|
|
buf := make([]byte, 81+len(msg.URL)+len(msg.Initiator))
|
|
buf[0] = 53
|
|
p := 1
|
|
p = WriteUint(msg.Timestamp, buf, p)
|
|
p = WriteUint(msg.Duration, buf, p)
|
|
p = WriteUint(msg.TTFB, buf, p)
|
|
p = WriteUint(msg.HeaderSize, buf, p)
|
|
p = WriteUint(msg.EncodedBodySize, buf, p)
|
|
p = WriteUint(msg.DecodedBodySize, buf, p)
|
|
p = WriteString(msg.URL, buf, p)
|
|
p = WriteString(msg.Initiator, buf, p)
|
|
return buf[:p]
|
|
}
|
|
|
|
func (msg *ResourceTiming) TypeID() int {
|
|
return 53
|
|
}
|
|
|
|
type ConnectionInformation struct {
|
|
message
|
|
Downlink uint64
|
|
Type string
|
|
}
|
|
|
|
func (msg *ConnectionInformation) Encode() []byte {
|
|
buf := make([]byte, 21+len(msg.Type))
|
|
buf[0] = 54
|
|
p := 1
|
|
p = WriteUint(msg.Downlink, buf, p)
|
|
p = WriteString(msg.Type, buf, p)
|
|
return buf[:p]
|
|
}
|
|
|
|
func (msg *ConnectionInformation) TypeID() int {
|
|
return 54
|
|
}
|
|
|
|
type SetPageVisibility struct {
|
|
message
|
|
hidden bool
|
|
}
|
|
|
|
func (msg *SetPageVisibility) Encode() []byte {
|
|
buf := make([]byte, 11)
|
|
buf[0] = 55
|
|
p := 1
|
|
p = WriteBoolean(msg.hidden, buf, p)
|
|
return buf[:p]
|
|
}
|
|
|
|
func (msg *SetPageVisibility) TypeID() int {
|
|
return 55
|
|
}
|
|
|
|
type PerformanceTrackAggr struct {
|
|
message
|
|
TimestampStart uint64
|
|
TimestampEnd uint64
|
|
MinFPS uint64
|
|
AvgFPS uint64
|
|
MaxFPS uint64
|
|
MinCPU uint64
|
|
AvgCPU uint64
|
|
MaxCPU uint64
|
|
MinTotalJSHeapSize uint64
|
|
AvgTotalJSHeapSize uint64
|
|
MaxTotalJSHeapSize uint64
|
|
MinUsedJSHeapSize uint64
|
|
AvgUsedJSHeapSize uint64
|
|
MaxUsedJSHeapSize uint64
|
|
}
|
|
|
|
func (msg *PerformanceTrackAggr) Encode() []byte {
|
|
buf := make([]byte, 141)
|
|
buf[0] = 56
|
|
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.MinTotalJSHeapSize, buf, p)
|
|
p = WriteUint(msg.AvgTotalJSHeapSize, buf, p)
|
|
p = WriteUint(msg.MaxTotalJSHeapSize, buf, p)
|
|
p = WriteUint(msg.MinUsedJSHeapSize, buf, p)
|
|
p = WriteUint(msg.AvgUsedJSHeapSize, buf, p)
|
|
p = WriteUint(msg.MaxUsedJSHeapSize, buf, p)
|
|
return buf[:p]
|
|
}
|
|
|
|
func (msg *PerformanceTrackAggr) TypeID() int {
|
|
return 56
|
|
}
|
|
|
|
type LongTask struct {
|
|
message
|
|
Timestamp uint64
|
|
Duration uint64
|
|
Context uint64
|
|
ContainerType uint64
|
|
ContainerSrc string
|
|
ContainerId string
|
|
ContainerName string
|
|
}
|
|
|
|
func (msg *LongTask) Encode() []byte {
|
|
buf := make([]byte, 71+len(msg.ContainerSrc)+len(msg.ContainerId)+len(msg.ContainerName))
|
|
buf[0] = 59
|
|
p := 1
|
|
p = WriteUint(msg.Timestamp, buf, p)
|
|
p = WriteUint(msg.Duration, buf, p)
|
|
p = WriteUint(msg.Context, buf, p)
|
|
p = WriteUint(msg.ContainerType, buf, p)
|
|
p = WriteString(msg.ContainerSrc, buf, p)
|
|
p = WriteString(msg.ContainerId, buf, p)
|
|
p = WriteString(msg.ContainerName, buf, p)
|
|
return buf[:p]
|
|
}
|
|
|
|
func (msg *LongTask) TypeID() int {
|
|
return 59
|
|
}
|
|
|
|
type SetNodeAttributeURLBased struct {
|
|
message
|
|
ID uint64
|
|
Name string
|
|
Value string
|
|
BaseURL string
|
|
}
|
|
|
|
func (msg *SetNodeAttributeURLBased) Encode() []byte {
|
|
buf := make([]byte, 41+len(msg.Name)+len(msg.Value)+len(msg.BaseURL))
|
|
buf[0] = 60
|
|
p := 1
|
|
p = WriteUint(msg.ID, buf, p)
|
|
p = WriteString(msg.Name, buf, p)
|
|
p = WriteString(msg.Value, buf, p)
|
|
p = WriteString(msg.BaseURL, buf, p)
|
|
return buf[:p]
|
|
}
|
|
|
|
func (msg *SetNodeAttributeURLBased) TypeID() int {
|
|
return 60
|
|
}
|
|
|
|
type SetCSSDataURLBased struct {
|
|
message
|
|
ID uint64
|
|
Data string
|
|
BaseURL string
|
|
}
|
|
|
|
func (msg *SetCSSDataURLBased) Encode() []byte {
|
|
buf := make([]byte, 31+len(msg.Data)+len(msg.BaseURL))
|
|
buf[0] = 61
|
|
p := 1
|
|
p = WriteUint(msg.ID, buf, p)
|
|
p = WriteString(msg.Data, buf, p)
|
|
p = WriteString(msg.BaseURL, buf, p)
|
|
return buf[:p]
|
|
}
|
|
|
|
func (msg *SetCSSDataURLBased) TypeID() int {
|
|
return 61
|
|
}
|
|
|
|
type IssueEvent struct {
|
|
message
|
|
MessageID uint64
|
|
Timestamp uint64
|
|
Type string
|
|
ContextString string
|
|
Context string
|
|
Payload string
|
|
}
|
|
|
|
func (msg *IssueEvent) Encode() []byte {
|
|
buf := make([]byte, 61+len(msg.Type)+len(msg.ContextString)+len(msg.Context)+len(msg.Payload))
|
|
buf[0] = 62
|
|
p := 1
|
|
p = WriteUint(msg.MessageID, buf, p)
|
|
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]
|
|
}
|
|
|
|
func (msg *IssueEvent) TypeID() int {
|
|
return 62
|
|
}
|
|
|
|
type TechnicalInfo struct {
|
|
message
|
|
Type string
|
|
Value string
|
|
}
|
|
|
|
func (msg *TechnicalInfo) Encode() []byte {
|
|
buf := make([]byte, 21+len(msg.Type)+len(msg.Value))
|
|
buf[0] = 63
|
|
p := 1
|
|
p = WriteString(msg.Type, buf, p)
|
|
p = WriteString(msg.Value, buf, p)
|
|
return buf[:p]
|
|
}
|
|
|
|
func (msg *TechnicalInfo) TypeID() int {
|
|
return 63
|
|
}
|
|
|
|
type CustomIssue struct {
|
|
message
|
|
Name string
|
|
Payload string
|
|
}
|
|
|
|
func (msg *CustomIssue) Encode() []byte {
|
|
buf := make([]byte, 21+len(msg.Name)+len(msg.Payload))
|
|
buf[0] = 64
|
|
p := 1
|
|
p = WriteString(msg.Name, buf, p)
|
|
p = WriteString(msg.Payload, buf, p)
|
|
return buf[:p]
|
|
}
|
|
|
|
func (msg *CustomIssue) TypeID() int {
|
|
return 64
|
|
}
|
|
|
|
type PageClose struct {
|
|
message
|
|
}
|
|
|
|
func (msg *PageClose) Encode() []byte {
|
|
buf := make([]byte, 1)
|
|
buf[0] = 65
|
|
p := 1
|
|
|
|
return buf[:p]
|
|
}
|
|
|
|
func (msg *PageClose) TypeID() int {
|
|
return 65
|
|
}
|
|
|
|
type AssetCache struct {
|
|
message
|
|
URL string
|
|
}
|
|
|
|
func (msg *AssetCache) Encode() []byte {
|
|
buf := make([]byte, 11+len(msg.URL))
|
|
buf[0] = 66
|
|
p := 1
|
|
p = WriteString(msg.URL, buf, p)
|
|
return buf[:p]
|
|
}
|
|
|
|
func (msg *AssetCache) TypeID() int {
|
|
return 66
|
|
}
|
|
|
|
type CSSInsertRuleURLBased struct {
|
|
message
|
|
ID uint64
|
|
Rule string
|
|
Index uint64
|
|
BaseURL string
|
|
}
|
|
|
|
func (msg *CSSInsertRuleURLBased) Encode() []byte {
|
|
buf := make([]byte, 41+len(msg.Rule)+len(msg.BaseURL))
|
|
buf[0] = 67
|
|
p := 1
|
|
p = WriteUint(msg.ID, buf, p)
|
|
p = WriteString(msg.Rule, buf, p)
|
|
p = WriteUint(msg.Index, buf, p)
|
|
p = WriteString(msg.BaseURL, buf, p)
|
|
return buf[:p]
|
|
}
|
|
|
|
func (msg *CSSInsertRuleURLBased) TypeID() int {
|
|
return 67
|
|
}
|
|
|
|
type MouseClick struct {
|
|
message
|
|
ID uint64
|
|
HesitationTime uint64
|
|
Label string
|
|
Selector string
|
|
}
|
|
|
|
func (msg *MouseClick) Encode() []byte {
|
|
buf := make([]byte, 41+len(msg.Label)+len(msg.Selector))
|
|
buf[0] = 69
|
|
p := 1
|
|
p = WriteUint(msg.ID, buf, p)
|
|
p = WriteUint(msg.HesitationTime, buf, p)
|
|
p = WriteString(msg.Label, buf, p)
|
|
p = WriteString(msg.Selector, buf, p)
|
|
return buf[:p]
|
|
}
|
|
|
|
func (msg *MouseClick) TypeID() int {
|
|
return 69
|
|
}
|
|
|
|
type CreateIFrameDocument struct {
|
|
message
|
|
FrameID uint64
|
|
ID uint64
|
|
}
|
|
|
|
func (msg *CreateIFrameDocument) Encode() []byte {
|
|
buf := make([]byte, 21)
|
|
buf[0] = 70
|
|
p := 1
|
|
p = WriteUint(msg.FrameID, buf, p)
|
|
p = WriteUint(msg.ID, buf, p)
|
|
return buf[:p]
|
|
}
|
|
|
|
func (msg *CreateIFrameDocument) TypeID() int {
|
|
return 70
|
|
}
|
|
|
|
type IOSBatchMeta struct {
|
|
message
|
|
Timestamp uint64
|
|
Length uint64
|
|
FirstIndex uint64
|
|
}
|
|
|
|
func (msg *IOSBatchMeta) Encode() []byte {
|
|
buf := make([]byte, 31)
|
|
buf[0] = 107
|
|
p := 1
|
|
p = WriteUint(msg.Timestamp, buf, p)
|
|
p = WriteUint(msg.Length, buf, p)
|
|
p = WriteUint(msg.FirstIndex, buf, p)
|
|
return buf[:p]
|
|
}
|
|
|
|
func (msg *IOSBatchMeta) TypeID() int {
|
|
return 107
|
|
}
|
|
|
|
type IOSSessionStart struct {
|
|
message
|
|
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]
|
|
}
|
|
|
|
func (msg *IOSSessionStart) TypeID() int {
|
|
return 90
|
|
}
|
|
|
|
type IOSSessionEnd struct {
|
|
message
|
|
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]
|
|
}
|
|
|
|
func (msg *IOSSessionEnd) TypeID() int {
|
|
return 91
|
|
}
|
|
|
|
type IOSMetadata struct {
|
|
message
|
|
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]
|
|
}
|
|
|
|
func (msg *IOSMetadata) TypeID() int {
|
|
return 92
|
|
}
|
|
|
|
type IOSCustomEvent struct {
|
|
message
|
|
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]
|
|
}
|
|
|
|
func (msg *IOSCustomEvent) TypeID() int {
|
|
return 93
|
|
}
|
|
|
|
type IOSUserID struct {
|
|
message
|
|
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]
|
|
}
|
|
|
|
func (msg *IOSUserID) TypeID() int {
|
|
return 94
|
|
}
|
|
|
|
type IOSUserAnonymousID struct {
|
|
message
|
|
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]
|
|
}
|
|
|
|
func (msg *IOSUserAnonymousID) TypeID() int {
|
|
return 95
|
|
}
|
|
|
|
type IOSScreenChanges struct {
|
|
message
|
|
Timestamp uint64
|
|
Length uint64
|
|
X uint64
|
|
Y uint64
|
|
Width uint64
|
|
Height uint64
|
|
}
|
|
|
|
func (msg *IOSScreenChanges) Encode() []byte {
|
|
buf := make([]byte, 61)
|
|
buf[0] = 96
|
|
p := 1
|
|
p = WriteUint(msg.Timestamp, buf, p)
|
|
p = WriteUint(msg.Length, buf, p)
|
|
p = WriteUint(msg.X, buf, p)
|
|
p = WriteUint(msg.Y, buf, p)
|
|
p = WriteUint(msg.Width, buf, p)
|
|
p = WriteUint(msg.Height, buf, p)
|
|
return buf[:p]
|
|
}
|
|
|
|
func (msg *IOSScreenChanges) TypeID() int {
|
|
return 96
|
|
}
|
|
|
|
type IOSCrash struct {
|
|
message
|
|
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]
|
|
}
|
|
|
|
func (msg *IOSCrash) TypeID() int {
|
|
return 97
|
|
}
|
|
|
|
type IOSScreenEnter struct {
|
|
message
|
|
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]
|
|
}
|
|
|
|
func (msg *IOSScreenEnter) TypeID() int {
|
|
return 98
|
|
}
|
|
|
|
type IOSScreenLeave struct {
|
|
message
|
|
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]
|
|
}
|
|
|
|
func (msg *IOSScreenLeave) TypeID() int {
|
|
return 99
|
|
}
|
|
|
|
type IOSClickEvent struct {
|
|
message
|
|
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]
|
|
}
|
|
|
|
func (msg *IOSClickEvent) TypeID() int {
|
|
return 100
|
|
}
|
|
|
|
type IOSInputEvent struct {
|
|
message
|
|
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]
|
|
}
|
|
|
|
func (msg *IOSInputEvent) TypeID() int {
|
|
return 101
|
|
}
|
|
|
|
type IOSPerformanceEvent struct {
|
|
message
|
|
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]
|
|
}
|
|
|
|
func (msg *IOSPerformanceEvent) TypeID() int {
|
|
return 102
|
|
}
|
|
|
|
type IOSLog struct {
|
|
message
|
|
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]
|
|
}
|
|
|
|
func (msg *IOSLog) TypeID() int {
|
|
return 103
|
|
}
|
|
|
|
type IOSInternalError struct {
|
|
message
|
|
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]
|
|
}
|
|
|
|
func (msg *IOSInternalError) TypeID() int {
|
|
return 104
|
|
}
|
|
|
|
type IOSNetworkCall struct {
|
|
message
|
|
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]
|
|
}
|
|
|
|
func (msg *IOSNetworkCall) TypeID() int {
|
|
return 105
|
|
}
|
|
|
|
type IOSPerformanceAggregated struct {
|
|
message
|
|
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]
|
|
}
|
|
|
|
func (msg *IOSPerformanceAggregated) TypeID() int {
|
|
return 110
|
|
}
|
|
|
|
type IOSIssueEvent struct {
|
|
message
|
|
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]
|
|
}
|
|
|
|
func (msg *IOSIssueEvent) TypeID() int {
|
|
return 111
|
|
}
|