From 5937f2fc7ca08f9b30706277f7805470726e95ae Mon Sep 17 00:00:00 2001 From: "sentry-junior[bot]" <264270552+sentry-junior[bot]@users.noreply.github.com> Date: Wed, 3 Jun 2026 18:37:38 +0000 Subject: [PATCH 1/2] fix(kafka): set client.id on all producers for producer_name metric tag Arroyo uses the librdkafka client.id config field as the producer_name tag on snuba.consumer.arroyo.producer.librdkafka.* metrics. Without it the tag falls back to "unknown", making the DD monitor useless for routing alerts to the right owner. Set a descriptive client.id on every build_kafka_producer_configuration call site in snuba so each producer shows up with a meaningful name. Co-authored-by: Markus Unterwaditzer --- snuba/cli/subscriptions_executor.py | 2 +- snuba/cli/subscriptions_scheduler.py | 2 +- snuba/cli/subscriptions_scheduler_executor.py | 2 +- snuba/cogs/accountant.py | 2 +- snuba/state/__init__.py | 1 + snuba/web/bulk_delete_query.py | 1 + 6 files changed, 6 insertions(+), 4 deletions(-) diff --git a/snuba/cli/subscriptions_executor.py b/snuba/cli/subscriptions_executor.py index be0b18e6023..e0fd6a7871f 100644 --- a/snuba/cli/subscriptions_executor.py +++ b/snuba/cli/subscriptions_executor.py @@ -134,7 +134,7 @@ def subscriptions_executor( build_kafka_producer_configuration( result_topic_spec.topic, bootstrap_servers=result_bootstrap_server, - override_params={"partitioner": "consistent"}, + override_params={"partitioner": "consistent", "client.id": "snuba-subscriptions-executor"}, ) ) diff --git a/snuba/cli/subscriptions_scheduler.py b/snuba/cli/subscriptions_scheduler.py index d2743991882..65c8788d5f3 100644 --- a/snuba/cli/subscriptions_scheduler.py +++ b/snuba/cli/subscriptions_scheduler.py @@ -164,7 +164,7 @@ def subscriptions_scheduler( scheduled_topic_spec.topic, slice_id, bootstrap_servers=scheduled_bootstrap_server, - override_params={"partitioner": "consistent"}, + override_params={"partitioner": "consistent", "client.id": "snuba-subscriptions-scheduler"}, ) ) diff --git a/snuba/cli/subscriptions_scheduler_executor.py b/snuba/cli/subscriptions_scheduler_executor.py index 3d66fc4adb5..6d3c856c75a 100644 --- a/snuba/cli/subscriptions_scheduler_executor.py +++ b/snuba/cli/subscriptions_scheduler_executor.py @@ -120,7 +120,7 @@ def subscriptions_scheduler_executor( producer = KafkaProducer( build_kafka_producer_configuration( result_topic_spec.topic, - override_params={"partitioner": "consistent"}, + override_params={"partitioner": "consistent", "client.id": "snuba-subscriptions-scheduler-executor"}, ) ) diff --git a/snuba/cogs/accountant.py b/snuba/cogs/accountant.py index ca45384564e..e7b9b97d391 100644 --- a/snuba/cogs/accountant.py +++ b/snuba/cogs/accountant.py @@ -18,7 +18,7 @@ def _accumulator(create: bool = False) -> UsageAccumulator | None: global accumulator if accumulator is None and create: producer = KafkaProducer( - build_kafka_producer_configuration(StreamTopic.COGS_SHARED_RESOURCES_USAGE, None) + build_kafka_producer_configuration(StreamTopic.COGS_SHARED_RESOURCES_USAGE, None, override_params={"client.id": "snuba-cogs-accountant"}) ) accumulator = UsageAccumulator(producer=producer) return accumulator diff --git a/snuba/state/__init__.py b/snuba/state/__init__.py index 1df7c0a6f07..309b65055bf 100644 --- a/snuba/state/__init__.py +++ b/snuba/state/__init__.py @@ -56,6 +56,7 @@ def _kafka_producer() -> Producer: kfk = Producer( build_kafka_producer_configuration( topic=Topic.QUERYLOG, + override_params={"client.id": "snuba-querylog"}, ) ) return kfk diff --git a/snuba/web/bulk_delete_query.py b/snuba/web/bulk_delete_query.py index 5bcb5299a04..60f440e1343 100644 --- a/snuba/web/bulk_delete_query.py +++ b/snuba/web/bulk_delete_query.py @@ -71,6 +71,7 @@ def _get_kafka_producer(topic: Topic) -> Producer: producer = Producer( build_kafka_producer_configuration( topic=topic, + override_params={"client.id": "snuba-bulk-delete"}, ) ) PRODUCER_MAP[topic.value] = producer From 67e1ef24d290ba6fe0415d3e20bc22da74e49e2b Mon Sep 17 00:00:00 2001 From: "getsantry[bot]" <66042841+getsantry[bot]@users.noreply.github.com> Date: Wed, 3 Jun 2026 18:40:24 +0000 Subject: [PATCH 2/2] [getsentry/action-github-commit] Auto commit --- snuba/cli/subscriptions_executor.py | 5 ++++- snuba/cli/subscriptions_scheduler.py | 5 ++++- snuba/cli/subscriptions_scheduler_executor.py | 5 ++++- snuba/cogs/accountant.py | 6 +++++- 4 files changed, 17 insertions(+), 4 deletions(-) diff --git a/snuba/cli/subscriptions_executor.py b/snuba/cli/subscriptions_executor.py index e0fd6a7871f..cb2cc3f4105 100644 --- a/snuba/cli/subscriptions_executor.py +++ b/snuba/cli/subscriptions_executor.py @@ -134,7 +134,10 @@ def subscriptions_executor( build_kafka_producer_configuration( result_topic_spec.topic, bootstrap_servers=result_bootstrap_server, - override_params={"partitioner": "consistent", "client.id": "snuba-subscriptions-executor"}, + override_params={ + "partitioner": "consistent", + "client.id": "snuba-subscriptions-executor", + }, ) ) diff --git a/snuba/cli/subscriptions_scheduler.py b/snuba/cli/subscriptions_scheduler.py index 65c8788d5f3..3777c261302 100644 --- a/snuba/cli/subscriptions_scheduler.py +++ b/snuba/cli/subscriptions_scheduler.py @@ -164,7 +164,10 @@ def subscriptions_scheduler( scheduled_topic_spec.topic, slice_id, bootstrap_servers=scheduled_bootstrap_server, - override_params={"partitioner": "consistent", "client.id": "snuba-subscriptions-scheduler"}, + override_params={ + "partitioner": "consistent", + "client.id": "snuba-subscriptions-scheduler", + }, ) ) diff --git a/snuba/cli/subscriptions_scheduler_executor.py b/snuba/cli/subscriptions_scheduler_executor.py index 6d3c856c75a..a98e9017618 100644 --- a/snuba/cli/subscriptions_scheduler_executor.py +++ b/snuba/cli/subscriptions_scheduler_executor.py @@ -120,7 +120,10 @@ def subscriptions_scheduler_executor( producer = KafkaProducer( build_kafka_producer_configuration( result_topic_spec.topic, - override_params={"partitioner": "consistent", "client.id": "snuba-subscriptions-scheduler-executor"}, + override_params={ + "partitioner": "consistent", + "client.id": "snuba-subscriptions-scheduler-executor", + }, ) ) diff --git a/snuba/cogs/accountant.py b/snuba/cogs/accountant.py index e7b9b97d391..aae3795cb38 100644 --- a/snuba/cogs/accountant.py +++ b/snuba/cogs/accountant.py @@ -18,7 +18,11 @@ def _accumulator(create: bool = False) -> UsageAccumulator | None: global accumulator if accumulator is None and create: producer = KafkaProducer( - build_kafka_producer_configuration(StreamTopic.COGS_SHARED_RESOURCES_USAGE, None, override_params={"client.id": "snuba-cogs-accountant"}) + build_kafka_producer_configuration( + StreamTopic.COGS_SHARED_RESOURCES_USAGE, + None, + override_params={"client.id": "snuba-cogs-accountant"}, + ) ) accumulator = UsageAccumulator(producer=producer) return accumulator