adapta 3.5.13__py3-none-any.whl → 3.5.15__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/logs/_base.py +7 -4
- adapta/metrics/providers/datadog_provider.py +28 -4
- {adapta-3.5.13.dist-info → adapta-3.5.15.dist-info}/METADATA +1 -1
- {adapta-3.5.13.dist-info → adapta-3.5.15.dist-info}/RECORD +7 -7
- {adapta-3.5.13.dist-info → adapta-3.5.15.dist-info}/WHEEL +1 -1
- {adapta-3.5.13.dist-info → adapta-3.5.15.dist-info}/licenses/LICENSE +0 -0
adapta/_version.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
__version__ = '3.5.
|
|
1
|
+
__version__ = '3.5.15'
|
adapta/logs/_base.py
CHANGED
|
@@ -43,18 +43,21 @@ class SemanticLogger(_InternalLogger):
|
|
|
43
43
|
def stop(self) -> None:
|
|
44
44
|
pass
|
|
45
45
|
|
|
46
|
-
def __init__(
|
|
46
|
+
def __init__(
|
|
47
|
+
self,
|
|
48
|
+
fixed_template: dict[str, dict[str, str]] | None = None,
|
|
49
|
+
fixed_template_delimiter=", ",
|
|
50
|
+
global_tags: dict[str, str] | None = None,
|
|
51
|
+
):
|
|
47
52
|
"""
|
|
48
53
|
Creates a new instance of a SemanticLogger
|
|
49
54
|
|
|
50
55
|
:param fixed_template: Additional template to append to message templates provided via logging methods.
|
|
51
56
|
:param fixed_template_delimiter: Optional delimiter to use when appending fixed templates.
|
|
52
57
|
"""
|
|
53
|
-
super().__init__(fixed_template, fixed_template_delimiter)
|
|
58
|
+
super().__init__(fixed_template, fixed_template_delimiter, global_tags)
|
|
54
59
|
self._loggers: dict[str, logging.Logger] = {}
|
|
55
60
|
self._default_log_source = None
|
|
56
|
-
self._fixed_template = fixed_template
|
|
57
|
-
self._fixed_template_delimiter = fixed_template_delimiter
|
|
58
61
|
logging.setLoggerClass(MetadataLogger)
|
|
59
62
|
|
|
60
63
|
def add_log_source(
|
|
@@ -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.
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
adapta/__init__.py,sha256=JSGFwL-Pu--FtbY2HOBYcepwDNOJS10RIR9dL88Iye4,696
|
|
2
|
-
adapta/_version.py,sha256=
|
|
2
|
+
adapta/_version.py,sha256=Xv4mvrdYqCFZ4uwJs7l89ApSHCMS4U8pR8ePXq7JXfE,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
|
|
6
6
|
adapta/logs/README.md,sha256=BFdwFT83v6KiMbDn_EDtvbVh9va6tpKLaZXUcUKf1Sk,4111
|
|
7
7
|
adapta/logs/__init__.py,sha256=ugEGJ7I0fOfrpFRRFRvPfoM4eL4onT7C4ahq3LhKwpQ,816
|
|
8
8
|
adapta/logs/_async_logger.py,sha256=2T_IBdym7aaXf8K2-laO-JRohAO1BZXPSt7hDs_tssg,8278
|
|
9
|
-
adapta/logs/_base.py,sha256=
|
|
9
|
+
adapta/logs/_base.py,sha256=osQ9WX6Let4dfmzomPyH8jfFhSWK0WS9BqpY9UrvEsI,7452
|
|
10
10
|
adapta/logs/_internal.py,sha256=fEKA_P9wtp0xRxB_bxVgfnfRey7mwexSbNE3iJ9nV_o,2997
|
|
11
11
|
adapta/logs/_internal_logger.py,sha256=Dc7sk7kOZhjWEYihMxkY6j4ynCdWNoX-9KLJ6MKobVk,14165
|
|
12
12
|
adapta/logs/_logger_interface.py,sha256=Cec8VyNYsBCDjwWzPmNblaIBx0WOPWSczOyaVkSVWGA,3445
|
|
@@ -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.15.dist-info/METADATA,sha256=94SP_RlO-6jkIsZi8y_LfcGdJtIiUIeM21iHnwk-aTw,3591
|
|
144
|
+
adapta-3.5.15.dist-info/WHEEL,sha256=3ny-bZhpXrU6vSQ1UPG34FoxZBp3lVcvK0LkgUz6VLk,88
|
|
145
|
+
adapta-3.5.15.dist-info/licenses/LICENSE,sha256=0gS6zXsPp8qZhzi1xaGCIYPzb_0e8on7HCeFJe8fOpw,10693
|
|
146
|
+
adapta-3.5.15.dist-info/RECORD,,
|
|
File without changes
|