Просмотр исходного кода

ref(crons): Read source_sdk from `client` (#49384)

Requires https://github.com/getsentry/relay/pull/2136
Evan Purkhiser 1 год назад
Родитель
Сommit
09ae8c237e

+ 2 - 1
src/sentry/monitors/consumers/monitor_consumer.py

@@ -95,6 +95,7 @@ def _process_message(wrapper: Dict) -> None:
     params = json.loads(wrapper["payload"])
     start_time = to_datetime(float(wrapper["start_time"]))
     project_id = int(wrapper["project_id"])
+    source_sdk = wrapper["client"]
 
     environment = params.get("environment")
     project = Project.objects.get_from_cache(id=project_id)
@@ -103,7 +104,7 @@ def _process_message(wrapper: Dict) -> None:
 
     metric_kwargs = {
         "source": "consumer",
-        "source_sdk": params.get("sdk", {}).get("name", "unknown"),
+        "source_sdk": source_sdk,
     }
 
     if ratelimits.is_limited(

+ 2 - 0
tests/sentry/monitors/test_monitor_consumer.py

@@ -48,6 +48,7 @@ class MonitorConsumerTest(TestCase):
             "start_time": now.timestamp(),
             "project_id": self.project.id,
             "payload": json.dumps(payload),
+            "client": "test/1.0",
         }
 
         return wrapper
@@ -71,6 +72,7 @@ class MonitorConsumerTest(TestCase):
             "start_time": datetime.now().timestamp(),
             "project_id": self.project.id,
             "payload": self.valid_payload(monitor_slug),
+            "client": "test/1.0",
         }
 
     def valid_payload(self, monitor_slug: str) -> str: