From 784111120a62081c1fda8854c5a0e5e1ac94d9c2 Mon Sep 17 00:00:00 2001 From: MeredithAnya Date: Wed, 20 Dec 2023 15:03:41 -0500 Subject: [PATCH] ref(profiling): add profiles to admin and web (#5234) * ref(profiling): add profiles to admin and web * use envar * admin to 1.0 --- snuba/admin/static/index.tsx | 2 ++ snuba/admin/static/types.tsx | 1 + snuba/admin/views.py | 1 + snuba/environment.py | 1 + snuba/settings/__init__.py | 3 ++- 5 files changed, 7 insertions(+), 1 deletion(-) diff --git a/snuba/admin/static/index.tsx b/snuba/admin/static/index.tsx index e2c605513e..5dc6b45b3c 100644 --- a/snuba/admin/static/index.tsx +++ b/snuba/admin/static/index.tsx @@ -31,6 +31,8 @@ client.getSettings().then((settings) => { ], // Performance Monitoring tracesSampleRate: settings.tracesSampleRate, + // Profiles + profilesSampleRate: settings.profilesSampleRate, // Session Replay replaysSessionSampleRate: settings.replaysSessionSampleRate, replaysOnErrorSampleRate: settings.replaysOnErrorSampleRate, diff --git a/snuba/admin/static/types.tsx b/snuba/admin/static/types.tsx index b90a01891a..5b9a1c5b78 100644 --- a/snuba/admin/static/types.tsx +++ b/snuba/admin/static/types.tsx @@ -5,6 +5,7 @@ type AllowedTools = { type Settings = { dsn: string; tracesSampleRate: number; + profilesSampleRate: number; replaysSessionSampleRate: number; replaysOnErrorSampleRate: number; userEmail: string; diff --git a/snuba/admin/views.py b/snuba/admin/views.py index 810f35d120..ea17a1c302 100644 --- a/snuba/admin/views.py +++ b/snuba/admin/views.py @@ -129,6 +129,7 @@ def settings_endpoint() -> Response: { "dsn": settings.ADMIN_FRONTEND_DSN, "tracesSampleRate": settings.ADMIN_TRACE_SAMPLE_RATE, + "profilesSampleRate": settings.ADMIN_PROFILES_SAMPLE_RATE, "replaysSessionSampleRate": settings.ADMIN_REPLAYS_SAMPLE_RATE, "replaysOnErrorSampleRate": settings.ADMIN_REPLAYS_SAMPLE_RATE_ON_ERROR, "userEmail": g.user.email, diff --git a/snuba/environment.py b/snuba/environment.py index 9d0437496a..3c6ad4ec7b 100644 --- a/snuba/environment.py +++ b/snuba/environment.py @@ -86,6 +86,7 @@ def setup_sentry() -> None: ], release=os.getenv("SNUBA_RELEASE"), traces_sample_rate=settings.SENTRY_TRACE_SAMPLE_RATE, + profiles_sample_rate=settings.SNUBA_PROFILES_SAMPLE_RATE, ) diff --git a/snuba/settings/__init__.py b/snuba/settings/__init__.py index 5540029a15..ecd5578bb5 100644 --- a/snuba/settings/__init__.py +++ b/snuba/settings/__init__.py @@ -50,6 +50,7 @@ ADMIN_FRONTEND_DSN = os.environ.get("ADMIN_FRONTEND_DSN", "") ADMIN_TRACE_SAMPLE_RATE = float(os.environ.get("ADMIN_TRACE_SAMPLE_RATE", 1.0)) +ADMIN_PROFILES_SAMPLE_RATE = float(os.environ.get("ADMIN_PROFILES_SAMPLE_RATE", 1.0)) ADMIN_REPLAYS_SAMPLE_RATE = float(os.environ.get("ADMIN_REPLAYS_SAMPLE_RATE", 0.1)) ADMIN_REPLAYS_SAMPLE_RATE_ON_ERROR = float( os.environ.get("ADMIN_REPLAYS_SAMPLE_RATE_ON_ERROR", 1.0) @@ -196,7 +197,7 @@ class RedisClusters(TypedDict): STARFISH_SLACK_CHANNEL_ID = os.environ.get("STARFISH_SLACK_CHANNEL_ID") # Snuba Options - +SNUBA_PROFILES_SAMPLE_RATE = float(os.environ.get("SNUBA_PROFILES_SAMPLE_RATE", 0.0)) SNAPSHOT_LOAD_PRODUCT = "snuba" BULK_CLICKHOUSE_BUFFER = 10000