New message with batchsize
This commit is contained in:
parent
2c7235b768
commit
3381e3a081
4 changed files with 858 additions and 891 deletions
|
|
@ -3,7 +3,7 @@ from kafka import KafkaConsumer
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from collections import defaultdict
|
from collections import defaultdict
|
||||||
|
|
||||||
from msgcodec.codec import MessageCodec
|
from msgcodec.msgcodec import MessageCodec
|
||||||
from msgcodec.messages import SessionEnd
|
from msgcodec.messages import SessionEnd
|
||||||
from db.api import DBConnection
|
from db.api import DBConnection
|
||||||
from db.models import events_detailed_table_name, events_table_name, sessions_table_name
|
from db.models import events_detailed_table_name, events_table_name, sessions_table_name
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,4 @@
|
||||||
import io
|
import io
|
||||||
from typing import List
|
|
||||||
from msgcodec.messages import *
|
|
||||||
|
|
||||||
|
|
||||||
class Codec:
|
class Codec:
|
||||||
"""
|
"""
|
||||||
|
|
@ -24,8 +21,6 @@ class Codec:
|
||||||
i = 0 # n of byte (max 9 for uint64)
|
i = 0 # n of byte (max 9 for uint64)
|
||||||
while True:
|
while True:
|
||||||
b = reader.read(1)
|
b = reader.read(1)
|
||||||
if len(b) == 0:
|
|
||||||
raise IndexError('bytes out of range')
|
|
||||||
num = int.from_bytes(b, "big", signed=False)
|
num = int.from_bytes(b, "big", signed=False)
|
||||||
# print(i, x)
|
# print(i, x)
|
||||||
|
|
||||||
|
|
@ -65,755 +60,3 @@ class Codec:
|
||||||
return s.decode("utf-8", errors="replace").replace("\x00", "\uFFFD")
|
return s.decode("utf-8", errors="replace").replace("\x00", "\uFFFD")
|
||||||
except UnicodeDecodeError:
|
except UnicodeDecodeError:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
|
||||||
class MessageCodec(Codec):
|
|
||||||
|
|
||||||
def encode(self, m: Message) -> bytes:
|
|
||||||
...
|
|
||||||
|
|
||||||
def decode(self, b: bytes) -> Message:
|
|
||||||
reader = io.BytesIO(b)
|
|
||||||
return self.read_head_message(reader)
|
|
||||||
|
|
||||||
def decode_detailed(self, b: bytes) -> List[Message]:
|
|
||||||
reader = io.BytesIO(b)
|
|
||||||
messages_list = list()
|
|
||||||
while True:
|
|
||||||
try:
|
|
||||||
messages_list.append(self.read_head_message(reader))
|
|
||||||
except IndexError:
|
|
||||||
break
|
|
||||||
return messages_list
|
|
||||||
|
|
||||||
def read_head_message(self, reader: io.BytesIO) -> Message:
|
|
||||||
message_id = self.read_message_id(reader)
|
|
||||||
if message_id == 0:
|
|
||||||
return Timestamp(
|
|
||||||
timestamp=self.read_uint(reader)
|
|
||||||
)
|
|
||||||
if message_id == 1:
|
|
||||||
return SessionStart(
|
|
||||||
timestamp=self.read_uint(reader),
|
|
||||||
project_id=self.read_uint(reader),
|
|
||||||
tracker_version=self.read_string(reader),
|
|
||||||
rev_id=self.read_string(reader),
|
|
||||||
user_uuid=self.read_string(reader),
|
|
||||||
user_agent=self.read_string(reader),
|
|
||||||
user_os=self.read_string(reader),
|
|
||||||
user_os_version=self.read_string(reader),
|
|
||||||
user_browser=self.read_string(reader),
|
|
||||||
user_browser_version=self.read_string(reader),
|
|
||||||
user_device=self.read_string(reader),
|
|
||||||
user_device_type=self.read_string(reader),
|
|
||||||
user_device_memory_size=self.read_uint(reader),
|
|
||||||
user_device_heap_size=self.read_uint(reader),
|
|
||||||
user_country=self.read_string(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 2:
|
|
||||||
return SessionDisconnect(
|
|
||||||
timestamp=self.read_uint(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 3:
|
|
||||||
return SessionEnd(
|
|
||||||
timestamp=self.read_uint(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 4:
|
|
||||||
return SetPageLocation(
|
|
||||||
url=self.read_string(reader),
|
|
||||||
referrer=self.read_string(reader),
|
|
||||||
navigation_start=self.read_uint(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 5:
|
|
||||||
return SetViewportSize(
|
|
||||||
width=self.read_uint(reader),
|
|
||||||
height=self.read_uint(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 6:
|
|
||||||
return SetViewportScroll(
|
|
||||||
x=self.read_int(reader),
|
|
||||||
y=self.read_int(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 7:
|
|
||||||
return CreateDocument()
|
|
||||||
|
|
||||||
if message_id == 8:
|
|
||||||
return CreateElementNode(
|
|
||||||
id=self.read_uint(reader),
|
|
||||||
parent_id=self.read_uint(reader),
|
|
||||||
index=self.read_uint(reader),
|
|
||||||
tag=self.read_string(reader),
|
|
||||||
svg=self.read_boolean(reader),
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 9:
|
|
||||||
return CreateTextNode(
|
|
||||||
id=self.read_uint(reader),
|
|
||||||
parent_id=self.read_uint(reader),
|
|
||||||
index=self.read_uint(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 10:
|
|
||||||
return MoveNode(
|
|
||||||
id=self.read_uint(reader),
|
|
||||||
parent_id=self.read_uint(reader),
|
|
||||||
index=self.read_uint(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 11:
|
|
||||||
return RemoveNode(
|
|
||||||
id=self.read_uint(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 12:
|
|
||||||
return SetNodeAttribute(
|
|
||||||
id=self.read_uint(reader),
|
|
||||||
name=self.read_string(reader),
|
|
||||||
value=self.read_string(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 13:
|
|
||||||
return RemoveNodeAttribute(
|
|
||||||
id=self.read_uint(reader),
|
|
||||||
name=self.read_string(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 14:
|
|
||||||
return SetNodeData(
|
|
||||||
id=self.read_uint(reader),
|
|
||||||
data=self.read_string(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 15:
|
|
||||||
return SetCSSData(
|
|
||||||
id=self.read_uint(reader),
|
|
||||||
data=self.read_string(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 16:
|
|
||||||
return SetNodeScroll(
|
|
||||||
id=self.read_uint(reader),
|
|
||||||
x=self.read_int(reader),
|
|
||||||
y=self.read_int(reader),
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 17:
|
|
||||||
return SetInputTarget(
|
|
||||||
id=self.read_uint(reader),
|
|
||||||
label=self.read_string(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 18:
|
|
||||||
return SetInputValue(
|
|
||||||
id=self.read_uint(reader),
|
|
||||||
value=self.read_string(reader),
|
|
||||||
mask=self.read_int(reader),
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 19:
|
|
||||||
return SetInputChecked(
|
|
||||||
id=self.read_uint(reader),
|
|
||||||
checked=self.read_boolean(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 20:
|
|
||||||
return MouseMove(
|
|
||||||
x=self.read_uint(reader),
|
|
||||||
y=self.read_uint(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 21:
|
|
||||||
return MouseClickDepricated(
|
|
||||||
id=self.read_uint(reader),
|
|
||||||
hesitation_time=self.read_uint(reader),
|
|
||||||
label=self.read_string(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 22:
|
|
||||||
return ConsoleLog(
|
|
||||||
level=self.read_string(reader),
|
|
||||||
value=self.read_string(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 23:
|
|
||||||
return PageLoadTiming(
|
|
||||||
request_start=self.read_uint(reader),
|
|
||||||
response_start=self.read_uint(reader),
|
|
||||||
response_end=self.read_uint(reader),
|
|
||||||
dom_content_loaded_event_start=self.read_uint(reader),
|
|
||||||
dom_content_loaded_event_end=self.read_uint(reader),
|
|
||||||
load_event_start=self.read_uint(reader),
|
|
||||||
load_event_end=self.read_uint(reader),
|
|
||||||
first_paint=self.read_uint(reader),
|
|
||||||
first_contentful_paint=self.read_uint(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 24:
|
|
||||||
return PageRenderTiming(
|
|
||||||
speed_index=self.read_uint(reader),
|
|
||||||
visually_complete=self.read_uint(reader),
|
|
||||||
time_to_interactive=self.read_uint(reader),
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 25:
|
|
||||||
return JSException(
|
|
||||||
name=self.read_string(reader),
|
|
||||||
message=self.read_string(reader),
|
|
||||||
payload=self.read_string(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 26:
|
|
||||||
return RawErrorEvent(
|
|
||||||
timestamp=self.read_uint(reader),
|
|
||||||
source=self.read_string(reader),
|
|
||||||
name=self.read_string(reader),
|
|
||||||
message=self.read_string(reader),
|
|
||||||
payload=self.read_string(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 27:
|
|
||||||
return RawCustomEvent(
|
|
||||||
name=self.read_string(reader),
|
|
||||||
payload=self.read_string(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 28:
|
|
||||||
return UserID(
|
|
||||||
id=self.read_string(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 29:
|
|
||||||
return UserAnonymousID(
|
|
||||||
id=self.read_string(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 30:
|
|
||||||
return Metadata(
|
|
||||||
key=self.read_string(reader),
|
|
||||||
value=self.read_string(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 31:
|
|
||||||
return PageEvent(
|
|
||||||
message_id=self.read_uint(reader),
|
|
||||||
timestamp=self.read_uint(reader),
|
|
||||||
url=self.read_string(reader),
|
|
||||||
referrer=self.read_string(reader),
|
|
||||||
loaded=self.read_boolean(reader),
|
|
||||||
request_start=self.read_uint(reader),
|
|
||||||
response_start=self.read_uint(reader),
|
|
||||||
response_end=self.read_uint(reader),
|
|
||||||
dom_content_loaded_event_start=self.read_uint(reader),
|
|
||||||
dom_content_loaded_event_end=self.read_uint(reader),
|
|
||||||
load_event_start=self.read_uint(reader),
|
|
||||||
load_event_end=self.read_uint(reader),
|
|
||||||
first_paint=self.read_uint(reader),
|
|
||||||
first_contentful_paint=self.read_uint(reader),
|
|
||||||
speed_index=self.read_uint(reader),
|
|
||||||
visually_complete=self.read_uint(reader),
|
|
||||||
time_to_interactive=self.read_uint(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 32:
|
|
||||||
return InputEvent(
|
|
||||||
message_id=self.read_uint(reader),
|
|
||||||
timestamp=self.read_uint(reader),
|
|
||||||
value=self.read_string(reader),
|
|
||||||
value_masked=self.read_boolean(reader),
|
|
||||||
label=self.read_string(reader),
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 33:
|
|
||||||
return ClickEvent(
|
|
||||||
message_id=self.read_uint(reader),
|
|
||||||
timestamp=self.read_uint(reader),
|
|
||||||
hesitation_time=self.read_uint(reader),
|
|
||||||
label=self.read_string(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 34:
|
|
||||||
return ErrorEvent(
|
|
||||||
message_id=self.read_uint(reader),
|
|
||||||
timestamp=self.read_uint(reader),
|
|
||||||
source=self.read_string(reader),
|
|
||||||
name=self.read_string(reader),
|
|
||||||
message=self.read_string(reader),
|
|
||||||
payload=self.read_string(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 35:
|
|
||||||
|
|
||||||
message_id = self.read_uint(reader)
|
|
||||||
ts = self.read_uint(reader)
|
|
||||||
if ts > 9999999999999:
|
|
||||||
ts = None
|
|
||||||
return ResourceEvent(
|
|
||||||
message_id=message_id,
|
|
||||||
timestamp=ts,
|
|
||||||
duration=self.read_uint(reader),
|
|
||||||
ttfb=self.read_uint(reader),
|
|
||||||
header_size=self.read_uint(reader),
|
|
||||||
encoded_body_size=self.read_uint(reader),
|
|
||||||
decoded_body_size=self.read_uint(reader),
|
|
||||||
url=self.read_string(reader),
|
|
||||||
type=self.read_string(reader),
|
|
||||||
success=self.read_boolean(reader),
|
|
||||||
method=self.read_string(reader),
|
|
||||||
status=self.read_uint(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 36:
|
|
||||||
return CustomEvent(
|
|
||||||
message_id=self.read_uint(reader),
|
|
||||||
timestamp=self.read_uint(reader),
|
|
||||||
name=self.read_string(reader),
|
|
||||||
payload=self.read_string(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 37:
|
|
||||||
return CSSInsertRule(
|
|
||||||
id=self.read_uint(reader),
|
|
||||||
rule=self.read_string(reader),
|
|
||||||
index=self.read_uint(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 38:
|
|
||||||
return CSSDeleteRule(
|
|
||||||
id=self.read_uint(reader),
|
|
||||||
index=self.read_uint(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 39:
|
|
||||||
return Fetch(
|
|
||||||
method=self.read_string(reader),
|
|
||||||
url=self.read_string(reader),
|
|
||||||
request=self.read_string(reader),
|
|
||||||
response=self.read_string(reader),
|
|
||||||
status=self.read_uint(reader),
|
|
||||||
timestamp=self.read_uint(reader),
|
|
||||||
duration=self.read_uint(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 40:
|
|
||||||
return Profiler(
|
|
||||||
name=self.read_string(reader),
|
|
||||||
duration=self.read_uint(reader),
|
|
||||||
args=self.read_string(reader),
|
|
||||||
result=self.read_string(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 41:
|
|
||||||
return OTable(
|
|
||||||
key=self.read_string(reader),
|
|
||||||
value=self.read_string(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 42:
|
|
||||||
return StateAction(
|
|
||||||
type=self.read_string(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 43:
|
|
||||||
return StateActionEvent(
|
|
||||||
message_id=self.read_uint(reader),
|
|
||||||
timestamp=self.read_uint(reader),
|
|
||||||
type=self.read_string(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 44:
|
|
||||||
return Redux(
|
|
||||||
action=self.read_string(reader),
|
|
||||||
state=self.read_string(reader),
|
|
||||||
duration=self.read_uint(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 45:
|
|
||||||
return Vuex(
|
|
||||||
mutation=self.read_string(reader),
|
|
||||||
state=self.read_string(reader),
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 46:
|
|
||||||
return MobX(
|
|
||||||
type=self.read_string(reader),
|
|
||||||
payload=self.read_string(reader),
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 47:
|
|
||||||
return NgRx(
|
|
||||||
action=self.read_string(reader),
|
|
||||||
state=self.read_string(reader),
|
|
||||||
duration=self.read_uint(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 48:
|
|
||||||
return GraphQL(
|
|
||||||
operation_kind=self.read_string(reader),
|
|
||||||
operation_name=self.read_string(reader),
|
|
||||||
variables=self.read_string(reader),
|
|
||||||
response=self.read_string(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 49:
|
|
||||||
return PerformanceTrack(
|
|
||||||
frames=self.read_int(reader),
|
|
||||||
ticks=self.read_int(reader),
|
|
||||||
total_js_heap_size=self.read_uint(reader),
|
|
||||||
used_js_heap_size=self.read_uint(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 50:
|
|
||||||
return GraphQLEvent(
|
|
||||||
message_id=self.read_uint(reader),
|
|
||||||
timestamp=self.read_uint(reader),
|
|
||||||
name=self.read_string(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 51:
|
|
||||||
return FetchEvent(
|
|
||||||
message_id=self.read_uint(reader),
|
|
||||||
timestamp=self.read_uint(reader),
|
|
||||||
method=self.read_string(reader),
|
|
||||||
url=self.read_string(reader),
|
|
||||||
request=self.read_string(reader),
|
|
||||||
response=self.read_string(reader),
|
|
||||||
status=self.read_uint(reader),
|
|
||||||
duration=self.read_uint(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 52:
|
|
||||||
return DomDrop(
|
|
||||||
timestamp=self.read_uint(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 53:
|
|
||||||
return ResourceTiming(
|
|
||||||
timestamp=self.read_uint(reader),
|
|
||||||
duration=self.read_uint(reader),
|
|
||||||
ttfb=self.read_uint(reader),
|
|
||||||
header_size=self.read_uint(reader),
|
|
||||||
encoded_body_size=self.read_uint(reader),
|
|
||||||
decoded_body_size=self.read_uint(reader),
|
|
||||||
url=self.read_string(reader),
|
|
||||||
initiator=self.read_string(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 54:
|
|
||||||
return ConnectionInformation(
|
|
||||||
downlink=self.read_uint(reader),
|
|
||||||
type=self.read_string(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 55:
|
|
||||||
return SetPageVisibility(
|
|
||||||
hidden=self.read_boolean(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 56:
|
|
||||||
return PerformanceTrackAggr(
|
|
||||||
timestamp_start=self.read_uint(reader),
|
|
||||||
timestamp_end=self.read_uint(reader),
|
|
||||||
min_fps=self.read_uint(reader),
|
|
||||||
avg_fps=self.read_uint(reader),
|
|
||||||
max_fps=self.read_uint(reader),
|
|
||||||
min_cpu=self.read_uint(reader),
|
|
||||||
avg_cpu=self.read_uint(reader),
|
|
||||||
max_cpu=self.read_uint(reader),
|
|
||||||
min_total_js_heap_size=self.read_uint(reader),
|
|
||||||
avg_total_js_heap_size=self.read_uint(reader),
|
|
||||||
max_total_js_heap_size=self.read_uint(reader),
|
|
||||||
min_used_js_heap_size=self.read_uint(reader),
|
|
||||||
avg_used_js_heap_size=self.read_uint(reader),
|
|
||||||
max_used_js_heap_size=self.read_uint(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 59:
|
|
||||||
return LongTask(
|
|
||||||
timestamp=self.read_uint(reader),
|
|
||||||
duration=self.read_uint(reader),
|
|
||||||
context=self.read_uint(reader),
|
|
||||||
container_type=self.read_uint(reader),
|
|
||||||
container_src=self.read_string(reader),
|
|
||||||
container_id=self.read_string(reader),
|
|
||||||
container_name=self.read_string(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 60:
|
|
||||||
return SetNodeURLBasedAttribute(
|
|
||||||
id=self.read_uint(reader),
|
|
||||||
name=self.read_string(reader),
|
|
||||||
value=self.read_string(reader),
|
|
||||||
base_url=self.read_string(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 61:
|
|
||||||
return SetStyleData(
|
|
||||||
id=self.read_uint(reader),
|
|
||||||
data=self.read_string(reader),
|
|
||||||
base_url=self.read_string(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 62:
|
|
||||||
return IssueEvent(
|
|
||||||
message_id=self.read_uint(reader),
|
|
||||||
timestamp=self.read_uint(reader),
|
|
||||||
type=self.read_string(reader),
|
|
||||||
context_string=self.read_string(reader),
|
|
||||||
context=self.read_string(reader),
|
|
||||||
payload=self.read_string(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 63:
|
|
||||||
return TechnicalInfo(
|
|
||||||
type=self.read_string(reader),
|
|
||||||
value=self.read_string(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 64:
|
|
||||||
return CustomIssue(
|
|
||||||
name=self.read_string(reader),
|
|
||||||
payload=self.read_string(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 65:
|
|
||||||
return PageClose()
|
|
||||||
|
|
||||||
if message_id == 66:
|
|
||||||
return AssetCache(
|
|
||||||
url=self.read_string(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 67:
|
|
||||||
return CSSInsertRuleURLBased(
|
|
||||||
id=self.read_uint(reader),
|
|
||||||
rule=self.read_string(reader),
|
|
||||||
index=self.read_uint(reader),
|
|
||||||
base_url=self.read_string(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 69:
|
|
||||||
return MouseClick(
|
|
||||||
id=self.read_uint(reader),
|
|
||||||
hesitation_time=self.read_uint(reader),
|
|
||||||
label=self.read_string(reader),
|
|
||||||
selector=self.read_string(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 70:
|
|
||||||
return CreateIFrameDocument(
|
|
||||||
frame_id=self.read_uint(reader),
|
|
||||||
id=self.read_uint(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 80:
|
|
||||||
return BatchMeta(
|
|
||||||
page_no=self.read_uint(reader),
|
|
||||||
first_index=self.read_uint(reader),
|
|
||||||
timestamp=self.read_int(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 90:
|
|
||||||
return IOSSessionStart(
|
|
||||||
timestamp=self.read_uint(reader),
|
|
||||||
project_id=self.read_uint(reader),
|
|
||||||
tracker_version=self.read_string(reader),
|
|
||||||
rev_id=self.read_string(reader),
|
|
||||||
user_uuid=self.read_string(reader),
|
|
||||||
user_os=self.read_string(reader),
|
|
||||||
user_os_version=self.read_string(reader),
|
|
||||||
user_device=self.read_string(reader),
|
|
||||||
user_device_type=self.read_string(reader),
|
|
||||||
user_country=self.read_string(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 91:
|
|
||||||
return IOSSessionEnd(
|
|
||||||
timestamp=self.read_uint(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 92:
|
|
||||||
return IOSMetadata(
|
|
||||||
timestamp=self.read_uint(reader),
|
|
||||||
length=self.read_uint(reader),
|
|
||||||
key=self.read_string(reader),
|
|
||||||
value=self.read_string(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 93:
|
|
||||||
return IOSCustomEvent(
|
|
||||||
timestamp=self.read_uint(reader),
|
|
||||||
length=self.read_uint(reader),
|
|
||||||
name=self.read_string(reader),
|
|
||||||
payload=self.read_string(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 94:
|
|
||||||
return IOSUserID(
|
|
||||||
timestamp=self.read_uint(reader),
|
|
||||||
length=self.read_uint(reader),
|
|
||||||
value=self.read_string(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 95:
|
|
||||||
return IOSUserAnonymousID(
|
|
||||||
timestamp=self.read_uint(reader),
|
|
||||||
length=self.read_uint(reader),
|
|
||||||
value=self.read_string(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 96:
|
|
||||||
return IOSScreenChanges(
|
|
||||||
timestamp=self.read_uint(reader),
|
|
||||||
length=self.read_uint(reader),
|
|
||||||
x=self.read_uint(reader),
|
|
||||||
y=self.read_uint(reader),
|
|
||||||
width=self.read_uint(reader),
|
|
||||||
height=self.read_uint(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 97:
|
|
||||||
return IOSCrash(
|
|
||||||
timestamp=self.read_uint(reader),
|
|
||||||
length=self.read_uint(reader),
|
|
||||||
name=self.read_string(reader),
|
|
||||||
reason=self.read_string(reader),
|
|
||||||
stacktrace=self.read_string(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 98:
|
|
||||||
return IOSScreenEnter(
|
|
||||||
timestamp=self.read_uint(reader),
|
|
||||||
length=self.read_uint(reader),
|
|
||||||
title=self.read_string(reader),
|
|
||||||
view_name=self.read_string(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 99:
|
|
||||||
return IOSScreenLeave(
|
|
||||||
timestamp=self.read_uint(reader),
|
|
||||||
length=self.read_uint(reader),
|
|
||||||
title=self.read_string(reader),
|
|
||||||
view_name=self.read_string(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 100:
|
|
||||||
return IOSClickEvent(
|
|
||||||
timestamp=self.read_uint(reader),
|
|
||||||
length=self.read_uint(reader),
|
|
||||||
label=self.read_string(reader),
|
|
||||||
x=self.read_uint(reader),
|
|
||||||
y=self.read_uint(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 101:
|
|
||||||
return IOSInputEvent(
|
|
||||||
timestamp=self.read_uint(reader),
|
|
||||||
length=self.read_uint(reader),
|
|
||||||
value=self.read_string(reader),
|
|
||||||
value_masked=self.read_boolean(reader),
|
|
||||||
label=self.read_string(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 102:
|
|
||||||
return IOSPreformanceEvent(
|
|
||||||
timestamp=self.read_uint(reader),
|
|
||||||
length=self.read_uint(reader),
|
|
||||||
name=self.read_string(reader),
|
|
||||||
value=self.read_uint(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 103:
|
|
||||||
return IOSLog(
|
|
||||||
timestamp=self.read_uint(reader),
|
|
||||||
length=self.read_uint(reader),
|
|
||||||
severity=self.read_string(reader),
|
|
||||||
content=self.read_string(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 104:
|
|
||||||
return IOSInternalError(
|
|
||||||
timestamp=self.read_uint(reader),
|
|
||||||
length=self.read_uint(reader),
|
|
||||||
content=self.read_string(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 105:
|
|
||||||
return IOSNetworkCall(
|
|
||||||
timestamp=self.read_uint(reader),
|
|
||||||
length=self.read_uint(reader),
|
|
||||||
duration=self.read_uint(reader),
|
|
||||||
headers=self.read_string(reader),
|
|
||||||
body=self.read_string(reader),
|
|
||||||
url=self.read_string(reader),
|
|
||||||
success=self.read_boolean(reader),
|
|
||||||
method=self.read_string(reader),
|
|
||||||
status=self.read_uint(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 107:
|
|
||||||
return IOSBatchMeta(
|
|
||||||
timestamp=self.read_uint(reader),
|
|
||||||
length=self.read_uint(reader),
|
|
||||||
first_index=self.read_uint(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
if message_id == 110:
|
|
||||||
return IOSPerformanceAggregated(
|
|
||||||
timestamp_start=self.read_uint(reader),
|
|
||||||
timestamp_end=self.read_uint(reader),
|
|
||||||
min_fps=self.read_uint(reader),
|
|
||||||
avg_fps=self.read_uint(reader),
|
|
||||||
max_fps=self.read_uint(reader),
|
|
||||||
min_cpu=self.read_uint(reader),
|
|
||||||
avg_cpu=self.read_uint(reader),
|
|
||||||
max_cpu=self.read_uint(reader),
|
|
||||||
min_memory=self.read_uint(reader),
|
|
||||||
avg_memory=self.read_uint(reader),
|
|
||||||
max_memory=self.read_uint(reader),
|
|
||||||
min_battery=self.read_uint(reader),
|
|
||||||
avg_battery=self.read_uint(reader),
|
|
||||||
max_battery=self.read_uint(reader)
|
|
||||||
)
|
|
||||||
if message_id == 111:
|
|
||||||
return IOSIssueEvent(
|
|
||||||
timestamp=self.read_uint(reader),
|
|
||||||
type=self.read_string(reader),
|
|
||||||
context_string=self.read_string(reader),
|
|
||||||
context=self.read_string(reader),
|
|
||||||
payload=self.read_string(reader)
|
|
||||||
)
|
|
||||||
|
|
||||||
def read_message_id(self, reader: io.BytesIO) -> int:
|
|
||||||
"""
|
|
||||||
Read and return the first byte where the message id is encoded
|
|
||||||
"""
|
|
||||||
id_ = self.read_uint(reader)
|
|
||||||
return id_
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def check_message_id(b: bytes) -> int:
|
|
||||||
"""
|
|
||||||
todo: make it static and without reader. It's just the first byte
|
|
||||||
Read and return the first byte where the message id is encoded
|
|
||||||
"""
|
|
||||||
reader = io.BytesIO(b)
|
|
||||||
id_ = Codec.read_uint(reader)
|
|
||||||
|
|
||||||
return id_
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def decode_key(b) -> int:
|
|
||||||
"""
|
|
||||||
Decode the message key (encoded with little endian)
|
|
||||||
"""
|
|
||||||
try:
|
|
||||||
decoded = int.from_bytes(b, "little", signed=False)
|
|
||||||
except Exception as e:
|
|
||||||
raise UnicodeDecodeError(f"Error while decoding message key (SessionID) from {b}\n{e}")
|
|
||||||
return decoded
|
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,39 @@
|
||||||
"""
|
# Auto-generated, do not edit
|
||||||
Representations of Kafka messages
|
|
||||||
"""
|
|
||||||
from abc import ABC
|
|
||||||
|
|
||||||
|
from abc import ABC
|
||||||
|
|
||||||
class Message(ABC):
|
class Message(ABC):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class BatchMeta(Message):
|
||||||
|
__id__ = 80
|
||||||
|
|
||||||
|
def __init__(self, page_no, first_index, timestamp):
|
||||||
|
self.page_no = page_no
|
||||||
|
self.first_index = first_index
|
||||||
|
self.timestamp = timestamp
|
||||||
|
|
||||||
|
|
||||||
|
class BatchMetadata(Message):
|
||||||
|
__id__ = 81
|
||||||
|
|
||||||
|
def __init__(self, version, page_no, first_index, timestamp, location):
|
||||||
|
self.version = version
|
||||||
|
self.page_no = page_no
|
||||||
|
self.first_index = first_index
|
||||||
|
self.timestamp = timestamp
|
||||||
|
self.location = location
|
||||||
|
|
||||||
|
|
||||||
|
class PartitionedMessage(Message):
|
||||||
|
__id__ = 82
|
||||||
|
|
||||||
|
def __init__(self, part_no, part_total):
|
||||||
|
self.part_no = part_no
|
||||||
|
self.part_total = part_total
|
||||||
|
|
||||||
|
|
||||||
class Timestamp(Message):
|
class Timestamp(Message):
|
||||||
__id__ = 0
|
__id__ = 0
|
||||||
|
|
||||||
|
|
@ -18,10 +44,7 @@ class Timestamp(Message):
|
||||||
class SessionStart(Message):
|
class SessionStart(Message):
|
||||||
__id__ = 1
|
__id__ = 1
|
||||||
|
|
||||||
def __init__(self, timestamp, project_id, tracker_version, rev_id, user_uuid,
|
def __init__(self, timestamp, project_id, tracker_version, rev_id, user_uuid, user_agent, user_os, user_os_version, user_browser, user_browser_version, user_device, user_device_type, user_device_memory_size, user_device_heap_size, user_country, user_id):
|
||||||
user_agent, user_os, user_os_version, user_browser, user_browser_version,
|
|
||||||
user_device, user_device_type, user_device_memory_size, user_device_heap_size,
|
|
||||||
user_country):
|
|
||||||
self.timestamp = timestamp
|
self.timestamp = timestamp
|
||||||
self.project_id = project_id
|
self.project_id = project_id
|
||||||
self.tracker_version = tracker_version
|
self.tracker_version = tracker_version
|
||||||
|
|
@ -37,6 +60,7 @@ class SessionStart(Message):
|
||||||
self.user_device_memory_size = user_device_memory_size
|
self.user_device_memory_size = user_device_memory_size
|
||||||
self.user_device_heap_size = user_device_heap_size
|
self.user_device_heap_size = user_device_heap_size
|
||||||
self.user_country = user_country
|
self.user_country = user_country
|
||||||
|
self.user_id = user_id
|
||||||
|
|
||||||
|
|
||||||
class SessionDisconnect(Message):
|
class SessionDisconnect(Message):
|
||||||
|
|
@ -48,7 +72,6 @@ class SessionDisconnect(Message):
|
||||||
|
|
||||||
class SessionEnd(Message):
|
class SessionEnd(Message):
|
||||||
__id__ = 3
|
__id__ = 3
|
||||||
__name__ = 'SessionEnd'
|
|
||||||
|
|
||||||
def __init__(self, timestamp):
|
def __init__(self, timestamp):
|
||||||
self.timestamp = timestamp
|
self.timestamp = timestamp
|
||||||
|
|
@ -82,13 +105,17 @@ class SetViewportScroll(Message):
|
||||||
class CreateDocument(Message):
|
class CreateDocument(Message):
|
||||||
__id__ = 7
|
__id__ = 7
|
||||||
|
|
||||||
|
def __init__(self, ):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class CreateElementNode(Message):
|
class CreateElementNode(Message):
|
||||||
__id__ = 8
|
__id__ = 8
|
||||||
|
|
||||||
def __init__(self, id, parent_id, index, tag, svg):
|
def __init__(self, id, parent_id, index, tag, svg):
|
||||||
self.id = id
|
self.id = id
|
||||||
self.parent_id = parent_id,
|
self.parent_id = parent_id
|
||||||
self.index = index
|
self.index = index
|
||||||
self.tag = tag
|
self.tag = tag
|
||||||
self.svg = svg
|
self.svg = svg
|
||||||
|
|
@ -122,7 +149,7 @@ class RemoveNode(Message):
|
||||||
class SetNodeAttribute(Message):
|
class SetNodeAttribute(Message):
|
||||||
__id__ = 12
|
__id__ = 12
|
||||||
|
|
||||||
def __init__(self, id, name: str, value: str):
|
def __init__(self, id, name, value):
|
||||||
self.id = id
|
self.id = id
|
||||||
self.name = name
|
self.name = name
|
||||||
self.value = value
|
self.value = value
|
||||||
|
|
@ -131,7 +158,7 @@ class SetNodeAttribute(Message):
|
||||||
class RemoveNodeAttribute(Message):
|
class RemoveNodeAttribute(Message):
|
||||||
__id__ = 13
|
__id__ = 13
|
||||||
|
|
||||||
def __init__(self, id, name: str):
|
def __init__(self, id, name):
|
||||||
self.id = id
|
self.id = id
|
||||||
self.name = name
|
self.name = name
|
||||||
|
|
||||||
|
|
@ -139,7 +166,7 @@ class RemoveNodeAttribute(Message):
|
||||||
class SetNodeData(Message):
|
class SetNodeData(Message):
|
||||||
__id__ = 14
|
__id__ = 14
|
||||||
|
|
||||||
def __init__(self, id, data: str):
|
def __init__(self, id, data):
|
||||||
self.id = id
|
self.id = id
|
||||||
self.data = data
|
self.data = data
|
||||||
|
|
||||||
|
|
@ -147,7 +174,7 @@ class SetNodeData(Message):
|
||||||
class SetCSSData(Message):
|
class SetCSSData(Message):
|
||||||
__id__ = 15
|
__id__ = 15
|
||||||
|
|
||||||
def __init__(self, id, data: str):
|
def __init__(self, id, data):
|
||||||
self.id = id
|
self.id = id
|
||||||
self.data = data
|
self.data = data
|
||||||
|
|
||||||
|
|
@ -155,7 +182,7 @@ class SetCSSData(Message):
|
||||||
class SetNodeScroll(Message):
|
class SetNodeScroll(Message):
|
||||||
__id__ = 16
|
__id__ = 16
|
||||||
|
|
||||||
def __init__(self, id, x: int, y: int):
|
def __init__(self, id, x, y):
|
||||||
self.id = id
|
self.id = id
|
||||||
self.x = x
|
self.x = x
|
||||||
self.y = y
|
self.y = y
|
||||||
|
|
@ -164,7 +191,7 @@ class SetNodeScroll(Message):
|
||||||
class SetInputTarget(Message):
|
class SetInputTarget(Message):
|
||||||
__id__ = 17
|
__id__ = 17
|
||||||
|
|
||||||
def __init__(self, id, label: str):
|
def __init__(self, id, label):
|
||||||
self.id = id
|
self.id = id
|
||||||
self.label = label
|
self.label = label
|
||||||
|
|
||||||
|
|
@ -172,7 +199,7 @@ class SetInputTarget(Message):
|
||||||
class SetInputValue(Message):
|
class SetInputValue(Message):
|
||||||
__id__ = 18
|
__id__ = 18
|
||||||
|
|
||||||
def __init__(self, id, value: str, mask: int):
|
def __init__(self, id, value, mask):
|
||||||
self.id = id
|
self.id = id
|
||||||
self.value = value
|
self.value = value
|
||||||
self.mask = mask
|
self.mask = mask
|
||||||
|
|
@ -181,7 +208,7 @@ class SetInputValue(Message):
|
||||||
class SetInputChecked(Message):
|
class SetInputChecked(Message):
|
||||||
__id__ = 19
|
__id__ = 19
|
||||||
|
|
||||||
def __init__(self, id, checked: bool):
|
def __init__(self, id, checked):
|
||||||
self.id = id
|
self.id = id
|
||||||
self.checked = checked
|
self.checked = checked
|
||||||
|
|
||||||
|
|
@ -197,7 +224,7 @@ class MouseMove(Message):
|
||||||
class MouseClickDepricated(Message):
|
class MouseClickDepricated(Message):
|
||||||
__id__ = 21
|
__id__ = 21
|
||||||
|
|
||||||
def __init__(self, id, hesitation_time, label: str):
|
def __init__(self, id, hesitation_time, label):
|
||||||
self.id = id
|
self.id = id
|
||||||
self.hesitation_time = hesitation_time
|
self.hesitation_time = hesitation_time
|
||||||
self.label = label
|
self.label = label
|
||||||
|
|
@ -206,7 +233,7 @@ class MouseClickDepricated(Message):
|
||||||
class ConsoleLog(Message):
|
class ConsoleLog(Message):
|
||||||
__id__ = 22
|
__id__ = 22
|
||||||
|
|
||||||
def __init__(self, level: str, value: str):
|
def __init__(self, level, value):
|
||||||
self.level = level
|
self.level = level
|
||||||
self.value = value
|
self.value = value
|
||||||
|
|
||||||
|
|
@ -214,9 +241,7 @@ class ConsoleLog(Message):
|
||||||
class PageLoadTiming(Message):
|
class PageLoadTiming(Message):
|
||||||
__id__ = 23
|
__id__ = 23
|
||||||
|
|
||||||
def __init__(self, request_start, response_start, response_end, dom_content_loaded_event_start,
|
def __init__(self, request_start, response_start, response_end, dom_content_loaded_event_start, dom_content_loaded_event_end, load_event_start, load_event_end, first_paint, first_contentful_paint):
|
||||||
dom_content_loaded_event_end, load_event_start, load_event_end,
|
|
||||||
first_paint, first_contentful_paint):
|
|
||||||
self.request_start = request_start
|
self.request_start = request_start
|
||||||
self.response_start = response_start
|
self.response_start = response_start
|
||||||
self.response_end = response_end
|
self.response_end = response_end
|
||||||
|
|
@ -236,20 +261,20 @@ class PageRenderTiming(Message):
|
||||||
self.visually_complete = visually_complete
|
self.visually_complete = visually_complete
|
||||||
self.time_to_interactive = time_to_interactive
|
self.time_to_interactive = time_to_interactive
|
||||||
|
|
||||||
|
|
||||||
class JSException(Message):
|
class JSException(Message):
|
||||||
__id__ = 25
|
__id__ = 25
|
||||||
|
|
||||||
def __init__(self, name: str, message: str, payload: str):
|
def __init__(self, name, message, payload):
|
||||||
self.name = name
|
self.name = name
|
||||||
self.message = message
|
self.message = message
|
||||||
self.payload = payload
|
self.payload = payload
|
||||||
|
|
||||||
|
|
||||||
class RawErrorEvent(Message):
|
class IntegrationEvent(Message):
|
||||||
__id__ = 26
|
__id__ = 26
|
||||||
|
|
||||||
def __init__(self, timestamp, source: str, name: str, message: str,
|
def __init__(self, timestamp, source, name, message, payload):
|
||||||
payload: str):
|
|
||||||
self.timestamp = timestamp
|
self.timestamp = timestamp
|
||||||
self.source = source
|
self.source = source
|
||||||
self.name = name
|
self.name = name
|
||||||
|
|
@ -260,7 +285,7 @@ class RawErrorEvent(Message):
|
||||||
class RawCustomEvent(Message):
|
class RawCustomEvent(Message):
|
||||||
__id__ = 27
|
__id__ = 27
|
||||||
|
|
||||||
def __init__(self, name: str, payload: str):
|
def __init__(self, name, payload):
|
||||||
self.name = name
|
self.name = name
|
||||||
self.payload = payload
|
self.payload = payload
|
||||||
|
|
||||||
|
|
@ -268,44 +293,29 @@ class RawCustomEvent(Message):
|
||||||
class UserID(Message):
|
class UserID(Message):
|
||||||
__id__ = 28
|
__id__ = 28
|
||||||
|
|
||||||
def __init__(self, id: str):
|
def __init__(self, id):
|
||||||
self.id = id
|
self.id = id
|
||||||
|
|
||||||
|
|
||||||
class UserAnonymousID(Message):
|
class UserAnonymousID(Message):
|
||||||
__id__ = 29
|
__id__ = 29
|
||||||
|
|
||||||
def __init__(self, id: str):
|
def __init__(self, id):
|
||||||
self.id = id
|
self.id = id
|
||||||
|
|
||||||
|
|
||||||
class Metadata(Message):
|
class Metadata(Message):
|
||||||
__id__ = 30
|
__id__ = 30
|
||||||
|
|
||||||
def __init__(self, key: str, value: str):
|
def __init__(self, key, value):
|
||||||
self.key = key
|
self.key = key
|
||||||
self.value = value
|
self.value = value
|
||||||
|
|
||||||
|
|
||||||
class PerformanceTrack(Message):
|
|
||||||
__id__ = 49
|
|
||||||
|
|
||||||
def __init__(self, frames: int, ticks: int, total_js_heap_size,
|
|
||||||
used_js_heap_size):
|
|
||||||
self.frames = frames
|
|
||||||
self.ticks = ticks
|
|
||||||
self.total_js_heap_size = total_js_heap_size
|
|
||||||
self.used_js_heap_size = used_js_heap_size
|
|
||||||
|
|
||||||
|
|
||||||
class PageEvent(Message):
|
class PageEvent(Message):
|
||||||
__id__ = 31
|
__id__ = 31
|
||||||
|
|
||||||
def __init__(self, message_id, timestamp, url: str, referrer: str,
|
def __init__(self, message_id, timestamp, url, referrer, loaded, request_start, response_start, response_end, dom_content_loaded_event_start, dom_content_loaded_event_end, load_event_start, load_event_end, first_paint, first_contentful_paint, speed_index, visually_complete, time_to_interactive):
|
||||||
loaded: bool, request_start, response_start, response_end,
|
|
||||||
dom_content_loaded_event_start, dom_content_loaded_event_end,
|
|
||||||
load_event_start, load_event_end, first_paint, first_contentful_paint,
|
|
||||||
speed_index, visually_complete, time_to_interactive):
|
|
||||||
self.message_id = message_id
|
self.message_id = message_id
|
||||||
self.timestamp = timestamp
|
self.timestamp = timestamp
|
||||||
self.url = url
|
self.url = url
|
||||||
|
|
@ -328,7 +338,7 @@ class PageEvent(Message):
|
||||||
class InputEvent(Message):
|
class InputEvent(Message):
|
||||||
__id__ = 32
|
__id__ = 32
|
||||||
|
|
||||||
def __init__(self, message_id, timestamp, value: str, value_masked: bool, label: str):
|
def __init__(self, message_id, timestamp, value, value_masked, label):
|
||||||
self.message_id = message_id
|
self.message_id = message_id
|
||||||
self.timestamp = timestamp
|
self.timestamp = timestamp
|
||||||
self.value = value
|
self.value = value
|
||||||
|
|
@ -339,18 +349,18 @@ class InputEvent(Message):
|
||||||
class ClickEvent(Message):
|
class ClickEvent(Message):
|
||||||
__id__ = 33
|
__id__ = 33
|
||||||
|
|
||||||
def __init__(self, message_id, timestamp, hesitation_time, label: str):
|
def __init__(self, message_id, timestamp, hesitation_time, label, selector):
|
||||||
self.message_id = message_id
|
self.message_id = message_id
|
||||||
self.timestamp = timestamp
|
self.timestamp = timestamp
|
||||||
self.hesitation_time = hesitation_time
|
self.hesitation_time = hesitation_time
|
||||||
self.label = label
|
self.label = label
|
||||||
|
self.selector = selector
|
||||||
|
|
||||||
|
|
||||||
class ErrorEvent(Message):
|
class ErrorEvent(Message):
|
||||||
__id__ = 34
|
__id__ = 34
|
||||||
|
|
||||||
def __init__(self, message_id, timestamp, source: str, name: str, message: str,
|
def __init__(self, message_id, timestamp, source, name, message, payload):
|
||||||
payload: str):
|
|
||||||
self.message_id = message_id
|
self.message_id = message_id
|
||||||
self.timestamp = timestamp
|
self.timestamp = timestamp
|
||||||
self.source = source
|
self.source = source
|
||||||
|
|
@ -362,8 +372,7 @@ class ErrorEvent(Message):
|
||||||
class ResourceEvent(Message):
|
class ResourceEvent(Message):
|
||||||
__id__ = 35
|
__id__ = 35
|
||||||
|
|
||||||
def __init__(self, message_id, timestamp, duration, ttfb, header_size, encoded_body_size,
|
def __init__(self, message_id, timestamp, duration, ttfb, header_size, encoded_body_size, decoded_body_size, url, type, success, method, status):
|
||||||
decoded_body_size, url: str, type: str, success: bool, method: str, status):
|
|
||||||
self.message_id = message_id
|
self.message_id = message_id
|
||||||
self.timestamp = timestamp
|
self.timestamp = timestamp
|
||||||
self.duration = duration
|
self.duration = duration
|
||||||
|
|
@ -381,7 +390,7 @@ class ResourceEvent(Message):
|
||||||
class CustomEvent(Message):
|
class CustomEvent(Message):
|
||||||
__id__ = 36
|
__id__ = 36
|
||||||
|
|
||||||
def __init__(self, message_id, timestamp, name: str, payload: str):
|
def __init__(self, message_id, timestamp, name, payload):
|
||||||
self.message_id = message_id
|
self.message_id = message_id
|
||||||
self.timestamp = timestamp
|
self.timestamp = timestamp
|
||||||
self.name = name
|
self.name = name
|
||||||
|
|
@ -391,7 +400,7 @@ class CustomEvent(Message):
|
||||||
class CSSInsertRule(Message):
|
class CSSInsertRule(Message):
|
||||||
__id__ = 37
|
__id__ = 37
|
||||||
|
|
||||||
def __init__(self, id, rule: str, index):
|
def __init__(self, id, rule, index):
|
||||||
self.id = id
|
self.id = id
|
||||||
self.rule = rule
|
self.rule = rule
|
||||||
self.index = index
|
self.index = index
|
||||||
|
|
@ -408,8 +417,7 @@ class CSSDeleteRule(Message):
|
||||||
class Fetch(Message):
|
class Fetch(Message):
|
||||||
__id__ = 39
|
__id__ = 39
|
||||||
|
|
||||||
def __init__(self, method: str, url: str, request: str, response: str, status,
|
def __init__(self, method, url, request, response, status, timestamp, duration):
|
||||||
timestamp, duration):
|
|
||||||
self.method = method
|
self.method = method
|
||||||
self.url = url
|
self.url = url
|
||||||
self.request = request
|
self.request = request
|
||||||
|
|
@ -422,7 +430,7 @@ class Fetch(Message):
|
||||||
class Profiler(Message):
|
class Profiler(Message):
|
||||||
__id__ = 40
|
__id__ = 40
|
||||||
|
|
||||||
def __init__(self, name: str, duration, args: str, result: str):
|
def __init__(self, name, duration, args, result):
|
||||||
self.name = name
|
self.name = name
|
||||||
self.duration = duration
|
self.duration = duration
|
||||||
self.args = args
|
self.args = args
|
||||||
|
|
@ -432,7 +440,7 @@ class Profiler(Message):
|
||||||
class OTable(Message):
|
class OTable(Message):
|
||||||
__id__ = 41
|
__id__ = 41
|
||||||
|
|
||||||
def __init__(self, key: str, value: str):
|
def __init__(self, key, value):
|
||||||
self.key = key
|
self.key = key
|
||||||
self.value = value
|
self.value = value
|
||||||
|
|
||||||
|
|
@ -440,14 +448,14 @@ class OTable(Message):
|
||||||
class StateAction(Message):
|
class StateAction(Message):
|
||||||
__id__ = 42
|
__id__ = 42
|
||||||
|
|
||||||
def __init__(self, type: str):
|
def __init__(self, type):
|
||||||
self.type = type
|
self.type = type
|
||||||
|
|
||||||
|
|
||||||
class StateActionEvent(Message):
|
class StateActionEvent(Message):
|
||||||
__id__ = 43
|
__id__ = 43
|
||||||
|
|
||||||
def __init__(self, message_id, timestamp, type: str):
|
def __init__(self, message_id, timestamp, type):
|
||||||
self.message_id = message_id
|
self.message_id = message_id
|
||||||
self.timestamp = timestamp
|
self.timestamp = timestamp
|
||||||
self.type = type
|
self.type = type
|
||||||
|
|
@ -456,7 +464,7 @@ class StateActionEvent(Message):
|
||||||
class Redux(Message):
|
class Redux(Message):
|
||||||
__id__ = 44
|
__id__ = 44
|
||||||
|
|
||||||
def __init__(self, action: str, state: str, duration):
|
def __init__(self, action, state, duration):
|
||||||
self.action = action
|
self.action = action
|
||||||
self.state = state
|
self.state = state
|
||||||
self.duration = duration
|
self.duration = duration
|
||||||
|
|
@ -465,7 +473,7 @@ class Redux(Message):
|
||||||
class Vuex(Message):
|
class Vuex(Message):
|
||||||
__id__ = 45
|
__id__ = 45
|
||||||
|
|
||||||
def __init__(self, mutation: str, state: str):
|
def __init__(self, mutation, state):
|
||||||
self.mutation = mutation
|
self.mutation = mutation
|
||||||
self.state = state
|
self.state = state
|
||||||
|
|
||||||
|
|
@ -473,7 +481,7 @@ class Vuex(Message):
|
||||||
class MobX(Message):
|
class MobX(Message):
|
||||||
__id__ = 46
|
__id__ = 46
|
||||||
|
|
||||||
def __init__(self, type: str, payload: str):
|
def __init__(self, type, payload):
|
||||||
self.type = type
|
self.type = type
|
||||||
self.payload = payload
|
self.payload = payload
|
||||||
|
|
||||||
|
|
@ -481,7 +489,7 @@ class MobX(Message):
|
||||||
class NgRx(Message):
|
class NgRx(Message):
|
||||||
__id__ = 47
|
__id__ = 47
|
||||||
|
|
||||||
def __init__(self, action: str, state: str, duration):
|
def __init__(self, action, state, duration):
|
||||||
self.action = action
|
self.action = action
|
||||||
self.state = state
|
self.state = state
|
||||||
self.duration = duration
|
self.duration = duration
|
||||||
|
|
@ -490,8 +498,7 @@ class NgRx(Message):
|
||||||
class GraphQL(Message):
|
class GraphQL(Message):
|
||||||
__id__ = 48
|
__id__ = 48
|
||||||
|
|
||||||
def __init__(self, operation_kind: str, operation_name: str,
|
def __init__(self, operation_kind, operation_name, variables, response):
|
||||||
variables: str, response: str):
|
|
||||||
self.operation_kind = operation_kind
|
self.operation_kind = operation_kind
|
||||||
self.operation_name = operation_name
|
self.operation_name = operation_name
|
||||||
self.variables = variables
|
self.variables = variables
|
||||||
|
|
@ -501,8 +508,7 @@ class GraphQL(Message):
|
||||||
class PerformanceTrack(Message):
|
class PerformanceTrack(Message):
|
||||||
__id__ = 49
|
__id__ = 49
|
||||||
|
|
||||||
def __init__(self, frames: int, ticks: int,
|
def __init__(self, frames, ticks, total_js_heap_size, used_js_heap_size):
|
||||||
total_js_heap_size, used_js_heap_size):
|
|
||||||
self.frames = frames
|
self.frames = frames
|
||||||
self.ticks = ticks
|
self.ticks = ticks
|
||||||
self.total_js_heap_size = total_js_heap_size
|
self.total_js_heap_size = total_js_heap_size
|
||||||
|
|
@ -512,17 +518,19 @@ class PerformanceTrack(Message):
|
||||||
class GraphQLEvent(Message):
|
class GraphQLEvent(Message):
|
||||||
__id__ = 50
|
__id__ = 50
|
||||||
|
|
||||||
def __init__(self, message_id, timestamp, name: str):
|
def __init__(self, message_id, timestamp, operation_kind, operation_name, variables, response):
|
||||||
self.message_id = message_id
|
self.message_id = message_id
|
||||||
self.timestamp = timestamp
|
self.timestamp = timestamp
|
||||||
self.name = name
|
self.operation_kind = operation_kind
|
||||||
|
self.operation_name = operation_name
|
||||||
|
self.variables = variables
|
||||||
|
self.response = response
|
||||||
|
|
||||||
|
|
||||||
class FetchEvent(Message):
|
class FetchEvent(Message):
|
||||||
__id__ = 51
|
__id__ = 51
|
||||||
|
|
||||||
def __init__(self, message_id, timestamp, method: str, url, request, response: str,
|
def __init__(self, message_id, timestamp, method, url, request, response, status, duration):
|
||||||
status, duration):
|
|
||||||
self.message_id = message_id
|
self.message_id = message_id
|
||||||
self.timestamp = timestamp
|
self.timestamp = timestamp
|
||||||
self.method = method
|
self.method = method
|
||||||
|
|
@ -533,7 +541,7 @@ class FetchEvent(Message):
|
||||||
self.duration = duration
|
self.duration = duration
|
||||||
|
|
||||||
|
|
||||||
class DomDrop(Message):
|
class DOMDrop(Message):
|
||||||
__id__ = 52
|
__id__ = 52
|
||||||
|
|
||||||
def __init__(self, timestamp):
|
def __init__(self, timestamp):
|
||||||
|
|
@ -543,8 +551,7 @@ class DomDrop(Message):
|
||||||
class ResourceTiming(Message):
|
class ResourceTiming(Message):
|
||||||
__id__ = 53
|
__id__ = 53
|
||||||
|
|
||||||
def __init__(self, timestamp, duration, ttfb, header_size, encoded_body_size,
|
def __init__(self, timestamp, duration, ttfb, header_size, encoded_body_size, decoded_body_size, url, initiator):
|
||||||
decoded_body_size, url, initiator):
|
|
||||||
self.timestamp = timestamp
|
self.timestamp = timestamp
|
||||||
self.duration = duration
|
self.duration = duration
|
||||||
self.ttfb = ttfb
|
self.ttfb = ttfb
|
||||||
|
|
@ -558,7 +565,7 @@ class ResourceTiming(Message):
|
||||||
class ConnectionInformation(Message):
|
class ConnectionInformation(Message):
|
||||||
__id__ = 54
|
__id__ = 54
|
||||||
|
|
||||||
def __init__(self, downlink, type: str):
|
def __init__(self, downlink, type):
|
||||||
self.downlink = downlink
|
self.downlink = downlink
|
||||||
self.type = type
|
self.type = type
|
||||||
|
|
||||||
|
|
@ -566,19 +573,14 @@ class ConnectionInformation(Message):
|
||||||
class SetPageVisibility(Message):
|
class SetPageVisibility(Message):
|
||||||
__id__ = 55
|
__id__ = 55
|
||||||
|
|
||||||
def __init__(self, hidden: bool):
|
def __init__(self, hidden):
|
||||||
self.hidden = hidden
|
self.hidden = hidden
|
||||||
|
|
||||||
|
|
||||||
class PerformanceTrackAggr(Message):
|
class PerformanceTrackAggr(Message):
|
||||||
__id__ = 56
|
__id__ = 56
|
||||||
|
|
||||||
def __init__(self, timestamp_start, timestamp_end, min_fps, avg_fps,
|
def __init__(self, timestamp_start, timestamp_end, min_fps, avg_fps, max_fps, min_cpu, avg_cpu, max_cpu, min_total_js_heap_size, avg_total_js_heap_size, max_total_js_heap_size, min_used_js_heap_size, avg_used_js_heap_size, max_used_js_heap_size):
|
||||||
max_fps, min_cpu, avg_cpu, max_cpu,
|
|
||||||
min_total_js_heap_size, avg_total_js_heap_size,
|
|
||||||
max_total_js_heap_size, min_used_js_heap_size,
|
|
||||||
avg_used_js_heap_size, max_used_js_heap_size
|
|
||||||
):
|
|
||||||
self.timestamp_start = timestamp_start
|
self.timestamp_start = timestamp_start
|
||||||
self.timestamp_end = timestamp_end
|
self.timestamp_end = timestamp_end
|
||||||
self.min_fps = min_fps
|
self.min_fps = min_fps
|
||||||
|
|
@ -598,8 +600,7 @@ class PerformanceTrackAggr(Message):
|
||||||
class LongTask(Message):
|
class LongTask(Message):
|
||||||
__id__ = 59
|
__id__ = 59
|
||||||
|
|
||||||
def __init__(self, timestamp, duration, context, container_type, container_src: str,
|
def __init__(self, timestamp, duration, context, container_type, container_src, container_id, container_name):
|
||||||
container_id: str, container_name: str):
|
|
||||||
self.timestamp = timestamp
|
self.timestamp = timestamp
|
||||||
self.duration = duration
|
self.duration = duration
|
||||||
self.context = context
|
self.context = context
|
||||||
|
|
@ -609,20 +610,20 @@ class LongTask(Message):
|
||||||
self.container_name = container_name
|
self.container_name = container_name
|
||||||
|
|
||||||
|
|
||||||
class SetNodeURLBasedAttribute(Message):
|
class SetNodeAttributeURLBased(Message):
|
||||||
__id__ = 60
|
__id__ = 60
|
||||||
|
|
||||||
def __init__(self, id, name: str, value: str, base_url: str):
|
def __init__(self, id, name, value, base_url):
|
||||||
self.id = id
|
self.id = id
|
||||||
self.name = name
|
self.name = name
|
||||||
self.value = value
|
self.value = value
|
||||||
self.base_url = base_url
|
self.base_url = base_url
|
||||||
|
|
||||||
|
|
||||||
class SetStyleData(Message):
|
class SetCSSDataURLBased(Message):
|
||||||
__id__ = 61
|
__id__ = 61
|
||||||
|
|
||||||
def __init__(self, id, data: str, base_url: str):
|
def __init__(self, id, data, base_url):
|
||||||
self.id = id
|
self.id = id
|
||||||
self.data = data
|
self.data = data
|
||||||
self.base_url = base_url
|
self.base_url = base_url
|
||||||
|
|
@ -631,8 +632,7 @@ class SetStyleData(Message):
|
||||||
class IssueEvent(Message):
|
class IssueEvent(Message):
|
||||||
__id__ = 62
|
__id__ = 62
|
||||||
|
|
||||||
def __init__(self, message_id, timestamp, type: str, context_string: str,
|
def __init__(self, message_id, timestamp, type, context_string, context, payload):
|
||||||
context: str, payload: str):
|
|
||||||
self.message_id = message_id
|
self.message_id = message_id
|
||||||
self.timestamp = timestamp
|
self.timestamp = timestamp
|
||||||
self.type = type
|
self.type = type
|
||||||
|
|
@ -644,7 +644,7 @@ class IssueEvent(Message):
|
||||||
class TechnicalInfo(Message):
|
class TechnicalInfo(Message):
|
||||||
__id__ = 63
|
__id__ = 63
|
||||||
|
|
||||||
def __init__(self, type: str, value: str):
|
def __init__(self, type, value):
|
||||||
self.type = type
|
self.type = type
|
||||||
self.value = value
|
self.value = value
|
||||||
|
|
||||||
|
|
@ -652,15 +652,11 @@ class TechnicalInfo(Message):
|
||||||
class CustomIssue(Message):
|
class CustomIssue(Message):
|
||||||
__id__ = 64
|
__id__ = 64
|
||||||
|
|
||||||
def __init__(self, name: str, payload: str):
|
def __init__(self, name, payload):
|
||||||
self.name = name
|
self.name = name
|
||||||
self.payload = payload
|
self.payload = payload
|
||||||
|
|
||||||
|
|
||||||
class PageClose(Message):
|
|
||||||
__id__ = 65
|
|
||||||
|
|
||||||
|
|
||||||
class AssetCache(Message):
|
class AssetCache(Message):
|
||||||
__id__ = 66
|
__id__ = 66
|
||||||
|
|
||||||
|
|
@ -681,7 +677,7 @@ class CSSInsertRuleURLBased(Message):
|
||||||
class MouseClick(Message):
|
class MouseClick(Message):
|
||||||
__id__ = 69
|
__id__ = 69
|
||||||
|
|
||||||
def __init__(self, id, hesitation_time, label: str, selector):
|
def __init__(self, id, hesitation_time, label, selector):
|
||||||
self.id = id
|
self.id = id
|
||||||
self.hesitation_time = hesitation_time
|
self.hesitation_time = hesitation_time
|
||||||
self.label = label
|
self.label = label
|
||||||
|
|
@ -696,20 +692,19 @@ class CreateIFrameDocument(Message):
|
||||||
self.id = id
|
self.id = id
|
||||||
|
|
||||||
|
|
||||||
class BatchMeta(Message):
|
class IOSBatchMeta(Message):
|
||||||
__id__ = 80
|
__id__ = 107
|
||||||
|
|
||||||
def __init__(self, page_no, first_index, timestamp):
|
def __init__(self, timestamp, length, first_index):
|
||||||
self.page_no = page_no
|
|
||||||
self.first_index = first_index
|
|
||||||
self.timestamp = timestamp
|
self.timestamp = timestamp
|
||||||
|
self.length = length
|
||||||
|
self.first_index = first_index
|
||||||
|
|
||||||
|
|
||||||
class IOSSessionStart(Message):
|
class IOSSessionStart(Message):
|
||||||
__id__ = 90
|
__id__ = 90
|
||||||
|
|
||||||
def __init__(self, timestamp, project_id, tracker_version: str,
|
def __init__(self, timestamp, project_id, tracker_version, rev_id, user_uuid, user_os, user_os_version, user_device, user_device_type, user_country):
|
||||||
rev_id: str, user_uuid: str, user_os: str, user_os_version: str,
|
|
||||||
user_device: str, user_device_type: str, user_country: str):
|
|
||||||
self.timestamp = timestamp
|
self.timestamp = timestamp
|
||||||
self.project_id = project_id
|
self.project_id = project_id
|
||||||
self.tracker_version = tracker_version
|
self.tracker_version = tracker_version
|
||||||
|
|
@ -732,7 +727,7 @@ class IOSSessionEnd(Message):
|
||||||
class IOSMetadata(Message):
|
class IOSMetadata(Message):
|
||||||
__id__ = 92
|
__id__ = 92
|
||||||
|
|
||||||
def __init__(self, timestamp, length, key: str, value: str):
|
def __init__(self, timestamp, length, key, value):
|
||||||
self.timestamp = timestamp
|
self.timestamp = timestamp
|
||||||
self.length = length
|
self.length = length
|
||||||
self.key = key
|
self.key = key
|
||||||
|
|
@ -742,7 +737,7 @@ class IOSMetadata(Message):
|
||||||
class IOSCustomEvent(Message):
|
class IOSCustomEvent(Message):
|
||||||
__id__ = 93
|
__id__ = 93
|
||||||
|
|
||||||
def __init__(self, timestamp, length, name: str, payload: str):
|
def __init__(self, timestamp, length, name, payload):
|
||||||
self.timestamp = timestamp
|
self.timestamp = timestamp
|
||||||
self.length = length
|
self.length = length
|
||||||
self.name = name
|
self.name = name
|
||||||
|
|
@ -752,7 +747,7 @@ class IOSCustomEvent(Message):
|
||||||
class IOSUserID(Message):
|
class IOSUserID(Message):
|
||||||
__id__ = 94
|
__id__ = 94
|
||||||
|
|
||||||
def __init__(self, timestamp, length, value: str):
|
def __init__(self, timestamp, length, value):
|
||||||
self.timestamp = timestamp
|
self.timestamp = timestamp
|
||||||
self.length = length
|
self.length = length
|
||||||
self.value = value
|
self.value = value
|
||||||
|
|
@ -761,7 +756,7 @@ class IOSUserID(Message):
|
||||||
class IOSUserAnonymousID(Message):
|
class IOSUserAnonymousID(Message):
|
||||||
__id__ = 95
|
__id__ = 95
|
||||||
|
|
||||||
def __init__(self, timestamp, length, value: str):
|
def __init__(self, timestamp, length, value):
|
||||||
self.timestamp = timestamp
|
self.timestamp = timestamp
|
||||||
self.length = length
|
self.length = length
|
||||||
self.value = value
|
self.value = value
|
||||||
|
|
@ -782,7 +777,7 @@ class IOSScreenChanges(Message):
|
||||||
class IOSCrash(Message):
|
class IOSCrash(Message):
|
||||||
__id__ = 97
|
__id__ = 97
|
||||||
|
|
||||||
def __init__(self, timestamp, length, name: str, reason: str, stacktrace):
|
def __init__(self, timestamp, length, name, reason, stacktrace):
|
||||||
self.timestamp = timestamp
|
self.timestamp = timestamp
|
||||||
self.length = length
|
self.length = length
|
||||||
self.name = name
|
self.name = name
|
||||||
|
|
@ -803,7 +798,7 @@ class IOSScreenEnter(Message):
|
||||||
class IOSScreenLeave(Message):
|
class IOSScreenLeave(Message):
|
||||||
__id__ = 99
|
__id__ = 99
|
||||||
|
|
||||||
def __init__(self, timestamp, length, title: str, view_name: str):
|
def __init__(self, timestamp, length, title, view_name):
|
||||||
self.timestamp = timestamp
|
self.timestamp = timestamp
|
||||||
self.length = length
|
self.length = length
|
||||||
self.title = title
|
self.title = title
|
||||||
|
|
@ -824,9 +819,10 @@ class IOSClickEvent(Message):
|
||||||
class IOSInputEvent(Message):
|
class IOSInputEvent(Message):
|
||||||
__id__ = 101
|
__id__ = 101
|
||||||
|
|
||||||
def __init__(self, timestamp, length, value: str, value_masked: bool, label: str):
|
def __init__(self, timestamp, length, value, value_masked, label):
|
||||||
self.timestamp = timestamp
|
self.timestamp = timestamp
|
||||||
self.length = length
|
self.length = length
|
||||||
|
self.value = value
|
||||||
self.value_masked = value_masked
|
self.value_masked = value_masked
|
||||||
self.label = label
|
self.label = label
|
||||||
|
|
||||||
|
|
@ -834,7 +830,7 @@ class IOSInputEvent(Message):
|
||||||
class IOSPerformanceEvent(Message):
|
class IOSPerformanceEvent(Message):
|
||||||
__id__ = 102
|
__id__ = 102
|
||||||
|
|
||||||
def __init__(self, timestamp, length, name: str, value):
|
def __init__(self, timestamp, length, name, value):
|
||||||
self.timestamp = timestamp
|
self.timestamp = timestamp
|
||||||
self.length = length
|
self.length = length
|
||||||
self.name = name
|
self.name = name
|
||||||
|
|
@ -844,7 +840,7 @@ class IOSPerformanceEvent(Message):
|
||||||
class IOSLog(Message):
|
class IOSLog(Message):
|
||||||
__id__ = 103
|
__id__ = 103
|
||||||
|
|
||||||
def __init__(self, timestamp, length, severity: str, content: str):
|
def __init__(self, timestamp, length, severity, content):
|
||||||
self.timestamp = timestamp
|
self.timestamp = timestamp
|
||||||
self.length = length
|
self.length = length
|
||||||
self.severity = severity
|
self.severity = severity
|
||||||
|
|
@ -854,7 +850,7 @@ class IOSLog(Message):
|
||||||
class IOSInternalError(Message):
|
class IOSInternalError(Message):
|
||||||
__id__ = 104
|
__id__ = 104
|
||||||
|
|
||||||
def __init__(self, timestamp, length, content: str):
|
def __init__(self, timestamp, length, content):
|
||||||
self.timestamp = timestamp
|
self.timestamp = timestamp
|
||||||
self.length = length
|
self.length = length
|
||||||
self.content = content
|
self.content = content
|
||||||
|
|
@ -863,7 +859,7 @@ class IOSInternalError(Message):
|
||||||
class IOSNetworkCall(Message):
|
class IOSNetworkCall(Message):
|
||||||
__id__ = 105
|
__id__ = 105
|
||||||
|
|
||||||
def __init__(self, timestamp, length, duration, headers, body, url, success: bool, method: str, status):
|
def __init__(self, timestamp, length, duration, headers, body, url, success, method, status):
|
||||||
self.timestamp = timestamp
|
self.timestamp = timestamp
|
||||||
self.length = length
|
self.length = length
|
||||||
self.duration = duration
|
self.duration = duration
|
||||||
|
|
@ -875,23 +871,10 @@ class IOSNetworkCall(Message):
|
||||||
self.status = status
|
self.status = status
|
||||||
|
|
||||||
|
|
||||||
class IOSBatchMeta(Message):
|
|
||||||
__id__ = 107
|
|
||||||
|
|
||||||
def __init__(self, timestamp, length, first_index):
|
|
||||||
self.timestamp = timestamp
|
|
||||||
self.length = length
|
|
||||||
self.first_index = first_index
|
|
||||||
|
|
||||||
|
|
||||||
class IOSPerformanceAggregated(Message):
|
class IOSPerformanceAggregated(Message):
|
||||||
__id__ = 110
|
__id__ = 110
|
||||||
|
|
||||||
def __init__(self, timestamp_start, timestamp_end, min_fps, avg_fps,
|
def __init__(self, timestamp_start, timestamp_end, min_fps, avg_fps, max_fps, min_cpu, avg_cpu, max_cpu, min_memory, avg_memory, max_memory, min_battery, avg_battery, max_battery):
|
||||||
max_fps, min_cpu, avg_cpu, max_cpu,
|
|
||||||
min_memory, avg_memory, max_memory,
|
|
||||||
min_battery, avg_battery, max_battery
|
|
||||||
):
|
|
||||||
self.timestamp_start = timestamp_start
|
self.timestamp_start = timestamp_start
|
||||||
self.timestamp_end = timestamp_end
|
self.timestamp_end = timestamp_end
|
||||||
self.min_fps = min_fps
|
self.min_fps = min_fps
|
||||||
|
|
@ -911,9 +894,11 @@ class IOSPerformanceAggregated(Message):
|
||||||
class IOSIssueEvent(Message):
|
class IOSIssueEvent(Message):
|
||||||
__id__ = 111
|
__id__ = 111
|
||||||
|
|
||||||
def __init__(self, timestamp, type: str, context_string: str, context: str, payload: str):
|
def __init__(self, timestamp, type, context_string, context, payload):
|
||||||
self.timestamp = timestamp
|
self.timestamp = timestamp
|
||||||
self.type = type
|
self.type = type
|
||||||
self.context_string = context_string
|
self.context_string = context_string
|
||||||
self.context = context
|
self.context = context
|
||||||
self.payload = payload
|
self.payload = payload
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
739
ee/connectors/msgcodec/msgcodec.py
Normal file
739
ee/connectors/msgcodec/msgcodec.py
Normal file
|
|
@ -0,0 +1,739 @@
|
||||||
|
# Auto-generated, do not edit
|
||||||
|
|
||||||
|
from msgcodec.codec import Codec
|
||||||
|
from msgcodec.messages import *
|
||||||
|
import io
|
||||||
|
|
||||||
|
class MessageCodec(Codec):
|
||||||
|
|
||||||
|
def read_message_id(self, reader: io.BytesIO) -> int:
|
||||||
|
"""
|
||||||
|
Read and return the first byte where the message id is encoded
|
||||||
|
"""
|
||||||
|
id_ = self.read_uint(reader)
|
||||||
|
return id_
|
||||||
|
|
||||||
|
def encode(self, m: Message) -> bytes:
|
||||||
|
...
|
||||||
|
|
||||||
|
def decode(self, b: bytes) -> Message:
|
||||||
|
reader = io.BytesIO(b)
|
||||||
|
message_id = self.read_message_id(reader)
|
||||||
|
|
||||||
|
if message_id == 80:
|
||||||
|
return BatchMeta(
|
||||||
|
page_no=self.read_uint(reader),
|
||||||
|
first_index=self.read_uint(reader),
|
||||||
|
timestamp=self.read_int(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 81:
|
||||||
|
return BatchMetadata(
|
||||||
|
version=self.read_uint(reader),
|
||||||
|
page_no=self.read_uint(reader),
|
||||||
|
first_index=self.read_uint(reader),
|
||||||
|
timestamp=self.read_int(reader),
|
||||||
|
location=self.read_string(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 82:
|
||||||
|
return PartitionedMessage(
|
||||||
|
part_no=self.read_uint(reader),
|
||||||
|
part_total=self.read_uint(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 0:
|
||||||
|
return Timestamp(
|
||||||
|
timestamp=self.read_uint(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 1:
|
||||||
|
return SessionStart(
|
||||||
|
timestamp=self.read_uint(reader),
|
||||||
|
project_id=self.read_uint(reader),
|
||||||
|
tracker_version=self.read_string(reader),
|
||||||
|
rev_id=self.read_string(reader),
|
||||||
|
user_uuid=self.read_string(reader),
|
||||||
|
user_agent=self.read_string(reader),
|
||||||
|
user_os=self.read_string(reader),
|
||||||
|
user_os_version=self.read_string(reader),
|
||||||
|
user_browser=self.read_string(reader),
|
||||||
|
user_browser_version=self.read_string(reader),
|
||||||
|
user_device=self.read_string(reader),
|
||||||
|
user_device_type=self.read_string(reader),
|
||||||
|
user_device_memory_size=self.read_uint(reader),
|
||||||
|
user_device_heap_size=self.read_uint(reader),
|
||||||
|
user_country=self.read_string(reader),
|
||||||
|
user_id=self.read_string(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 2:
|
||||||
|
return SessionDisconnect(
|
||||||
|
timestamp=self.read_uint(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 3:
|
||||||
|
return SessionEnd(
|
||||||
|
timestamp=self.read_uint(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 4:
|
||||||
|
return SetPageLocation(
|
||||||
|
url=self.read_string(reader),
|
||||||
|
referrer=self.read_string(reader),
|
||||||
|
navigation_start=self.read_uint(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 5:
|
||||||
|
return SetViewportSize(
|
||||||
|
width=self.read_uint(reader),
|
||||||
|
height=self.read_uint(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 6:
|
||||||
|
return SetViewportScroll(
|
||||||
|
x=self.read_int(reader),
|
||||||
|
y=self.read_int(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 7:
|
||||||
|
return CreateDocument(
|
||||||
|
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 8:
|
||||||
|
return CreateElementNode(
|
||||||
|
id=self.read_uint(reader),
|
||||||
|
parent_id=self.read_uint(reader),
|
||||||
|
index=self.read_uint(reader),
|
||||||
|
tag=self.read_string(reader),
|
||||||
|
svg=self.read_boolean(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 9:
|
||||||
|
return CreateTextNode(
|
||||||
|
id=self.read_uint(reader),
|
||||||
|
parent_id=self.read_uint(reader),
|
||||||
|
index=self.read_uint(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 10:
|
||||||
|
return MoveNode(
|
||||||
|
id=self.read_uint(reader),
|
||||||
|
parent_id=self.read_uint(reader),
|
||||||
|
index=self.read_uint(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 11:
|
||||||
|
return RemoveNode(
|
||||||
|
id=self.read_uint(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 12:
|
||||||
|
return SetNodeAttribute(
|
||||||
|
id=self.read_uint(reader),
|
||||||
|
name=self.read_string(reader),
|
||||||
|
value=self.read_string(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 13:
|
||||||
|
return RemoveNodeAttribute(
|
||||||
|
id=self.read_uint(reader),
|
||||||
|
name=self.read_string(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 14:
|
||||||
|
return SetNodeData(
|
||||||
|
id=self.read_uint(reader),
|
||||||
|
data=self.read_string(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 15:
|
||||||
|
return SetCSSData(
|
||||||
|
id=self.read_uint(reader),
|
||||||
|
data=self.read_string(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 16:
|
||||||
|
return SetNodeScroll(
|
||||||
|
id=self.read_uint(reader),
|
||||||
|
x=self.read_int(reader),
|
||||||
|
y=self.read_int(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 17:
|
||||||
|
return SetInputTarget(
|
||||||
|
id=self.read_uint(reader),
|
||||||
|
label=self.read_string(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 18:
|
||||||
|
return SetInputValue(
|
||||||
|
id=self.read_uint(reader),
|
||||||
|
value=self.read_string(reader),
|
||||||
|
mask=self.read_int(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 19:
|
||||||
|
return SetInputChecked(
|
||||||
|
id=self.read_uint(reader),
|
||||||
|
checked=self.read_boolean(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 20:
|
||||||
|
return MouseMove(
|
||||||
|
x=self.read_uint(reader),
|
||||||
|
y=self.read_uint(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 21:
|
||||||
|
return MouseClickDepricated(
|
||||||
|
id=self.read_uint(reader),
|
||||||
|
hesitation_time=self.read_uint(reader),
|
||||||
|
label=self.read_string(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 22:
|
||||||
|
return ConsoleLog(
|
||||||
|
level=self.read_string(reader),
|
||||||
|
value=self.read_string(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 23:
|
||||||
|
return PageLoadTiming(
|
||||||
|
request_start=self.read_uint(reader),
|
||||||
|
response_start=self.read_uint(reader),
|
||||||
|
response_end=self.read_uint(reader),
|
||||||
|
dom_content_loaded_event_start=self.read_uint(reader),
|
||||||
|
dom_content_loaded_event_end=self.read_uint(reader),
|
||||||
|
load_event_start=self.read_uint(reader),
|
||||||
|
load_event_end=self.read_uint(reader),
|
||||||
|
first_paint=self.read_uint(reader),
|
||||||
|
first_contentful_paint=self.read_uint(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 24:
|
||||||
|
return PageRenderTiming(
|
||||||
|
speed_index=self.read_uint(reader),
|
||||||
|
visually_complete=self.read_uint(reader),
|
||||||
|
time_to_interactive=self.read_uint(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 25:
|
||||||
|
return JSException(
|
||||||
|
name=self.read_string(reader),
|
||||||
|
message=self.read_string(reader),
|
||||||
|
payload=self.read_string(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 26:
|
||||||
|
return IntegrationEvent(
|
||||||
|
timestamp=self.read_uint(reader),
|
||||||
|
source=self.read_string(reader),
|
||||||
|
name=self.read_string(reader),
|
||||||
|
message=self.read_string(reader),
|
||||||
|
payload=self.read_string(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 27:
|
||||||
|
return RawCustomEvent(
|
||||||
|
name=self.read_string(reader),
|
||||||
|
payload=self.read_string(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 28:
|
||||||
|
return UserID(
|
||||||
|
id=self.read_string(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 29:
|
||||||
|
return UserAnonymousID(
|
||||||
|
id=self.read_string(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 30:
|
||||||
|
return Metadata(
|
||||||
|
key=self.read_string(reader),
|
||||||
|
value=self.read_string(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 31:
|
||||||
|
return PageEvent(
|
||||||
|
message_id=self.read_uint(reader),
|
||||||
|
timestamp=self.read_uint(reader),
|
||||||
|
url=self.read_string(reader),
|
||||||
|
referrer=self.read_string(reader),
|
||||||
|
loaded=self.read_boolean(reader),
|
||||||
|
request_start=self.read_uint(reader),
|
||||||
|
response_start=self.read_uint(reader),
|
||||||
|
response_end=self.read_uint(reader),
|
||||||
|
dom_content_loaded_event_start=self.read_uint(reader),
|
||||||
|
dom_content_loaded_event_end=self.read_uint(reader),
|
||||||
|
load_event_start=self.read_uint(reader),
|
||||||
|
load_event_end=self.read_uint(reader),
|
||||||
|
first_paint=self.read_uint(reader),
|
||||||
|
first_contentful_paint=self.read_uint(reader),
|
||||||
|
speed_index=self.read_uint(reader),
|
||||||
|
visually_complete=self.read_uint(reader),
|
||||||
|
time_to_interactive=self.read_uint(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 32:
|
||||||
|
return InputEvent(
|
||||||
|
message_id=self.read_uint(reader),
|
||||||
|
timestamp=self.read_uint(reader),
|
||||||
|
value=self.read_string(reader),
|
||||||
|
value_masked=self.read_boolean(reader),
|
||||||
|
label=self.read_string(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 33:
|
||||||
|
return ClickEvent(
|
||||||
|
message_id=self.read_uint(reader),
|
||||||
|
timestamp=self.read_uint(reader),
|
||||||
|
hesitation_time=self.read_uint(reader),
|
||||||
|
label=self.read_string(reader),
|
||||||
|
selector=self.read_string(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 34:
|
||||||
|
return ErrorEvent(
|
||||||
|
message_id=self.read_uint(reader),
|
||||||
|
timestamp=self.read_uint(reader),
|
||||||
|
source=self.read_string(reader),
|
||||||
|
name=self.read_string(reader),
|
||||||
|
message=self.read_string(reader),
|
||||||
|
payload=self.read_string(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 35:
|
||||||
|
return ResourceEvent(
|
||||||
|
message_id=self.read_uint(reader),
|
||||||
|
timestamp=self.read_uint(reader),
|
||||||
|
duration=self.read_uint(reader),
|
||||||
|
ttfb=self.read_uint(reader),
|
||||||
|
header_size=self.read_uint(reader),
|
||||||
|
encoded_body_size=self.read_uint(reader),
|
||||||
|
decoded_body_size=self.read_uint(reader),
|
||||||
|
url=self.read_string(reader),
|
||||||
|
type=self.read_string(reader),
|
||||||
|
success=self.read_boolean(reader),
|
||||||
|
method=self.read_string(reader),
|
||||||
|
status=self.read_uint(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 36:
|
||||||
|
return CustomEvent(
|
||||||
|
message_id=self.read_uint(reader),
|
||||||
|
timestamp=self.read_uint(reader),
|
||||||
|
name=self.read_string(reader),
|
||||||
|
payload=self.read_string(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 37:
|
||||||
|
return CSSInsertRule(
|
||||||
|
id=self.read_uint(reader),
|
||||||
|
rule=self.read_string(reader),
|
||||||
|
index=self.read_uint(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 38:
|
||||||
|
return CSSDeleteRule(
|
||||||
|
id=self.read_uint(reader),
|
||||||
|
index=self.read_uint(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 39:
|
||||||
|
return Fetch(
|
||||||
|
method=self.read_string(reader),
|
||||||
|
url=self.read_string(reader),
|
||||||
|
request=self.read_string(reader),
|
||||||
|
response=self.read_string(reader),
|
||||||
|
status=self.read_uint(reader),
|
||||||
|
timestamp=self.read_uint(reader),
|
||||||
|
duration=self.read_uint(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 40:
|
||||||
|
return Profiler(
|
||||||
|
name=self.read_string(reader),
|
||||||
|
duration=self.read_uint(reader),
|
||||||
|
args=self.read_string(reader),
|
||||||
|
result=self.read_string(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 41:
|
||||||
|
return OTable(
|
||||||
|
key=self.read_string(reader),
|
||||||
|
value=self.read_string(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 42:
|
||||||
|
return StateAction(
|
||||||
|
type=self.read_string(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 43:
|
||||||
|
return StateActionEvent(
|
||||||
|
message_id=self.read_uint(reader),
|
||||||
|
timestamp=self.read_uint(reader),
|
||||||
|
type=self.read_string(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 44:
|
||||||
|
return Redux(
|
||||||
|
action=self.read_string(reader),
|
||||||
|
state=self.read_string(reader),
|
||||||
|
duration=self.read_uint(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 45:
|
||||||
|
return Vuex(
|
||||||
|
mutation=self.read_string(reader),
|
||||||
|
state=self.read_string(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 46:
|
||||||
|
return MobX(
|
||||||
|
type=self.read_string(reader),
|
||||||
|
payload=self.read_string(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 47:
|
||||||
|
return NgRx(
|
||||||
|
action=self.read_string(reader),
|
||||||
|
state=self.read_string(reader),
|
||||||
|
duration=self.read_uint(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 48:
|
||||||
|
return GraphQL(
|
||||||
|
operation_kind=self.read_string(reader),
|
||||||
|
operation_name=self.read_string(reader),
|
||||||
|
variables=self.read_string(reader),
|
||||||
|
response=self.read_string(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 49:
|
||||||
|
return PerformanceTrack(
|
||||||
|
frames=self.read_int(reader),
|
||||||
|
ticks=self.read_int(reader),
|
||||||
|
total_js_heap_size=self.read_uint(reader),
|
||||||
|
used_js_heap_size=self.read_uint(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 50:
|
||||||
|
return GraphQLEvent(
|
||||||
|
message_id=self.read_uint(reader),
|
||||||
|
timestamp=self.read_uint(reader),
|
||||||
|
operation_kind=self.read_string(reader),
|
||||||
|
operation_name=self.read_string(reader),
|
||||||
|
variables=self.read_string(reader),
|
||||||
|
response=self.read_string(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 51:
|
||||||
|
return FetchEvent(
|
||||||
|
message_id=self.read_uint(reader),
|
||||||
|
timestamp=self.read_uint(reader),
|
||||||
|
method=self.read_string(reader),
|
||||||
|
url=self.read_string(reader),
|
||||||
|
request=self.read_string(reader),
|
||||||
|
response=self.read_string(reader),
|
||||||
|
status=self.read_uint(reader),
|
||||||
|
duration=self.read_uint(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 52:
|
||||||
|
return DOMDrop(
|
||||||
|
timestamp=self.read_uint(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 53:
|
||||||
|
return ResourceTiming(
|
||||||
|
timestamp=self.read_uint(reader),
|
||||||
|
duration=self.read_uint(reader),
|
||||||
|
ttfb=self.read_uint(reader),
|
||||||
|
header_size=self.read_uint(reader),
|
||||||
|
encoded_body_size=self.read_uint(reader),
|
||||||
|
decoded_body_size=self.read_uint(reader),
|
||||||
|
url=self.read_string(reader),
|
||||||
|
initiator=self.read_string(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 54:
|
||||||
|
return ConnectionInformation(
|
||||||
|
downlink=self.read_uint(reader),
|
||||||
|
type=self.read_string(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 55:
|
||||||
|
return SetPageVisibility(
|
||||||
|
hidden=self.read_boolean(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 56:
|
||||||
|
return PerformanceTrackAggr(
|
||||||
|
timestamp_start=self.read_uint(reader),
|
||||||
|
timestamp_end=self.read_uint(reader),
|
||||||
|
min_fps=self.read_uint(reader),
|
||||||
|
avg_fps=self.read_uint(reader),
|
||||||
|
max_fps=self.read_uint(reader),
|
||||||
|
min_cpu=self.read_uint(reader),
|
||||||
|
avg_cpu=self.read_uint(reader),
|
||||||
|
max_cpu=self.read_uint(reader),
|
||||||
|
min_total_js_heap_size=self.read_uint(reader),
|
||||||
|
avg_total_js_heap_size=self.read_uint(reader),
|
||||||
|
max_total_js_heap_size=self.read_uint(reader),
|
||||||
|
min_used_js_heap_size=self.read_uint(reader),
|
||||||
|
avg_used_js_heap_size=self.read_uint(reader),
|
||||||
|
max_used_js_heap_size=self.read_uint(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 59:
|
||||||
|
return LongTask(
|
||||||
|
timestamp=self.read_uint(reader),
|
||||||
|
duration=self.read_uint(reader),
|
||||||
|
context=self.read_uint(reader),
|
||||||
|
container_type=self.read_uint(reader),
|
||||||
|
container_src=self.read_string(reader),
|
||||||
|
container_id=self.read_string(reader),
|
||||||
|
container_name=self.read_string(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 60:
|
||||||
|
return SetNodeAttributeURLBased(
|
||||||
|
id=self.read_uint(reader),
|
||||||
|
name=self.read_string(reader),
|
||||||
|
value=self.read_string(reader),
|
||||||
|
base_url=self.read_string(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 61:
|
||||||
|
return SetCSSDataURLBased(
|
||||||
|
id=self.read_uint(reader),
|
||||||
|
data=self.read_string(reader),
|
||||||
|
base_url=self.read_string(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 62:
|
||||||
|
return IssueEvent(
|
||||||
|
message_id=self.read_uint(reader),
|
||||||
|
timestamp=self.read_uint(reader),
|
||||||
|
type=self.read_string(reader),
|
||||||
|
context_string=self.read_string(reader),
|
||||||
|
context=self.read_string(reader),
|
||||||
|
payload=self.read_string(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 63:
|
||||||
|
return TechnicalInfo(
|
||||||
|
type=self.read_string(reader),
|
||||||
|
value=self.read_string(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 64:
|
||||||
|
return CustomIssue(
|
||||||
|
name=self.read_string(reader),
|
||||||
|
payload=self.read_string(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 66:
|
||||||
|
return AssetCache(
|
||||||
|
url=self.read_string(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 67:
|
||||||
|
return CSSInsertRuleURLBased(
|
||||||
|
id=self.read_uint(reader),
|
||||||
|
rule=self.read_string(reader),
|
||||||
|
index=self.read_uint(reader),
|
||||||
|
base_url=self.read_string(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 69:
|
||||||
|
return MouseClick(
|
||||||
|
id=self.read_uint(reader),
|
||||||
|
hesitation_time=self.read_uint(reader),
|
||||||
|
label=self.read_string(reader),
|
||||||
|
selector=self.read_string(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 70:
|
||||||
|
return CreateIFrameDocument(
|
||||||
|
frame_id=self.read_uint(reader),
|
||||||
|
id=self.read_uint(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 107:
|
||||||
|
return IOSBatchMeta(
|
||||||
|
timestamp=self.read_uint(reader),
|
||||||
|
length=self.read_uint(reader),
|
||||||
|
first_index=self.read_uint(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 90:
|
||||||
|
return IOSSessionStart(
|
||||||
|
timestamp=self.read_uint(reader),
|
||||||
|
project_id=self.read_uint(reader),
|
||||||
|
tracker_version=self.read_string(reader),
|
||||||
|
rev_id=self.read_string(reader),
|
||||||
|
user_uuid=self.read_string(reader),
|
||||||
|
user_os=self.read_string(reader),
|
||||||
|
user_os_version=self.read_string(reader),
|
||||||
|
user_device=self.read_string(reader),
|
||||||
|
user_device_type=self.read_string(reader),
|
||||||
|
user_country=self.read_string(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 91:
|
||||||
|
return IOSSessionEnd(
|
||||||
|
timestamp=self.read_uint(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 92:
|
||||||
|
return IOSMetadata(
|
||||||
|
timestamp=self.read_uint(reader),
|
||||||
|
length=self.read_uint(reader),
|
||||||
|
key=self.read_string(reader),
|
||||||
|
value=self.read_string(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 93:
|
||||||
|
return IOSCustomEvent(
|
||||||
|
timestamp=self.read_uint(reader),
|
||||||
|
length=self.read_uint(reader),
|
||||||
|
name=self.read_string(reader),
|
||||||
|
payload=self.read_string(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 94:
|
||||||
|
return IOSUserID(
|
||||||
|
timestamp=self.read_uint(reader),
|
||||||
|
length=self.read_uint(reader),
|
||||||
|
value=self.read_string(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 95:
|
||||||
|
return IOSUserAnonymousID(
|
||||||
|
timestamp=self.read_uint(reader),
|
||||||
|
length=self.read_uint(reader),
|
||||||
|
value=self.read_string(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 96:
|
||||||
|
return IOSScreenChanges(
|
||||||
|
timestamp=self.read_uint(reader),
|
||||||
|
length=self.read_uint(reader),
|
||||||
|
x=self.read_uint(reader),
|
||||||
|
y=self.read_uint(reader),
|
||||||
|
width=self.read_uint(reader),
|
||||||
|
height=self.read_uint(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 97:
|
||||||
|
return IOSCrash(
|
||||||
|
timestamp=self.read_uint(reader),
|
||||||
|
length=self.read_uint(reader),
|
||||||
|
name=self.read_string(reader),
|
||||||
|
reason=self.read_string(reader),
|
||||||
|
stacktrace=self.read_string(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 98:
|
||||||
|
return IOSScreenEnter(
|
||||||
|
timestamp=self.read_uint(reader),
|
||||||
|
length=self.read_uint(reader),
|
||||||
|
title=self.read_string(reader),
|
||||||
|
view_name=self.read_string(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 99:
|
||||||
|
return IOSScreenLeave(
|
||||||
|
timestamp=self.read_uint(reader),
|
||||||
|
length=self.read_uint(reader),
|
||||||
|
title=self.read_string(reader),
|
||||||
|
view_name=self.read_string(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 100:
|
||||||
|
return IOSClickEvent(
|
||||||
|
timestamp=self.read_uint(reader),
|
||||||
|
length=self.read_uint(reader),
|
||||||
|
label=self.read_string(reader),
|
||||||
|
x=self.read_uint(reader),
|
||||||
|
y=self.read_uint(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 101:
|
||||||
|
return IOSInputEvent(
|
||||||
|
timestamp=self.read_uint(reader),
|
||||||
|
length=self.read_uint(reader),
|
||||||
|
value=self.read_string(reader),
|
||||||
|
value_masked=self.read_boolean(reader),
|
||||||
|
label=self.read_string(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 102:
|
||||||
|
return IOSPerformanceEvent(
|
||||||
|
timestamp=self.read_uint(reader),
|
||||||
|
length=self.read_uint(reader),
|
||||||
|
name=self.read_string(reader),
|
||||||
|
value=self.read_uint(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 103:
|
||||||
|
return IOSLog(
|
||||||
|
timestamp=self.read_uint(reader),
|
||||||
|
length=self.read_uint(reader),
|
||||||
|
severity=self.read_string(reader),
|
||||||
|
content=self.read_string(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 104:
|
||||||
|
return IOSInternalError(
|
||||||
|
timestamp=self.read_uint(reader),
|
||||||
|
length=self.read_uint(reader),
|
||||||
|
content=self.read_string(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 105:
|
||||||
|
return IOSNetworkCall(
|
||||||
|
timestamp=self.read_uint(reader),
|
||||||
|
length=self.read_uint(reader),
|
||||||
|
duration=self.read_uint(reader),
|
||||||
|
headers=self.read_string(reader),
|
||||||
|
body=self.read_string(reader),
|
||||||
|
url=self.read_string(reader),
|
||||||
|
success=self.read_boolean(reader),
|
||||||
|
method=self.read_string(reader),
|
||||||
|
status=self.read_uint(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 110:
|
||||||
|
return IOSPerformanceAggregated(
|
||||||
|
timestamp_start=self.read_uint(reader),
|
||||||
|
timestamp_end=self.read_uint(reader),
|
||||||
|
min_fps=self.read_uint(reader),
|
||||||
|
avg_fps=self.read_uint(reader),
|
||||||
|
max_fps=self.read_uint(reader),
|
||||||
|
min_cpu=self.read_uint(reader),
|
||||||
|
avg_cpu=self.read_uint(reader),
|
||||||
|
max_cpu=self.read_uint(reader),
|
||||||
|
min_memory=self.read_uint(reader),
|
||||||
|
avg_memory=self.read_uint(reader),
|
||||||
|
max_memory=self.read_uint(reader),
|
||||||
|
min_battery=self.read_uint(reader),
|
||||||
|
avg_battery=self.read_uint(reader),
|
||||||
|
max_battery=self.read_uint(reader)
|
||||||
|
)
|
||||||
|
|
||||||
|
if message_id == 111:
|
||||||
|
return IOSIssueEvent(
|
||||||
|
timestamp=self.read_uint(reader),
|
||||||
|
type=self.read_string(reader),
|
||||||
|
context_string=self.read_string(reader),
|
||||||
|
context=self.read_string(reader),
|
||||||
|
payload=self.read_string(reader)
|
||||||
|
)
|
||||||
|
|
||||||
Loading…
Add table
Reference in a new issue