Browse Source

feat(dynamic-sampling): Adding logging for recalibration (#51787)

Riccardo Busetti 1 year ago
parent
commit
d4f7ac7267

+ 16 - 1
src/sentry/dynamic_sampling/tasks/logging.py

@@ -42,4 +42,19 @@ def log_query_timeout(query: str, offset: int) -> None:
 
 
 def log_recalibrate_orgs_errors(errors: Dict[str, List[str]]) -> None:
-    logger.info("dynamic_sampling.recalibrate_orgs", extra={"errors": errors})
+    logger.info("dynamic_sampling.recalibrate_orgs_errors", extra={"errors": errors})
+
+
+def log_recalibrate_org_state(
+    org_id: int, previous_factor: float, effective_sample_rate: float, target_sample_rate: float
+) -> None:
+    logger.info(
+        "dynamic_sampling.recalibrate_org_state",
+        extra={
+            "org_id": org_id,
+            "previous_factor": previous_factor,
+            "effective_sample_rate": effective_sample_rate,
+            "target_sample_rate": target_sample_rate,
+            "target_effective_ratio": target_sample_rate / effective_sample_rate,
+        },
+    )

+ 6 - 0
src/sentry/dynamic_sampling/tasks/recalibrate_orgs.py

@@ -31,6 +31,7 @@ from sentry.dynamic_sampling.tasks.helpers.recalibrate_orgs import (
     set_guarded_adjusted_factor,
 )
 from sentry.dynamic_sampling.tasks.logging import (
+    log_recalibrate_org_state,
     log_recalibrate_orgs_errors,
     log_sample_rate_source,
 )
@@ -111,6 +112,11 @@ def recalibrate_org(org_volume: OrganizationDataVolume) -> None:
     # We get the previous factor that was used for the recalibration.
     previous_factor = get_adjusted_factor(org_volume.org_id)
 
+    log_recalibrate_org_state(
+        org_volume.org_id, previous_factor, effective_sample_rate, target_sample_rate
+    )
+
+    # We want to compute the new adjusted factor.
     adjusted_factor = compute_adjusted_factor(
         previous_factor, effective_sample_rate, target_sample_rate
     )