From b446147cb8d0d8c883cf55e0c14692fe288621cf Mon Sep 17 00:00:00 2001 From: mauricio garcia suarez Date: Fri, 15 Jul 2022 17:12:22 +0200 Subject: [PATCH] solved some minor issues --- ee/connectors/db/models.py | 14 ++-- ee/connectors/db/utils.py | 1 + ee/connectors/handler.py | 141 +++++++++++++++++++++++++++++++- ee/connectors/msgcodec/codec.py | 2 +- 4 files changed, 149 insertions(+), 9 deletions(-) diff --git a/ee/connectors/db/models.py b/ee/connectors/db/models.py index 82af90ad8..74cd23230 100644 --- a/ee/connectors/db/models.py +++ b/ee/connectors/db/models.py @@ -346,13 +346,13 @@ class DetailedEvent(Base): userid_id = Column(VARCHAR(5000)) vuex_mutation = Column(VARCHAR(5000)) vuex_state = Column(VARCHAR(5000)) - longtask_timestamp = Column(BigInteger) - longtask_duration = Column(BigInteger) - longtask_context = Column(BigInteger) - longtask_containertype = Column(BigInteger) - longtask_containersrc = Column(VARCHAR(5000)) - longtask_containerid = Column(VARCHAR(5000)) - longtask_containername = Column(VARCHAR(5000)) + longtasks_timestamp = Column(BigInteger) + longtasks_duration = Column(BigInteger) + longtasks_context = Column(BigInteger) + longtasks_containertype = Column(BigInteger) + longtasks_containersrc = Column(VARCHAR(5000)) + longtasks_containerid = Column(VARCHAR(5000)) + longtasks_containername = Column(VARCHAR(5000)) setnodeurlbasedattribute_id = Column(BigInteger) setnodeurlbasedattribute_name = Column(VARCHAR(5000)) setnodeurlbasedattribute_value = Column(VARCHAR(5000)) diff --git a/ee/connectors/db/utils.py b/ee/connectors/db/utils.py index 7c268c6b3..a51806289 100644 --- a/ee/connectors/db/utils.py +++ b/ee/connectors/db/utils.py @@ -336,6 +336,7 @@ def get_df_from_batch(batch, level): df = pd.DataFrame([b.__dict__ for b in batch], columns=detailed_events_col) if level == 'sessions': df = pd.DataFrame([b.__dict__ for b in batch], columns=sessions_col) + print('if error is after me, then problem is later') try: df = df.drop('_sa_instance_state', axis=1) diff --git a/ee/connectors/handler.py b/ee/connectors/handler.py index 5167c7800..6f6316545 100644 --- a/ee/connectors/handler.py +++ b/ee/connectors/handler.py @@ -49,6 +49,14 @@ def handle_normal_message(message: Message) -> Optional[Event]: n.mouseclick_hesitationtime = message.hesitation_time n.mouseclick_id = message.id n.mouseclick_label = message.label + n.mouseclick_selector = message.selector + return n + + if isinstance(message, MouseClickDepricated): + n.mouseclick_hesitationtime = message.hesitation_time + n.mouseclick_id = message.id + n.mouseclick_label = message.label + n.mouseclick_selector = '' return n if isinstance(message, PageEvent): @@ -132,6 +140,18 @@ def handle_session(n: Session, message: Message) -> Optional[Session]: pass return n + if isinstance(message, BatchMeta): + n.batchmeta_page_no = message.page_no + n.batchmeta_first_index = message.first_index + n.batchmeta_timestamp = message.timestamp + return n + + # if isinstance(message, IOSBatchMeta): + # n.iosbatchmeta_page_no = message.page_no + # n.iosbatchmeta_first_index = message.first_index + # n.iosbatchmeta_timestamp = message.timestamp + # return n + if isinstance(message, ConnectionInformation): n.connection_effective_bandwidth = message.downlink n.connection_type = message.type @@ -224,7 +244,7 @@ def handle_session(n: Session, message: Message) -> Optional[Session]: n.inputs_count = 1 return n - if isinstance(message, MouseClick): + if isinstance(message, MouseClickDepricated): try: n.inputs_count += 1 except TypeError: @@ -278,6 +298,11 @@ def handle_message(message: Message) -> Optional[DetailedEvent]: n.sessionstart_usercountry = message.user_country return n + if isinstance(message, CreateIFrameDocument): + n.create_iframedocument_frame_id = message.frame_id + n.create_iframedocument_id = message.id + return n + if isinstance(message, SetViewportSize): n.setviewportsize_width = message.width n.setviewportsize_height = message.height @@ -360,6 +385,12 @@ def handle_message(message: Message) -> Optional[DetailedEvent]: n.metadata_value = message.value return n + if isinstance(message, BatchMeta): + n.batchmeta_page_no = message.page_no + n.batchmeta_first_index = message.first_index + n.batchmeta_timestamp = message.timestamp + return n + if isinstance(message, PerformanceTrack): n.performancetrack_frames = message.frames n.performancetrack_ticks = message.ticks @@ -470,6 +501,12 @@ def handle_message(message: Message) -> Optional[DetailedEvent]: # n.cssinsertrule_rule = message.rule # n.cssinsertrule_index = message.index # return n + + # if isinstance(message, CSSInsertRuleURLBased): + # n.cssinsertrule_urlbased_id = message.id + # n.cssinsertrule_urlbased_rule = message.rule + # n.cssinsertrule_urlbased_index = message.index + # n.cssinsertrule_urlbased_base_url = message.base_url # # if isinstance(message, CSSDeleteRule): # n.cssdeleterule_stylesheetid = message.id @@ -485,6 +522,17 @@ def handle_message(message: Message) -> Optional[DetailedEvent]: n.fetch_duration = message.duration return n + if isinstance(message, FetchEvent): + n.fetch_event_message_id = message.message_id + n.fetch_event_timestamp = message.timestamp + n.fetch_event_method = message.method + n.fetch_event_url = message.url + n.fetch_event_request = message.request + n.fetch_event_response = message.response + n.fetch_event_status = message.status + n.fetch_event_duration = message.duration + return n + if isinstance(message, Profiler): n.profiler_name = message.name n.profiler_duration = message.duration @@ -513,6 +561,14 @@ def handle_message(message: Message) -> Optional[DetailedEvent]: n.mouseclick_id = message.id n.mouseclick_hesitationtime = message.hesitation_time n.mouseclick_label = message.label + n.mouseclick_selector = message.selector + return n + + if isinstance(message, MouseClickDepricated): + n.mouseclick_id = message.id + n.mouseclick_hesitationtime = message.hesitation_time + n.mouseclick_label = message.label + n.mouseclick_selector = '' return n if isinstance(message, SetPageLocation): @@ -572,6 +628,10 @@ def handle_message(message: Message) -> Optional[DetailedEvent]: n.pageclose = True return n + if isinstance(message, AssetCache): + n.asset_cache_url = message.url + return n + if isinstance(message, IOSSessionStart): n.iossessionstart_timestamp = message.timestamp n.iossessionstart_projectid = message.project_id @@ -596,6 +656,12 @@ def handle_message(message: Message) -> Optional[DetailedEvent]: n.iosmetadata_value = message.value return n + if isinstance(message, IOSBatchMeta): + n.iosbatchmeta_page_no = message.page_no + n.iosbatchmeta_first_index = message.first_index + n.iosbatchmeta_timestamp = message.timestamp + return n + if isinstance(message, IOSUserID): n.iosuserid_timestamp = message.timestamp n.iosuserid_length = message.length @@ -608,6 +674,13 @@ def handle_message(message: Message) -> Optional[DetailedEvent]: n.iosuseranonymousid_value = message.value return n + if isinstance(message, IOSScreenEnter): + n.iosscreenenter_timestamp = message.timestamp + n.iosscreenenter_length = message.length + n.iosscreenenter_title = message.title + n.iosscreenenter_view_name = message.view_name + return n + if isinstance(message, IOSScreenLeave): n.iosscreenleave_timestamp = message.timestamp n.iosscreenleave_length = message.length @@ -615,6 +688,30 @@ def handle_message(message: Message) -> Optional[DetailedEvent]: n.iosscreenleave_viewname = message.view_name return n + if isinstance(message, IOSScreenChanges): + n.iosscreenchanges_timestamp = message.timestamp + n.iosscreenchanges_length = message.length + n.iosscreenchanges_x = message.x + n.iosscreenchanges_y = message.y + n.iosscreenchanges_width = message.width + n.iosscreenchanges_height = message.height + return n + + if isinstance(message, IOSClickEvent): + n.iosclickevent_timestamp = message.timestamp + n.iosclickevent_length = message.length + n.iosclickevent_label = message.label + n.iosclickevent_x = message.x + n.iosclickevent_y = message.y + return n + + if isinstance(message, IOSInputEvent): + n.iosinputevent_timestamp = message.timestamp + n.iosinputevent_length = message.length + n.iosinputevent_value_masked = message.value_masked + n.iosinputevent_label = message.label + return n + if isinstance(message, IOSLog): n.ioslog_timestamp = message.timestamp n.ioslog_length = message.length @@ -622,12 +719,54 @@ def handle_message(message: Message) -> Optional[DetailedEvent]: n.ioslog_content = message.content return n + if isinstance(message, IOSNetworkCall): + n.iosnetworkcall_timestamp = message.timestamp + n.iosnetworkcall_length = message.length + n.iosnetworkcall_duration = message.duration + n.iosnetworkcall_headers = message.headers + n.iosnetworkcall_body = message.body + n.iosnetworkcall_url = message.url + n.iosnetworkcall_success = message.success + n.iosnetworkcall_method = message.method + n.iosnetworkcall_status = message.status + return n + + if isinstance(message, IOSIssueEvent): + n.iosissueevent_timestamp = message.timestamp + n.iosissueevent_type = message.type + n.iosissueevent_context_string = message.context_string + n.iosissueevent_context = message.context + n.iosissueevent_payload = message.payload + return n + + if isinstance(message, IOSCustomEvent): + n.ioscustomevent_timestamp = message.timestamp + n.ioscustomevent_length = message.length + n.ioscustomevent_name = message.name + n.ioscustomevent_payload = message.payload + return n + if isinstance(message, IOSInternalError): n.iosinternalerror_timestamp = message.timestamp n.iosinternalerror_length = message.length n.iosinternalerror_content = message.content return n + if isinstance(message, IOSCrash): + n.ioscrash_timestamp = message.timestamp + n.ioscrash_length = message.length + n.ioscrash_name = message.name + n.ioscrash_reason = message.reason + n.ioscrash_stacktrace = message.stacktrace + return n + + if isinstance(message, IOSPerformanceEvent): + n.iosperformanceevent_timestamp = message.timestamp + n.iosperformanceevent_length = message.length + n.iosperformanceevent_name = message.name + n.iosperformanceevent_value = message.value + return n + if isinstance(message, IOSPerformanceAggregated): n.iosperformanceaggregated_timestampstart = message.timestamp_start n.iosperformanceaggregated_timestampend = message.timestamp_end diff --git a/ee/connectors/msgcodec/codec.py b/ee/connectors/msgcodec/codec.py index e26653478..7e1aabbf9 100644 --- a/ee/connectors/msgcodec/codec.py +++ b/ee/connectors/msgcodec/codec.py @@ -687,7 +687,7 @@ class MessageCodec(Codec): ) if message_id == 98: - return IOSSCreenEnter( + return IOSScreenEnter( timestamp=self.read_uint(reader), length=self.read_uint(reader), title=self.read_string(reader),