adapta 3.5.12__py3-none-any.whl → 3.5.14__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.
- adapta/_version.py +1 -1
- adapta/metrics/providers/datadog_provider.py +29 -5
- {adapta-3.5.12.dist-info → adapta-3.5.14.dist-info}/METADATA +1 -1
- {adapta-3.5.12.dist-info → adapta-3.5.14.dist-info}/RECORD +6 -6
- {adapta-3.5.12.dist-info → adapta-3.5.14.dist-info}/WHEEL +0 -0
- {adapta-3.5.12.dist-info → adapta-3.5.14.dist-info}/licenses/LICENSE +0 -0
adapta/_version.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
__version__ = '3.5.
|
|
1
|
+
__version__ = '3.5.14'
|
|
@@ -25,7 +25,7 @@ from datadog import initialize, statsd, api
|
|
|
25
25
|
from datadog_api_client.v1.model.metric_metadata import MetricMetadata
|
|
26
26
|
|
|
27
27
|
from adapta.metrics._base import MetricsProvider
|
|
28
|
-
from adapta.utils import convert_datadog_tags
|
|
28
|
+
from adapta.utils import convert_datadog_tags, doze
|
|
29
29
|
|
|
30
30
|
|
|
31
31
|
class EventAlertType(Enum):
|
|
@@ -74,19 +74,43 @@ class DatadogMetricsProvider(MetricsProvider):
|
|
|
74
74
|
)
|
|
75
75
|
|
|
76
76
|
@classmethod
|
|
77
|
-
def uds(
|
|
77
|
+
def uds(
|
|
78
|
+
cls,
|
|
79
|
+
metric_namespace: str,
|
|
80
|
+
fixed_tags: dict[str, str] = None,
|
|
81
|
+
debug=False,
|
|
82
|
+
wait_for_socket_timeout_seconds: int = 0,
|
|
83
|
+
):
|
|
78
84
|
"""
|
|
79
85
|
Enables sending metrics over UDS (Unix Domain Socket).
|
|
80
86
|
You must have dsdsocket path mounted on your system in order to use this mode.
|
|
81
87
|
Refer to https://docs.datadoghq.com/developers/dogstatsd/unix_socket/?tab=kubernetes
|
|
88
|
+
|
|
89
|
+
For most scenarios, wait_for_socket_timeout does not need to be specified. However, if you are not seeing metrics in DD, you might have an issue with socket file not available at the time your application runs.
|
|
90
|
+
In order to ensure you always start with DSD socket ready, specify wait_for_socket_timeout.
|
|
82
91
|
"""
|
|
83
|
-
|
|
92
|
+
assert wait_for_socket_timeout_seconds >= 0, "Socket file wait timeout must be equal to or greater than 0"
|
|
93
|
+
socket_path = os.getenv("PROTEUS__DD_STATSD_SOCKET_PATH") or "/var/run/datadog/dsd.socket"
|
|
94
|
+
wait_time = 0
|
|
95
|
+
provider = cls(
|
|
84
96
|
metric_namespace=metric_namespace,
|
|
85
97
|
fixed_tags=fixed_tags,
|
|
86
98
|
debug=debug,
|
|
87
|
-
statsd_socket_path=
|
|
99
|
+
statsd_socket_path=socket_path,
|
|
88
100
|
)
|
|
89
101
|
|
|
102
|
+
if wait_for_socket_timeout_seconds > 0:
|
|
103
|
+
while wait_time < wait_for_socket_timeout_seconds:
|
|
104
|
+
doze(1)
|
|
105
|
+
wait_time += 1
|
|
106
|
+
if os.path.exists(socket_path):
|
|
107
|
+
return provider
|
|
108
|
+
|
|
109
|
+
raise RuntimeError(f"UDS socket not found after {wait_time} seconds")
|
|
110
|
+
|
|
111
|
+
# skip DSD await if timeout is set to 0
|
|
112
|
+
return provider
|
|
113
|
+
|
|
90
114
|
def update_metric_metadata(self, metric_name: str, metric_metadata: MetricMetadata) -> None:
|
|
91
115
|
"""
|
|
92
116
|
Updates metadata of a published metric in DD.
|
|
@@ -105,7 +129,7 @@ class DatadogMetricsProvider(MetricsProvider):
|
|
|
105
129
|
statsd.decrement(metric=metric_name, tags=convert_datadog_tags(tags))
|
|
106
130
|
|
|
107
131
|
def count(self, metric_name: str, metric_value: int, tags: dict[str, str] | None = None) -> None:
|
|
108
|
-
|
|
132
|
+
statsd.increment(metric=metric_name, value=float(metric_value), tags=convert_datadog_tags(tags))
|
|
109
133
|
|
|
110
134
|
def gauge(
|
|
111
135
|
self,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
adapta/__init__.py,sha256=JSGFwL-Pu--FtbY2HOBYcepwDNOJS10RIR9dL88Iye4,696
|
|
2
|
-
adapta/_version.py,sha256=
|
|
2
|
+
adapta/_version.py,sha256=SwMwM6zXFsaHCwyOqiN8AMdBGP8q5BsPOeXcl_FlehY,23
|
|
3
3
|
adapta/connectors/__init__.py,sha256=H5mtUGjVkaNkhW-nH7_QElRpfcijduVrW8JsrJHjNnA,631
|
|
4
4
|
adapta/connectors/service_bus/__init__.py,sha256=GDDJ_Y8ua08kZuav4dlrdUzf1ayjAjz2M34eplWD-e8,727
|
|
5
5
|
adapta/connectors/service_bus/_connector.py,sha256=mkvDag9Zd2PYj0fSxStnPtFDjmYcAYOBPr7O62LyDSI,1913
|
|
@@ -20,7 +20,7 @@ adapta/metrics/__init__.py,sha256=zSyyuYQfBKAqXXcdG7Tddj2V_KwaskwZnv87Mcb8HQA,70
|
|
|
20
20
|
adapta/metrics/_base.py,sha256=Pr0r7SO2b0j9QxS3xZRPo-cvZn0xacDX3-Ezh7X0WS0,3214
|
|
21
21
|
adapta/metrics/providers/README.md,sha256=HOJt6BfbUqV8aPv1RPUS2Gm-qaST9geHmVUuVg7sD0A,1930
|
|
22
22
|
adapta/metrics/providers/__init__.py,sha256=H5mtUGjVkaNkhW-nH7_QElRpfcijduVrW8JsrJHjNnA,631
|
|
23
|
-
adapta/metrics/providers/datadog_provider.py,sha256=
|
|
23
|
+
adapta/metrics/providers/datadog_provider.py,sha256=jsSiPzHD49QvksPOT0tH8H9w7CkKC7aF0cnMdD9ehzI,6401
|
|
24
24
|
adapta/metrics/providers/void_provider.py,sha256=UAIe3zV17r6NwJqFMp5hovFZ3NwX-IJPEutd8ScKZIM,981
|
|
25
25
|
adapta/ml/__init__.py,sha256=2BiAuwbrSVWt-BWSyuHyPaZXBpzMho8RESrG6JR1vDE,686
|
|
26
26
|
adapta/ml/_model.py,sha256=XtFKWrxJfyU-EuBlJm0TcupmEs0mFmPunAkMqrmRGBE,1256
|
|
@@ -140,7 +140,7 @@ adapta/utils/decorators/_rate_limit.py,sha256=lzQ81uuaPg-_c5CkvztIetkglbmwdQNb6x
|
|
|
140
140
|
adapta/utils/metaframe.py,sha256=0MANP7c7jaHcVw3TvOTq4Taz4Pa2u97HqHKp4ml2nxo,5185
|
|
141
141
|
adapta/utils/python_typing/__init__.py,sha256=AhCDfacq0Jwz9rGGkauL4NaozJeYad5IUpCMif056rQ,86
|
|
142
142
|
adapta/utils/python_typing/_functions.py,sha256=YR3YfsvNvB-IX848cMnSty2tLeq1zExARD44AELtfik,541
|
|
143
|
-
adapta-3.5.
|
|
144
|
-
adapta-3.5.
|
|
145
|
-
adapta-3.5.
|
|
146
|
-
adapta-3.5.
|
|
143
|
+
adapta-3.5.14.dist-info/METADATA,sha256=C16RFWPJySbL4H3bSnEp3jm5f7mwcog4gLlTG2Un42A,3591
|
|
144
|
+
adapta-3.5.14.dist-info/WHEEL,sha256=zp0Cn7JsFoX2ATtOhtaFYIiE2rmFAD4OcMhtUki8W3U,88
|
|
145
|
+
adapta-3.5.14.dist-info/licenses/LICENSE,sha256=0gS6zXsPp8qZhzi1xaGCIYPzb_0e8on7HCeFJe8fOpw,10693
|
|
146
|
+
adapta-3.5.14.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|