datadog-checks-base 37.20.0__py2.py3-none-any.whl → 37.21.1__py2.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.
- datadog_checks/base/__about__.py +1 -1
- datadog_checks/base/__init__.pyi +2 -1
- datadog_checks/base/checks/__init__.pyi +2 -1
- datadog_checks/base/checks/base.py +3 -0
- datadog_checks/base/checks/db.py +22 -0
- datadog_checks/base/utils/containers.py +15 -2
- datadog_checks/base/utils/db/health.py +2 -3
- datadog_checks/base/utils/db/utils.py +16 -6
- datadog_checks/base/utils/hashing.py +75 -0
- datadog_checks/base/utils/persistent_cache.py +3 -2
- {datadog_checks_base-37.20.0.dist-info → datadog_checks_base-37.21.1.dist-info}/METADATA +2 -2
- {datadog_checks_base-37.20.0.dist-info → datadog_checks_base-37.21.1.dist-info}/RECORD +13 -11
- {datadog_checks_base-37.20.0.dist-info → datadog_checks_base-37.21.1.dist-info}/WHEEL +0 -0
datadog_checks/base/__about__.py
CHANGED
datadog_checks/base/__init__.pyi
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
# Licensed under a 3-clause BSD style license (see LICENSE)
|
|
4
4
|
from .__about__ import __version__
|
|
5
5
|
from .agent import datadog_agent
|
|
6
|
-
from .checks import AgentCheck
|
|
6
|
+
from .checks import AgentCheck, DatabaseCheck
|
|
7
7
|
from .checks.kube_leader import KubeLeaderElectionBaseCheck
|
|
8
8
|
from .checks.openmetrics import OpenMetricsBaseCheck
|
|
9
9
|
from .checks.openmetrics.v2.base import OpenMetricsBaseCheckV2
|
|
@@ -16,6 +16,7 @@ from .utils.common import ensure_bytes, ensure_unicode, to_native_string, to_str
|
|
|
16
16
|
__all__ = [
|
|
17
17
|
'__version__',
|
|
18
18
|
'AgentCheck',
|
|
19
|
+
'DatabaseCheck',
|
|
19
20
|
'ConfigurationError',
|
|
20
21
|
'KubeLeaderElectionBaseCheck',
|
|
21
22
|
'OpenMetricsBaseCheck',
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
# All rights reserved
|
|
3
3
|
# Licensed under a 3-clause BSD style license (see LICENSE)
|
|
4
4
|
from .base import AgentCheck
|
|
5
|
+
from .db import DatabaseCheck
|
|
5
6
|
from .network import EventType, NetworkCheck, Status
|
|
6
7
|
|
|
7
|
-
__all__ = ['AgentCheck', 'EventType', 'NetworkCheck', 'Status']
|
|
8
|
+
__all__ = ['AgentCheck', 'DatabaseCheck', 'EventType', 'NetworkCheck', 'Status']
|
|
@@ -1094,6 +1094,9 @@ class AgentCheck(object):
|
|
|
1094
1094
|
return entrypoint
|
|
1095
1095
|
|
|
1096
1096
|
def __initialize_persistent_cache_key_prefix(self):
|
|
1097
|
+
if self.__persistent_cache_key_prefix:
|
|
1098
|
+
return
|
|
1099
|
+
|
|
1097
1100
|
namespace = ':'.join(self.check_id.split(':')[:-1])
|
|
1098
1101
|
self.__persistent_cache_key_prefix = f'{namespace}:{self.persistent_cache_id()}_'
|
|
1099
1102
|
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# (C) Datadog, Inc. 2025-present
|
|
2
|
+
# All rights reserved
|
|
3
|
+
# Licensed under a 3-clause BSD style license (see LICENSE)
|
|
4
|
+
|
|
5
|
+
from . import AgentCheck
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class DatabaseCheck(AgentCheck):
|
|
9
|
+
def database_monitoring_query_sample(self, raw_event: str):
|
|
10
|
+
self.event_platform_event(raw_event, "dbm-samples")
|
|
11
|
+
|
|
12
|
+
def database_monitoring_query_metrics(self, raw_event: str):
|
|
13
|
+
self.event_platform_event(raw_event, "dbm-metrics")
|
|
14
|
+
|
|
15
|
+
def database_monitoring_query_activity(self, raw_event: str):
|
|
16
|
+
self.event_platform_event(raw_event, "dbm-activity")
|
|
17
|
+
|
|
18
|
+
def database_monitoring_metadata(self, raw_event: str):
|
|
19
|
+
self.event_platform_event(raw_event, "dbm-metadata")
|
|
20
|
+
|
|
21
|
+
def database_monitoring_health(self, raw_event: str):
|
|
22
|
+
self.event_platform_event(raw_event, "dbm-health")
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
# (C) Datadog, Inc. 2010-present
|
|
2
2
|
# All rights reserved
|
|
3
3
|
# Licensed under Simplified BSD License (see LICENSE)
|
|
4
|
+
from typing import Any
|
|
4
5
|
|
|
5
6
|
|
|
6
7
|
class _FreezeKey(object):
|
|
@@ -30,8 +31,9 @@ class _FreezeKey(object):
|
|
|
30
31
|
if other.value is None:
|
|
31
32
|
# `x < None` -> `False`
|
|
32
33
|
return False
|
|
33
|
-
|
|
34
|
-
|
|
34
|
+
|
|
35
|
+
# If we get 2 types that cannot be compared, we compare the string representation of the types.
|
|
36
|
+
return str(type(self.value)) < str(type(other.value))
|
|
35
37
|
else:
|
|
36
38
|
# We're on Python 2, where `a < b` never fails (returns `False` by default), or
|
|
37
39
|
# we're on Python 3 and values have the same type.
|
|
@@ -65,6 +67,17 @@ def hash_mutable(m):
|
|
|
65
67
|
return hash(freeze(m))
|
|
66
68
|
|
|
67
69
|
|
|
70
|
+
def hash_mutable_stable(m: Any) -> str:
|
|
71
|
+
"""
|
|
72
|
+
This method provides a way of hashing a mutable object ensuring that the same object always
|
|
73
|
+
provides the same hash even in different processes.
|
|
74
|
+
"""
|
|
75
|
+
from datadog_checks.base.utils.hashing import HashMethod
|
|
76
|
+
|
|
77
|
+
algorithm = HashMethod.secure()
|
|
78
|
+
return algorithm(str(freeze(m)).encode()).hexdigest()
|
|
79
|
+
|
|
80
|
+
|
|
68
81
|
def iter_unique(*iterables):
|
|
69
82
|
seen = set()
|
|
70
83
|
|
|
@@ -12,8 +12,7 @@ from typing import TYPE_CHECKING
|
|
|
12
12
|
from datadog_checks.base.utils.serialization import json
|
|
13
13
|
|
|
14
14
|
if TYPE_CHECKING:
|
|
15
|
-
from datadog_checks.base import
|
|
16
|
-
|
|
15
|
+
from datadog_checks.base import DatabaseCheck
|
|
17
16
|
try:
|
|
18
17
|
import datadog_agent
|
|
19
18
|
except ImportError:
|
|
@@ -42,7 +41,7 @@ class HealthStatus(Enum):
|
|
|
42
41
|
|
|
43
42
|
|
|
44
43
|
class Health:
|
|
45
|
-
def __init__(self, check:
|
|
44
|
+
def __init__(self, check: DatabaseCheck):
|
|
46
45
|
"""
|
|
47
46
|
Initialize the HealthCheck instance.
|
|
48
47
|
|
|
@@ -471,12 +471,13 @@ class TagManager:
|
|
|
471
471
|
multiple times.
|
|
472
472
|
"""
|
|
473
473
|
|
|
474
|
-
def __init__(self) -> None:
|
|
474
|
+
def __init__(self, normalizer: Optional[Callable[[Union[str, bytes]], str]] = None) -> None:
|
|
475
475
|
self._tags: Dict[Union[str, TagType], List[str]] = {}
|
|
476
476
|
self._cached_tag_list: Optional[tuple[str, ...]] = None
|
|
477
477
|
self._keyless: TagType = TagType.KEYLESS
|
|
478
|
+
self._normalizer = normalizer
|
|
478
479
|
|
|
479
|
-
def set_tag(self, key: Optional[str], value: str, replace: bool = False) -> None:
|
|
480
|
+
def set_tag(self, key: Optional[str], value: str, replace: bool = False, normalize: bool = False) -> None:
|
|
480
481
|
"""
|
|
481
482
|
Set a tag with the given key and value.
|
|
482
483
|
If key is None or empty, the value is stored as a keyless tag.
|
|
@@ -485,7 +486,11 @@ class TagManager:
|
|
|
485
486
|
value (str): The tag value
|
|
486
487
|
replace (bool): If True, replaces all existing values for this key
|
|
487
488
|
If False, appends the value if it doesn't exist
|
|
489
|
+
normalize (bool): If True, applies tag normalization using the configured normalizer
|
|
488
490
|
"""
|
|
491
|
+
if normalize and self._normalizer:
|
|
492
|
+
value = self._normalizer(value)
|
|
493
|
+
|
|
489
494
|
if not key:
|
|
490
495
|
key = self._keyless
|
|
491
496
|
|
|
@@ -498,13 +503,14 @@ class TagManager:
|
|
|
498
503
|
# Invalidate the cache since tags have changed
|
|
499
504
|
self._cached_tag_list = None
|
|
500
505
|
|
|
501
|
-
def set_tags_from_list(self, tag_list: List[str], replace: bool = False) -> None:
|
|
506
|
+
def set_tags_from_list(self, tag_list: List[str], replace: bool = False, normalize: bool = False) -> None:
|
|
502
507
|
"""
|
|
503
508
|
Set multiple tags from a list of strings.
|
|
504
509
|
Strings can be in "key:value" format or just "value" format.
|
|
505
510
|
Args:
|
|
506
511
|
tag_list (List[str]): List of tags in "key:value" format or just "value"
|
|
507
512
|
replace (bool): If True, replaces all existing tags with the new tags list
|
|
513
|
+
normalize (bool): If True, applies tag normalization using the configured normalizer
|
|
508
514
|
"""
|
|
509
515
|
if replace:
|
|
510
516
|
self._tags.clear()
|
|
@@ -513,11 +519,11 @@ class TagManager:
|
|
|
513
519
|
for tag in tag_list:
|
|
514
520
|
if ':' in tag:
|
|
515
521
|
key, value = tag.split(':', 1)
|
|
516
|
-
self.set_tag(key, value)
|
|
522
|
+
self.set_tag(key, value, normalize=normalize)
|
|
517
523
|
else:
|
|
518
|
-
self.set_tag(None, tag)
|
|
524
|
+
self.set_tag(None, tag, normalize=normalize)
|
|
519
525
|
|
|
520
|
-
def delete_tag(self, key: Optional[str], value: Optional[str] = None) -> bool:
|
|
526
|
+
def delete_tag(self, key: Optional[str], value: Optional[str] = None, normalize: bool = False) -> bool:
|
|
521
527
|
"""
|
|
522
528
|
Delete a tag or specific value for a tag.
|
|
523
529
|
For keyless tags, use None or empty string as the key.
|
|
@@ -525,9 +531,13 @@ class TagManager:
|
|
|
525
531
|
key (str): The tag key to delete, or None/empty for keyless tags
|
|
526
532
|
value (str, optional): If provided, only deletes this specific value for the key.
|
|
527
533
|
If None, deletes all values for the key.
|
|
534
|
+
normalize (bool): If True, applies tag normalization to the value for lookup
|
|
528
535
|
Returns:
|
|
529
536
|
bool: True if something was deleted, False otherwise
|
|
530
537
|
"""
|
|
538
|
+
if normalize and self._normalizer and value:
|
|
539
|
+
value = self._normalizer(value)
|
|
540
|
+
|
|
531
541
|
if not key:
|
|
532
542
|
key = self._keyless
|
|
533
543
|
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from typing import TYPE_CHECKING, Any, Protocol
|
|
4
|
+
|
|
5
|
+
if TYPE_CHECKING:
|
|
6
|
+
from collections.abc import Buffer
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class Hash(Protocol):
|
|
10
|
+
def digest(self) -> bytes: ...
|
|
11
|
+
def hexdigest(self) -> str: ...
|
|
12
|
+
def update(self, obj: Buffer, /) -> None: ...
|
|
13
|
+
def copy(self) -> Hash: ...
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class HashingAlgorithm(Protocol):
|
|
17
|
+
def __call__(self, data: bytes, *args: Any, **kwargs: Any) -> Hash: ...
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
class HashMethod:
|
|
21
|
+
"""
|
|
22
|
+
Singleton class used to provide hashing algorithms
|
|
23
|
+
"""
|
|
24
|
+
|
|
25
|
+
_architecture: str | None = None
|
|
26
|
+
_secure: HashingAlgorithm | None = None
|
|
27
|
+
_fast: HashingAlgorithm | None = None
|
|
28
|
+
|
|
29
|
+
@classmethod
|
|
30
|
+
def secure(cls) -> HashingAlgorithm:
|
|
31
|
+
"""
|
|
32
|
+
Provides a secure hashing algorithm.
|
|
33
|
+
|
|
34
|
+
This algorithm is compliant with the FIPS 140-2 standard.
|
|
35
|
+
"""
|
|
36
|
+
if cls._secure is not None:
|
|
37
|
+
return cls._secure
|
|
38
|
+
|
|
39
|
+
from hashlib import sha256
|
|
40
|
+
|
|
41
|
+
def secure(data: bytes, *args: Any, **kwargs: Any) -> Hash:
|
|
42
|
+
return sha256(data, *args, **kwargs)
|
|
43
|
+
|
|
44
|
+
cls._secure = secure
|
|
45
|
+
return cls._secure
|
|
46
|
+
|
|
47
|
+
@classmethod
|
|
48
|
+
def fast(cls) -> HashingAlgorithm:
|
|
49
|
+
"""
|
|
50
|
+
Provides a fast hashing algorithm.
|
|
51
|
+
|
|
52
|
+
If the platform is 64bit, it will use the blake2b algorithm, otherwise it will use the blake2s algorithm.
|
|
53
|
+
"""
|
|
54
|
+
if cls._fast is not None:
|
|
55
|
+
return cls._fast
|
|
56
|
+
|
|
57
|
+
from hashlib import blake2b, blake2s
|
|
58
|
+
|
|
59
|
+
selected_blake = blake2b if cls.architecture() == "64bit" else blake2s
|
|
60
|
+
|
|
61
|
+
def blake(data: bytes, *args: Any, **kwargs: Any) -> Hash:
|
|
62
|
+
return selected_blake(data, *args, **kwargs)
|
|
63
|
+
|
|
64
|
+
cls._fast = blake
|
|
65
|
+
return cls._fast
|
|
66
|
+
|
|
67
|
+
@classmethod
|
|
68
|
+
def architecture(cls) -> str:
|
|
69
|
+
if cls._architecture is not None:
|
|
70
|
+
return cls._architecture
|
|
71
|
+
|
|
72
|
+
from datadog_checks.base.utils.platform import Platform
|
|
73
|
+
|
|
74
|
+
cls._architecture = Platform().python_architecture()
|
|
75
|
+
return cls._architecture
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
from collections.abc import Collection
|
|
2
2
|
|
|
3
3
|
from datadog_checks.base import AgentCheck
|
|
4
|
-
from datadog_checks.base.utils.containers import
|
|
4
|
+
from datadog_checks.base.utils.containers import hash_mutable_stable
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
def config_set_persistent_cache_id(
|
|
@@ -30,4 +30,5 @@ def config_set_persistent_cache_id(
|
|
|
30
30
|
instance_config_values = tuple(value for key, value in check.instance.items() if key in set_instance_config_options)
|
|
31
31
|
|
|
32
32
|
selected_values = init_config_values + instance_config_values
|
|
33
|
-
|
|
33
|
+
|
|
34
|
+
return hash_mutable_stable(selected_values)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: datadog-checks-base
|
|
3
|
-
Version: 37.
|
|
3
|
+
Version: 37.21.1
|
|
4
4
|
Summary: The Datadog Check Toolkit
|
|
5
5
|
Project-URL: Source, https://github.com/DataDog/integrations-core
|
|
6
6
|
Author-email: Datadog <packages@datadoghq.com>
|
|
@@ -10,7 +10,7 @@ Classifier: Development Status :: 5 - Production/Stable
|
|
|
10
10
|
Classifier: Intended Audience :: Developers
|
|
11
11
|
Classifier: Intended Audience :: System Administrators
|
|
12
12
|
Classifier: License :: OSI Approved :: BSD License
|
|
13
|
-
Classifier: Programming Language :: Python :: 3.
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
14
14
|
Classifier: Topic :: System :: Monitoring
|
|
15
15
|
Provides-Extra: db
|
|
16
16
|
Requires-Dist: mmh3==5.2.0; extra == 'db'
|
|
@@ -3,9 +3,9 @@ datadog_checks/config.py,sha256=PrAXGdlLnoV2VMQff_noSaSJJ0wg4BAiGnw7jCQLSik,196
|
|
|
3
3
|
datadog_checks/errors.py,sha256=eFwmnrX-batIgbu-iJyseqAPNO_4rk1UuaKK89evLhg,155
|
|
4
4
|
datadog_checks/log.py,sha256=orvOgMKGNEsqSTLalCAQpWP-ouorpG1A7Gn-j2mRD80,301
|
|
5
5
|
datadog_checks/py.typed,sha256=la67KBlbjXN-_-DfGNcdOcjYumVpKG_Tkw-8n5dnGB4,8
|
|
6
|
-
datadog_checks/base/__about__.py,sha256=
|
|
6
|
+
datadog_checks/base/__about__.py,sha256=zY9yrvpmsQJIlSMC9LByfIb_KGfdfnD6iYbUnIQNZBo,139
|
|
7
7
|
datadog_checks/base/__init__.py,sha256=yWegSLE-TZWIGSvAiJj9PSrUxzlOo_UVJLt2zORZ8Ek,363
|
|
8
|
-
datadog_checks/base/__init__.pyi,sha256=
|
|
8
|
+
datadog_checks/base/__init__.pyi,sha256=a4Y1JIcPJ8pz9tRkBAvjWdtvSQwZxbMZBuRmIiSs_4E,1031
|
|
9
9
|
datadog_checks/base/agent.py,sha256=nX9x_BYYizRKGNYfXq5z7S0FZ9xcX_wd2tuxpGe3_8k,350
|
|
10
10
|
datadog_checks/base/config.py,sha256=qcAA4X9sXQZRdwQe8DgiGd2980VBp1SQA0d695tX_tU,604
|
|
11
11
|
datadog_checks/base/constants.py,sha256=cR19tAqVysMFbdBWqIGZoHIKk1kGTyqRsCn9FfFQOnw,197
|
|
@@ -13,9 +13,10 @@ datadog_checks/base/errors.py,sha256=fPcFaR3zHpSkMo8epvF3lRe9KrEnS8g4J0dXM_nvzsw
|
|
|
13
13
|
datadog_checks/base/log.py,sha256=gSfzYimmg0z3Dgmn8NpXuyMNjgXwmTbn0NcyUX8B1ls,6283
|
|
14
14
|
datadog_checks/base/types.py,sha256=anajZS0W0TsxUHJQw-JHOP2NSeuC9BisXSy9mAStlxQ,1623
|
|
15
15
|
datadog_checks/base/checks/__init__.py,sha256=q7V6v-FwQWkQC1QWaVzKaPjZMaxPJHJcLd71C0uM7bA,211
|
|
16
|
-
datadog_checks/base/checks/__init__.pyi,sha256=
|
|
16
|
+
datadog_checks/base/checks/__init__.pyi,sha256=ydetl6kEFCSChppYQhs8mvIP5l6vnZD5AbLABGhbFcM,309
|
|
17
17
|
datadog_checks/base/checks/_config_ast.py,sha256=v1rAhwORF80b3kfZKhf6zXZ7S5D3A2QPUK4tSo8eo-Y,3268
|
|
18
|
-
datadog_checks/base/checks/base.py,sha256=
|
|
18
|
+
datadog_checks/base/checks/base.py,sha256=mnh61HRvHFisSP4IvUtoDPswxB3_ybX-nWkfXMyzWJE,60721
|
|
19
|
+
datadog_checks/base/checks/db.py,sha256=HzEOH4uZaMDAaUTJYy0K5wV9FryNQDXsSMAOHXPVaf4,794
|
|
19
20
|
datadog_checks/base/checks/network.py,sha256=UkgqkVHaoX7Hqi0WKEx-TvaFiF6-37VyF9A3m2aSaJM,1966
|
|
20
21
|
datadog_checks/base/checks/kube_leader/__init__.py,sha256=q7V6v-FwQWkQC1QWaVzKaPjZMaxPJHJcLd71C0uM7bA,211
|
|
21
22
|
datadog_checks/base/checks/kube_leader/__init__.pyi,sha256=UGDywoRwmCIz3Zii1uHsp7jiFGWRdn5fFMZZxgGGlQs,398
|
|
@@ -108,15 +109,16 @@ datadog_checks/base/utils/_http_utils.py,sha256=w8whzycmGzVKlCUv703rgg2qMAF0T3d5
|
|
|
108
109
|
datadog_checks/base/utils/aws.py,sha256=wxFLWlVFtv5_EURdsXzDhORcTpM0jBlAokcMiPV1xD8,1945
|
|
109
110
|
datadog_checks/base/utils/common.py,sha256=OtmKd5FKjlwJwRbhE4aImOBWPOzNPVqfXXmHXk4MMIw,3803
|
|
110
111
|
datadog_checks/base/utils/constants.py,sha256=QwTey4CWB0NAxm2rcD-wPYRkEyglekQIrAzFMabEa38,306
|
|
111
|
-
datadog_checks/base/utils/containers.py,sha256=
|
|
112
|
+
datadog_checks/base/utils/containers.py,sha256=S6c9kvmDJuiHh9hO62Pbdqrnhm6e2R3O5gGH3l5jtNo,3243
|
|
112
113
|
datadog_checks/base/utils/date.py,sha256=JJmqP84CgVcFJ0cvAmMu8EtM6v96tIESucQNm9eKeEc,2780
|
|
113
114
|
datadog_checks/base/utils/diagnose.py,sha256=eLMe0tISpkzS3yxVR83IHxorQJfHT_Xi6Cq4zzRNxVI,5285
|
|
114
115
|
datadog_checks/base/utils/fips.py,sha256=vxm3K7wTQKYenP1LbXk7pmJ8WA6l367BTJGBNO0DkvQ,2490
|
|
115
116
|
datadog_checks/base/utils/functions.py,sha256=iGlybxR6aPPElNxNb2ELOzbk328j9OVBAxredJxdCRw,695
|
|
117
|
+
datadog_checks/base/utils/hashing.py,sha256=dNAe3RUvd7TE3WmcDX6SYQhTaMXsxxDHue4fPkFuL5Q,2015
|
|
116
118
|
datadog_checks/base/utils/headers.py,sha256=0SSdC71jwaB61BODfusahCVr1c56GvT9iwt7cidcHP0,1779
|
|
117
119
|
datadog_checks/base/utils/http.py,sha256=ePSzL7x_xsb1dnXJyU2fBXIgOU0p5UFZIpG2AX_jZZA,44651
|
|
118
120
|
datadog_checks/base/utils/limiter.py,sha256=YRTrPCX1S5EtHLVcP_-GEfzRots_LTcy1f_uHZVs90g,3027
|
|
119
|
-
datadog_checks/base/utils/persistent_cache.py,sha256=
|
|
121
|
+
datadog_checks/base/utils/persistent_cache.py,sha256=1Tk0dkWZH8yH4I_bMZgnhhz2jcZcIyu85dNpBvy5lsM,1531
|
|
120
122
|
datadog_checks/base/utils/platform.py,sha256=wW8f6XKo4JHxvu1sN0DpLDmYjS_cCu8GoKvfTjIj4yM,2499
|
|
121
123
|
datadog_checks/base/utils/secrets.py,sha256=Tj5MBOoyGXXDWB3Hr-7UKDy5GV1NZJkFPY4T4v9PHHg,551
|
|
122
124
|
datadog_checks/base/utils/serialization.py,sha256=pcRUzZIUZkOsfnGDGbxeUwGXrSsFl_9rLhA0ekD_AZ8,975
|
|
@@ -139,7 +141,7 @@ datadog_checks/base/utils/concurrency/limiter.py,sha256=is2ZpUEjfsI4nBGtXG2D0Zgv
|
|
|
139
141
|
datadog_checks/base/utils/db/__init__.py,sha256=EVTc2FtnHWLHXI3M79jyMn9ypZAMa9eqG3EKLAiMF-M,211
|
|
140
142
|
datadog_checks/base/utils/db/__init__.pyi,sha256=ewmGxxyJ52wAaYxNZahi2koEUnddfvHcn3HYxQ3RUr0,240
|
|
141
143
|
datadog_checks/base/utils/db/core.py,sha256=bYanwXIqBzsSxK7b-Ofb0W1WiHbFBtKyYdUBonBLe_Q,11165
|
|
142
|
-
datadog_checks/base/utils/db/health.py,sha256=
|
|
144
|
+
datadog_checks/base/utils/db/health.py,sha256=rdcZPdlLMT4g9tepkietuViKtmP4gwPsjMGCvqC5s54,2366
|
|
143
145
|
datadog_checks/base/utils/db/query.py,sha256=-PyxdqpbShkQ78h7sWnghQZVtjdLGVrm71n8OpHuPW4,14432
|
|
144
146
|
datadog_checks/base/utils/db/sql.py,sha256=oiEzQa_vC_w3U65VFrFCoQHWj5GQLLRlSO0CfiSlp4A,2490
|
|
145
147
|
datadog_checks/base/utils/db/sql_commenter.py,sha256=r_efK6TGRQxM_-Qj-ndEJdECk47J4nCFjkVyxu1XmvU,1522
|
|
@@ -147,7 +149,7 @@ datadog_checks/base/utils/db/statement_metrics.py,sha256=U7EtERkmFzfCtfyd3094fBa
|
|
|
147
149
|
datadog_checks/base/utils/db/timed_cache.py,sha256=a9Ks5KKUvExB6GOATXTSCLamVtLD919Dn6HpweGKtFw,2114
|
|
148
150
|
datadog_checks/base/utils/db/transform.py,sha256=H3JN8_MF0Pk0HaXvIZeX1A8iQrP8KBgS741MPeBiWDo,23969
|
|
149
151
|
datadog_checks/base/utils/db/types.py,sha256=OLX2Oq58JQPFBD4oqUpCLkAP7ovRGN_i1vFk1E0N8Lg,267
|
|
150
|
-
datadog_checks/base/utils/db/utils.py,sha256=
|
|
152
|
+
datadog_checks/base/utils/db/utils.py,sha256=g6GAG1OGvo4O-GrTB6nETvUZGfVUSpqYYJMBuhLs2pM,23130
|
|
151
153
|
datadog_checks/base/utils/discovery/__init__.py,sha256=vPCOdsThBcBjFJRPhDm6IsZGOwk8HlvciwCe_l8dKLk,211
|
|
152
154
|
datadog_checks/base/utils/discovery/__init__.pyi,sha256=ScVLU1Njj9ekZmewltb0cULI6BylssVHfn4CcPNeyr8,173
|
|
153
155
|
datadog_checks/base/utils/discovery/cache.py,sha256=f9L3A7YZpZ-mpZpFIwjsa5ab9cZMGkqdetdr9EpalbI,887
|
|
@@ -221,6 +223,6 @@ datadog_checks/utils/tracing.py,sha256=HQbQakKM-Lw75MDkItaYJYipS6YO24Z_ymDVxDsx5
|
|
|
221
223
|
datadog_checks/utils/prometheus/__init__.py,sha256=8WwXnM9g1sfS5267QYCJX_hd8MZl5kRgBgQ_SzdNdXs,161
|
|
222
224
|
datadog_checks/utils/prometheus/functions.py,sha256=4vWsTGLgujHwdYZo0tlAQkqDPHofqUJM3k9eItJqERQ,197
|
|
223
225
|
datadog_checks/utils/prometheus/metrics_pb2.py,sha256=xg3UdUHe4TjeR4s13LUKZ2U1WVSt6U6zjsVRG6lX6dc,173
|
|
224
|
-
datadog_checks_base-37.
|
|
225
|
-
datadog_checks_base-37.
|
|
226
|
-
datadog_checks_base-37.
|
|
226
|
+
datadog_checks_base-37.21.1.dist-info/METADATA,sha256=W1zsqHGVigXb-0R8vJOUv2kxuRDn0S02dYFWEfggkHQ,4245
|
|
227
|
+
datadog_checks_base-37.21.1.dist-info/WHEEL,sha256=tkmg4JIqwd9H8mL30xA7crRmoStyCtGp0VWshokd1Jc,105
|
|
228
|
+
datadog_checks_base-37.21.1.dist-info/RECORD,,
|
|
File without changes
|