Browse Source

fix(replays): reset event linking start_time (#57619)

Using the `start_time` from the original event was causing snuba's E2E
latency for replay events to be out of whack. This gets it back in whack
Ben McKerry 1 year ago
parent
commit
7b72b80619

+ 2 - 1
src/sentry/replays/lib/event_linking.py

@@ -1,5 +1,6 @@
 from __future__ import annotations
 from __future__ import annotations
 
 
+import time
 import uuid
 import uuid
 from hashlib import md5
 from hashlib import md5
 from typing import TYPE_CHECKING, TypedDict, Union
 from typing import TYPE_CHECKING, TypedDict, Union
@@ -127,7 +128,7 @@ def transform_event_for_linking_payload(replay_id: str, event: BaseEvent) -> Eve
 
 
     return {
     return {
         "type": "replay_event",
         "type": "replay_event",
-        "start_time": int(event.datetime.timestamp()),
+        "start_time": int(time.time()),
         "replay_id": replay_id,
         "replay_id": replay_id,
         "project_id": event.project.id,
         "project_id": event.project.id,
         "segment_id": None,
         "segment_id": None,

+ 1 - 1
tests/sentry/tasks/test_post_process.py

@@ -1669,7 +1669,7 @@ class ReplayLinkageTestMixin(BasePostProgressGroupMixin):
             ret_value = json.loads(kafka_producer.return_value.publish.call_args[0][1])
             ret_value = json.loads(kafka_producer.return_value.publish.call_args[0][1])
 
 
             assert ret_value["type"] == "replay_event"
             assert ret_value["type"] == "replay_event"
-            assert ret_value["start_time"] == int(event.datetime.timestamp())
+            assert ret_value["start_time"] > int(event.datetime.timestamp())
             assert ret_value["replay_id"] == replay_id
             assert ret_value["replay_id"] == replay_id
             assert ret_value["project_id"] == self.project.id
             assert ret_value["project_id"] == self.project.id
             assert ret_value["segment_id"] is None
             assert ret_value["segment_id"] is None