sentry-arroyo 2.31.0__py3-none-any.whl → 2.31.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -757,6 +757,7 @@ class ConfluentProducer(ConfluentKafkaProducer): # type: ignore[misc]
757
757
  def __init__(self, configuration: Mapping[str, Any]) -> None:
758
758
  super().__init__(configuration)
759
759
  self.__metrics = get_metrics()
760
+ self.producer_name = configuration.get("client.id") or None
760
761
 
761
762
  def __metrics_delivery_callback(
762
763
  self,
@@ -768,10 +769,14 @@ class ConfluentProducer(ConfluentKafkaProducer): # type: ignore[misc]
768
769
  else:
769
770
  status = "success"
770
771
 
772
+ tags = {"status": status}
773
+ if self.producer_name:
774
+ tags["producer_name"] = self.producer_name
775
+
771
776
  self.__metrics.increment(
772
777
  "arroyo.producer.produce_status",
773
778
  1,
774
- tags={"status": status},
779
+ tags=tags,
775
780
  )
776
781
 
777
782
  def __delivery_callback(
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sentry-arroyo
3
- Version: 2.31.0
3
+ Version: 2.31.1
4
4
  Summary: Arroyo is a Python library for working with streaming data.
5
5
  Home-page: https://github.com/getsentry/arroyo
6
6
  Author: Sentry
@@ -9,7 +9,7 @@ arroyo/backends/abstract.py,sha256=NQ5xG9rjchSUW8URl1WtSYSzMFtwRKB6wtJhWmDyR9E,9
9
9
  arroyo/backends/kafka/__init__.py,sha256=xgf-AqHbQkJsh73YokO2uoyyHfZf8XwUp6BULtM8stI,445
10
10
  arroyo/backends/kafka/commit.py,sha256=LPsjvX5PPXR62DT6sa5GuSF78qk9F_L--Fz4kw7-m-s,3060
11
11
  arroyo/backends/kafka/configuration.py,sha256=g1Y-vdu3OT9pqWuYRp9fw29Nmm1KBBExQLr3VhDsp90,8950
12
- arroyo/backends/kafka/consumer.py,sha256=nuWgURnaL4V5UzrbaVDPuATfG9cJNCiga1Pm1Dej2uc,29955
12
+ arroyo/backends/kafka/consumer.py,sha256=QrhgcTiJbwZ3rf_nOn9PQL9n8L9chyXmtTGPRRiBxoY,30130
13
13
  arroyo/backends/local/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
14
  arroyo/backends/local/backend.py,sha256=7odjCnzoGgdo8JHLgG1ntaXa-ZR9GteGkquiA2WAWmM,13880
15
15
  arroyo/backends/local/storages/__init__.py,sha256=AGYujdAAcn3osoj9jq84IzTywYbkIDv9wRg2rLhLXeg,104
@@ -46,11 +46,11 @@ examples/transform_and_produce/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5
46
46
  examples/transform_and_produce/batched.py,sha256=st2R6qTneAtV0JFbKP30Ti3sJDYj8Jkbmta9JckKdZU,2636
47
47
  examples/transform_and_produce/script.py,sha256=8kSMIjQNqGYEVyE0PvrfJh-a_UYCrJSstTp_De7kyyg,2306
48
48
  examples/transform_and_produce/simple.py,sha256=H7xqxItjl4tx34wVW5dy6mB9G39QucAtxkJSBzVmjgA,1637
49
- sentry_arroyo-2.31.0.dist-info/licenses/LICENSE,sha256=0Ng3MFdEcnz0sVD1XvGBBzbavvNp_7OAM5yVObB46jU,10829
49
+ sentry_arroyo-2.31.1.dist-info/licenses/LICENSE,sha256=0Ng3MFdEcnz0sVD1XvGBBzbavvNp_7OAM5yVObB46jU,10829
50
50
  tests/backends/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
51
51
  tests/backends/mixins.py,sha256=sfNyE0VTeiD3GHOnBYl-9urvPuURI2G1BWke0cz7Dvc,20445
52
52
  tests/backends/test_commit.py,sha256=iTHfK1qsBxim0XwxgMvNNSMqDUMEHoYkYBDcgxGBFbs,831
53
- tests/backends/test_confluent_producer.py,sha256=kLICuiqyWuJPpBWXlvR0wMqX34Xj1tHCUzZHbjPXmxk,2675
53
+ tests/backends/test_confluent_producer.py,sha256=zMCRqXdrWSgkwIspZJ7uhzpkQIFZKNbQeMAG1BeQPms,2993
54
54
  tests/backends/test_kafka.py,sha256=6W6EA41X-ECTfcOeivhQxURnmV2Y0fYy-UzDCnJgDsU,12830
55
55
  tests/backends/test_kafka_producer.py,sha256=LpwkqnstcCDxemlKZ0FpzNKrP-1UuXXY15P7P-spjhE,3912
56
56
  tests/backends/test_local.py,sha256=Mfd4DFuWVSVtl1GomQ6TIoWuJNcAliKqKU0BShPlEMY,3363
@@ -74,7 +74,7 @@ tests/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
74
74
  tests/utils/test_concurrent.py,sha256=Gwdzym2UZ1HO3rhOSGmzxImWcLFygY8P7MXHT3Q0xTE,455
75
75
  tests/utils/test_metrics.py,sha256=bI0EtGgPokMQyEqX58i0-8zvLfxRP2nWaWr2wLMaJ_o,917
76
76
  tests/utils/test_retries.py,sha256=AxJLkXWeL9AjHv_p1n0pe8CXXJp24ZQIuYBHfNcmiz4,3075
77
- sentry_arroyo-2.31.0.dist-info/METADATA,sha256=X_NmQu_bEVG--nVwRfvHQOCTRLoZ4kec0-BTPtV1Ii4,2208
78
- sentry_arroyo-2.31.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
79
- sentry_arroyo-2.31.0.dist-info/top_level.txt,sha256=DVdMZKysL_iIxm5aY0sYgZtP5ZXMg9YBaBmGQHVmDXA,22
80
- sentry_arroyo-2.31.0.dist-info/RECORD,,
77
+ sentry_arroyo-2.31.1.dist-info/METADATA,sha256=JREC1Nm6b51e0nmz9ANO0N86Qh2th772Ri8t-I5FXJc,2208
78
+ sentry_arroyo-2.31.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
79
+ sentry_arroyo-2.31.1.dist-info/top_level.txt,sha256=DVdMZKysL_iIxm5aY0sYgZtP5ZXMg9YBaBmGQHVmDXA,22
80
+ sentry_arroyo-2.31.1.dist-info/RECORD,,
@@ -24,11 +24,17 @@ class TestConfluentProducer:
24
24
 
25
25
  def test_metrics_callback_records_success(self) -> None:
26
26
  """Test that the metrics callback records success metric"""
27
- producer = ConfluentProducer({"bootstrap.servers": "fake:9092"})
27
+ producer = ConfluentProducer(
28
+ {"bootstrap.servers": "fake:9092", "client.id": "test-producer-name"}
29
+ )
28
30
  mock_message = mock.Mock(spec=ConfluentMessage)
29
31
  producer._ConfluentProducer__metrics_delivery_callback(None, mock_message)
30
32
  assert (
31
- Increment("arroyo.producer.produce_status", 1, {"status": "success"})
33
+ Increment(
34
+ "arroyo.producer.produce_status",
35
+ 1,
36
+ {"status": "success", "producer_name": "test-producer-name"},
37
+ )
32
38
  in TestingMetricsBackend.calls
33
39
  )
34
40
 
@@ -45,7 +51,9 @@ class TestConfluentProducer:
45
51
 
46
52
  def test_delivery_callback_wraps_user_callback(self) -> None:
47
53
  """Test that the delivery callback wrapper calls both metrics and user callbacks"""
48
- producer = ConfluentProducer({"bootstrap.servers": "fake:9092"})
54
+ producer = ConfluentProducer(
55
+ {"bootstrap.servers": "fake:9092", "client.id": "test-producer-name"}
56
+ )
49
57
  user_callback_invoked = []
50
58
 
51
59
  def user_callback(
@@ -57,7 +65,11 @@ class TestConfluentProducer:
57
65
  mock_message = mock.Mock(spec=ConfluentMessage)
58
66
  wrapped(None, mock_message)
59
67
  assert (
60
- Increment("arroyo.producer.produce_status", 1, {"status": "success"})
68
+ Increment(
69
+ "arroyo.producer.produce_status",
70
+ 1,
71
+ {"status": "success", "producer_name": "test-producer-name"},
72
+ )
61
73
  in TestingMetricsBackend.calls
62
74
  )
63
75
  assert len(user_callback_invoked) == 1