datadog-checks-base 37.4.0__tar.gz → 37.6.0__tar.gz

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.
Files changed (370) hide show
  1. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/PKG-INFO +13 -14
  2. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/__about__.py +1 -1
  3. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/checks/base.py +10 -0
  4. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/checks/openmetrics/v2/labels.py +57 -19
  5. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/checks/openmetrics/v2/scraper.py +37 -2
  6. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/utils/agent/packages.py +1 -6
  7. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/utils/http.py +38 -2
  8. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/pyproject.toml +12 -13
  9. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/checks/logs/crawler/test_base.py +0 -1
  10. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/checks/openmetrics/test_v2/test_options.py +194 -0
  11. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/checks/test_agent_check.py +21 -1
  12. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/utils/http/test_authtoken.py +19 -4
  13. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/utils/http/test_http.py +34 -0
  14. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/.gitignore +0 -0
  15. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/README.md +0 -0
  16. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/__init__.py +0 -0
  17. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/__init__.py +0 -0
  18. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/agent.py +0 -0
  19. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/checks/__init__.py +0 -0
  20. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/checks/kube_leader/__init__.py +0 -0
  21. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/checks/kube_leader/base_check.py +0 -0
  22. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/checks/kube_leader/mixins.py +0 -0
  23. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/checks/kube_leader/record.py +0 -0
  24. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/checks/kubelet_base/__init__.py +0 -0
  25. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/checks/kubelet_base/base.py +0 -0
  26. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/checks/libs/__init__.py +0 -0
  27. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/checks/libs/prometheus.py +0 -0
  28. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/checks/libs/thread_pool.py +0 -0
  29. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/checks/libs/timer.py +0 -0
  30. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/checks/libs/vmware/__init__.py +0 -0
  31. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/checks/libs/vmware/all_metrics.py +0 -0
  32. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/checks/libs/vmware/basic_metrics.py +0 -0
  33. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/checks/logs/__init__.py +0 -0
  34. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/checks/logs/crawler/__init__.py +0 -0
  35. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/checks/logs/crawler/base.py +0 -0
  36. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/checks/logs/crawler/stream.py +0 -0
  37. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/checks/network.py +0 -0
  38. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/checks/openmetrics/__init__.py +0 -0
  39. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/checks/openmetrics/base_check.py +0 -0
  40. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/checks/openmetrics/mixins.py +0 -0
  41. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/checks/openmetrics/v2/__init__.py +0 -0
  42. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/checks/openmetrics/v2/base.py +0 -0
  43. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/checks/openmetrics/v2/first_scrape_handler.py +0 -0
  44. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/checks/openmetrics/v2/metrics.py +0 -0
  45. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/checks/openmetrics/v2/transform.py +0 -0
  46. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/checks/openmetrics/v2/transformers/__init__.py +0 -0
  47. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/checks/openmetrics/v2/transformers/counter.py +0 -0
  48. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/checks/openmetrics/v2/transformers/counter_gauge.py +0 -0
  49. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/checks/openmetrics/v2/transformers/gauge.py +0 -0
  50. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/checks/openmetrics/v2/transformers/histogram.py +0 -0
  51. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/checks/openmetrics/v2/transformers/metadata.py +0 -0
  52. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/checks/openmetrics/v2/transformers/rate.py +0 -0
  53. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/checks/openmetrics/v2/transformers/service_check.py +0 -0
  54. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/checks/openmetrics/v2/transformers/summary.py +0 -0
  55. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/checks/openmetrics/v2/transformers/temporal_percent.py +0 -0
  56. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/checks/openmetrics/v2/transformers/time_elapsed.py +0 -0
  57. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/checks/openmetrics/v2/utils.py +0 -0
  58. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/checks/prometheus/__init__.py +0 -0
  59. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/checks/prometheus/base_check.py +0 -0
  60. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/checks/prometheus/mixins.py +0 -0
  61. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/checks/prometheus/prometheus_base.py +0 -0
  62. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/checks/win/__init__.py +0 -0
  63. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/checks/win/winpdh.py +0 -0
  64. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/checks/win/winpdh_base.py +0 -0
  65. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/checks/win/winpdh_stub.py +0 -0
  66. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/checks/win/wmi/__init__.py +0 -0
  67. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/checks/win/wmi/counter_type.py +0 -0
  68. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/checks/win/wmi/sampler.py +0 -0
  69. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/checks/win/wmi/types.py +0 -0
  70. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/checks/windows/__init__.py +0 -0
  71. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/checks/windows/perf_counters/__init__.py +0 -0
  72. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/checks/windows/perf_counters/base.py +0 -0
  73. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/checks/windows/perf_counters/connection.py +0 -0
  74. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/checks/windows/perf_counters/constants.py +0 -0
  75. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/checks/windows/perf_counters/counter.py +0 -0
  76. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/checks/windows/perf_counters/transform.py +0 -0
  77. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/checks/windows/perf_counters/transformers/__init__.py +0 -0
  78. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/checks/windows/perf_counters/transformers/count.py +0 -0
  79. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/checks/windows/perf_counters/transformers/gauge.py +0 -0
  80. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/checks/windows/perf_counters/transformers/monotonic_count.py +0 -0
  81. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/checks/windows/perf_counters/transformers/rate.py +0 -0
  82. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/checks/windows/perf_counters/transformers/service_check.py +0 -0
  83. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/checks/windows/perf_counters/transformers/temporal_percent.py +0 -0
  84. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/checks/windows/perf_counters/transformers/time_elapsed.py +0 -0
  85. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/checks/windows/perf_counters/utils.py +0 -0
  86. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/checks/windows/perf_counters/utils_win32pdh_fix.py +0 -0
  87. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/config.py +0 -0
  88. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/constants.py +0 -0
  89. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/ddyaml.py +0 -0
  90. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/errors.py +0 -0
  91. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/log.py +0 -0
  92. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/stubs/__init__.py +0 -0
  93. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/stubs/_util.py +0 -0
  94. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/stubs/aggregator.py +0 -0
  95. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/stubs/common.py +0 -0
  96. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/stubs/datadog_agent.py +0 -0
  97. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/stubs/log.py +0 -0
  98. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/stubs/similar.py +0 -0
  99. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/stubs/tagging.py +0 -0
  100. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/types.py +0 -0
  101. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/utils/__init__.py +0 -0
  102. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/utils/agent/__init__.py +0 -0
  103. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/utils/agent/common.py +0 -0
  104. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/utils/agent/debug.py +0 -0
  105. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/utils/agent/memory.py +0 -0
  106. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/utils/agent/utils.py +0 -0
  107. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/utils/aws.py +0 -0
  108. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/utils/common.py +0 -0
  109. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/utils/concurrency/__init__.py +0 -0
  110. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/utils/concurrency/limiter.py +0 -0
  111. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/utils/constants.py +0 -0
  112. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/utils/containers.py +0 -0
  113. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/utils/date.py +0 -0
  114. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/utils/db/__init__.py +0 -0
  115. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/utils/db/core.py +0 -0
  116. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/utils/db/query.py +0 -0
  117. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/utils/db/sql.py +0 -0
  118. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/utils/db/sql_commenter.py +0 -0
  119. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/utils/db/statement_metrics.py +0 -0
  120. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/utils/db/timed_cache.py +0 -0
  121. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/utils/db/transform.py +0 -0
  122. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/utils/db/types.py +0 -0
  123. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/utils/db/utils.py +0 -0
  124. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/utils/diagnose.py +0 -0
  125. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/utils/discovery/__init__.py +0 -0
  126. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/utils/discovery/cache.py +0 -0
  127. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/utils/discovery/discovery.py +0 -0
  128. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/utils/discovery/filter.py +0 -0
  129. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/utils/fips.py +0 -0
  130. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/utils/functions.py +0 -0
  131. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/utils/headers.py +0 -0
  132. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/utils/limiter.py +0 -0
  133. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/utils/metadata/__init__.py +0 -0
  134. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/utils/metadata/constants.py +0 -0
  135. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/utils/metadata/core.py +0 -0
  136. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/utils/metadata/utils.py +0 -0
  137. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/utils/metadata/version.py +0 -0
  138. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/utils/models/__init__.py +0 -0
  139. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/utils/models/types.py +0 -0
  140. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/utils/models/validation/__init__.py +0 -0
  141. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/utils/models/validation/core.py +0 -0
  142. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/utils/models/validation/utils.py +0 -0
  143. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/utils/network.py +0 -0
  144. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/utils/platform.py +0 -0
  145. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/utils/prometheus/__init__.py +0 -0
  146. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/utils/prometheus/functions.py +0 -0
  147. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/utils/prometheus/metrics_pb2.py +0 -0
  148. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/utils/replay/__init__.py +0 -0
  149. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/utils/replay/constants.py +0 -0
  150. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/utils/replay/execute.py +0 -0
  151. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/utils/replay/redirect.py +0 -0
  152. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/utils/secrets.py +0 -0
  153. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/utils/serialization.py +0 -0
  154. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/utils/subprocess_output.py +0 -0
  155. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/utils/tagging.py +0 -0
  156. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/utils/tailfile.py +0 -0
  157. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/utils/time.py +0 -0
  158. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/utils/timeout.py +0 -0
  159. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/utils/tls.py +0 -0
  160. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/utils/tracing.py +0 -0
  161. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/base/utils/tracking.py +0 -0
  162. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/checks/__init__.py +0 -0
  163. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/checks/base.py +0 -0
  164. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/checks/libs/__init__.py +0 -0
  165. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/checks/libs/thread_pool.py +0 -0
  166. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/checks/libs/timer.py +0 -0
  167. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/checks/libs/vmware/__init__.py +0 -0
  168. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/checks/libs/vmware/all_metrics.py +0 -0
  169. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/checks/libs/vmware/basic_metrics.py +0 -0
  170. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/checks/libs/wmi/__init__.py +0 -0
  171. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/checks/libs/wmi/sampler.py +0 -0
  172. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/checks/network.py +0 -0
  173. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/checks/network_checks.py +0 -0
  174. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/checks/openmetrics/__init__.py +0 -0
  175. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/checks/openmetrics/base_check.py +0 -0
  176. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/checks/openmetrics/mixins.py +0 -0
  177. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/checks/prometheus/__init__.py +0 -0
  178. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/checks/prometheus/base_check.py +0 -0
  179. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/checks/prometheus/mixins.py +0 -0
  180. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/checks/prometheus/prometheus_base.py +0 -0
  181. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/checks/prometheus_check/__init__.py +0 -0
  182. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/checks/win/__init__.py +0 -0
  183. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/checks/win/winpdh.py +0 -0
  184. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/checks/win/winpdh_base.py +0 -0
  185. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/checks/win/winpdh_stub.py +0 -0
  186. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/checks/win/wmi/__init__.py +0 -0
  187. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/checks/win/wmi/counter_type.py +0 -0
  188. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/checks/win/wmi/sampler.py +0 -0
  189. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/checks/winwmi_check.py +0 -0
  190. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/config.py +0 -0
  191. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/errors.py +0 -0
  192. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/log.py +0 -0
  193. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/py.typed +0 -0
  194. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/stubs/__init__.py +0 -0
  195. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/stubs/_util.py +0 -0
  196. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/stubs/aggregator.py +0 -0
  197. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/stubs/datadog_agent.py +0 -0
  198. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/utils/__init__.py +0 -0
  199. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/utils/common.py +0 -0
  200. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/utils/containers.py +0 -0
  201. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/utils/headers.py +0 -0
  202. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/utils/limiter.py +0 -0
  203. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/utils/platform.py +0 -0
  204. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/utils/prometheus/__init__.py +0 -0
  205. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/utils/prometheus/functions.py +0 -0
  206. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/utils/prometheus/metrics_pb2.py +0 -0
  207. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/utils/proxy.py +0 -0
  208. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/utils/subprocess_output.py +0 -0
  209. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/utils/tailfile.py +0 -0
  210. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/utils/timeout.py +0 -0
  211. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/datadog_checks/utils/tracing.py +0 -0
  212. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/hatch.toml +0 -0
  213. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/__init__.py +0 -0
  214. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/__init__.py +0 -0
  215. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/checks/__init__.py +0 -0
  216. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/checks/logs/__init__.py +0 -0
  217. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/checks/logs/crawler/__init__.py +0 -0
  218. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/checks/openmetrics/__init__.py +0 -0
  219. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/checks/openmetrics/bench_utils.py +0 -0
  220. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/checks/openmetrics/test_legacy/__init__.py +0 -0
  221. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/checks/openmetrics/test_legacy/test_bench.py +0 -0
  222. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/checks/openmetrics/test_legacy/test_compat_scraper.py +0 -0
  223. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/checks/openmetrics/test_legacy/test_openmetrics.py +0 -0
  224. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/checks/openmetrics/test_legacy/test_openmetrics_base_check.py +0 -0
  225. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/checks/openmetrics/test_legacy/utils.py +0 -0
  226. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/checks/openmetrics/test_v2/__init__.py +0 -0
  227. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/checks/openmetrics/test_v2/test_bench.py +0 -0
  228. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/checks/openmetrics/test_v2/test_config.py +0 -0
  229. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/checks/openmetrics/test_v2/test_first_scrape_handler.py +0 -0
  230. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/checks/openmetrics/test_v2/test_interface.py +0 -0
  231. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/checks/openmetrics/test_v2/test_transformers/__init__.py +0 -0
  232. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/checks/openmetrics/test_v2/test_transformers/test_counter.py +0 -0
  233. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/checks/openmetrics/test_v2/test_transformers/test_counter_gauge.py +0 -0
  234. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/checks/openmetrics/test_v2/test_transformers/test_gauge.py +0 -0
  235. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/checks/openmetrics/test_v2/test_transformers/test_histogram.py +0 -0
  236. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/checks/openmetrics/test_v2/test_transformers/test_metadata.py +0 -0
  237. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/checks/openmetrics/test_v2/test_transformers/test_native_dynamic.py +0 -0
  238. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/checks/openmetrics/test_v2/test_transformers/test_rate.py +0 -0
  239. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/checks/openmetrics/test_v2/test_transformers/test_service_check.py +0 -0
  240. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/checks/openmetrics/test_v2/test_transformers/test_summary.py +0 -0
  241. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/checks/openmetrics/test_v2/test_transformers/test_temporal_percent.py +0 -0
  242. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/checks/openmetrics/test_v2/test_transformers/test_time_elapsed.py +0 -0
  243. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/checks/openmetrics/test_v2/test_transformers/test_type_override.py +0 -0
  244. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/checks/openmetrics/test_v2/utils.py +0 -0
  245. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/checks/prometheus/__init__.py +0 -0
  246. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/checks/prometheus/test_prometheus.py +0 -0
  247. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/checks/prometheus/test_prometheus_base_check.py +0 -0
  248. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/checks/test_kube_leader.py +0 -0
  249. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/checks/test_kubelet_base.py +0 -0
  250. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/checks/utils.py +0 -0
  251. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/checks/win/__init__.py +0 -0
  252. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/checks/win/test_pdhbasecheck.py +0 -0
  253. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/checks/win/test_winpdh.py +0 -0
  254. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/checks/win/test_wmicheck.py +0 -0
  255. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/checks/win/test_wmisampler.py +0 -0
  256. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/checks/windows/__init__.py +0 -0
  257. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/checks/windows/perf_counters/__init__.py +0 -0
  258. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/checks/windows/perf_counters/test_aggregation.py +0 -0
  259. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/checks/windows/perf_counters/test_config.py +0 -0
  260. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/checks/windows/perf_counters/test_filter.py +0 -0
  261. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/checks/windows/perf_counters/test_health.py +0 -0
  262. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/checks/windows/perf_counters/test_integration.py +0 -0
  263. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/checks/windows/perf_counters/test_legacy_support.py +0 -0
  264. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/checks/windows/perf_counters/test_localization.py +0 -0
  265. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/checks/windows/perf_counters/test_refresh.py +0 -0
  266. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/checks/windows/perf_counters/test_subclass.py +0 -0
  267. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/checks/windows/perf_counters/transformers/__init__.py +0 -0
  268. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/checks/windows/perf_counters/transformers/test_count.py +0 -0
  269. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/checks/windows/perf_counters/transformers/test_gauge.py +0 -0
  270. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/checks/windows/perf_counters/transformers/test_monotonic_count.py +0 -0
  271. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/checks/windows/perf_counters/transformers/test_rate.py +0 -0
  272. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/checks/windows/perf_counters/transformers/test_service_check.py +0 -0
  273. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/checks/windows/perf_counters/transformers/test_temporal_percent.py +0 -0
  274. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/checks/windows/perf_counters/transformers/test_time_elapsed.py +0 -0
  275. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/checks/windows/perf_counters/utils.py +0 -0
  276. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/test_constants.py +0 -0
  277. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/test_ddyaml.py +0 -0
  278. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/utils/__init__.py +0 -0
  279. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/utils/concurrency/__init__.py +0 -0
  280. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/utils/concurrency/test_limiter.py +0 -0
  281. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/utils/db/__init__.py +0 -0
  282. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/utils/db/common.py +0 -0
  283. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/utils/db/test_custom_queries.py +0 -0
  284. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/utils/db/test_db_sql.py +0 -0
  285. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/utils/db/test_db_statements.py +0 -0
  286. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/utils/db/test_query_executor.py +0 -0
  287. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/utils/db/test_query_manager.py +0 -0
  288. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/utils/db/test_query_result.py +0 -0
  289. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/utils/db/test_sql_commenter.py +0 -0
  290. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/utils/db/test_timed_cache.py +0 -0
  291. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/utils/db/test_transformers.py +0 -0
  292. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/utils/db/test_util.py +0 -0
  293. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/utils/discovery/test_discovery.py +0 -0
  294. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/utils/http/__init__.py +0 -0
  295. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/utils/http/common.py +0 -0
  296. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/utils/http/test_api.py +0 -0
  297. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/utils/http/test_auth.py +0 -0
  298. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/utils/http/test_config.py +0 -0
  299. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/utils/http/test_headers.py +0 -0
  300. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/utils/http/test_kerberos_int.py +0 -0
  301. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/utils/http/test_kerberos_unit.py +0 -0
  302. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/utils/http/test_proxy.py +0 -0
  303. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/utils/http/test_socks5_proxy_integration.py +0 -0
  304. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/utils/http/test_tls_and_certs.py +0 -0
  305. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/utils/replay/__init__.py +0 -0
  306. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/utils/replay/test_check.py +0 -0
  307. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/utils/test_agent_packages.py +0 -0
  308. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/utils/test_agent_utils.py +0 -0
  309. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/utils/test_aws.py +0 -0
  310. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/utils/test_diagnose.py +0 -0
  311. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/utils/test_time.py +0 -0
  312. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/utils/test_tls.py +0 -0
  313. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/utils/test_tracing.py +0 -0
  314. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/utils/test_tracking.py +0 -0
  315. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/base/utils/test_utils.py +0 -0
  316. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/compose/kerberos/kerberos-agent/Dockerfile +0 -0
  317. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/compose/kerberos/kerberos-agent/configurekerberos.sh +0 -0
  318. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/compose/kerberos/kerberos-agent/configurenginx.sh +0 -0
  319. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/compose/kerberos/kerberos-agent/entrypoint.sh +0 -0
  320. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/compose/kerberos/kerberos-agent/nginx.yaml +0 -0
  321. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/compose/kerberos/kerberos-agent.yaml +0 -0
  322. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/compose/kerberos/kerberos-kdc/Dockerfile +0 -0
  323. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/compose/kerberos/kerberos-kdc/init.sh +0 -0
  324. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/compose/kerberos/kerberos-kdc/kdc.conf +0 -0
  325. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/compose/kerberos/kerberos-kdc/krb5.conf +0 -0
  326. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/compose/kerberos/kerberos-nginx/Dockerfile +0 -0
  327. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/compose/kerberos/kerberos-nginx/configurekerberos.sh +0 -0
  328. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/compose/kerberos/kerberos-nginx/configurenginx.sh +0 -0
  329. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/compose/kerberos/kerberos-nginx/entrypoint.sh +0 -0
  330. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/compose/kerberos/kerberos-nginx/nginx.conf +0 -0
  331. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/compose/kerberos/kerberos-nginx/setupkeytab.sh +0 -0
  332. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/compose/kerberos/kerberos.yaml +0 -0
  333. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/compose/socks5-proxy.yaml +0 -0
  334. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/compose/uds/uds-nginx/nginx.conf +0 -0
  335. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/compose/uds/uds-nginx/templates/default.conf.template +0 -0
  336. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/compose/uds/uds.yaml +0 -0
  337. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/conftest.py +0 -0
  338. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/fixtures/bearer_tokens/custom_token +0 -0
  339. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/fixtures/bearer_tokens/default_token +0 -0
  340. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/fixtures/dcos/private-key.pem +0 -0
  341. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/fixtures/dcos/public-key.pem +0 -0
  342. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/fixtures/ddyaml/valid_conf.yaml +0 -0
  343. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/fixtures/kerberos/krb5.conf +0 -0
  344. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/fixtures/kubelet_base/pod_list_raw.dat +0 -0
  345. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/fixtures/kubelet_base/pod_list_raw.json +0 -0
  346. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/fixtures/prometheus/amazon_msk_jmx_metrics.txt +0 -0
  347. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/fixtures/prometheus/deprecated.txt +0 -0
  348. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/fixtures/prometheus/ksm.txt +0 -0
  349. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/fixtures/prometheus/metrics.txt +0 -0
  350. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/fixtures/prometheus/protobuf.bin +0 -0
  351. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/models/__init__.py +0 -0
  352. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/models/config_models/__init__.py +0 -0
  353. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/models/config_models/defaults.py +0 -0
  354. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/models/config_models/deprecations.py +0 -0
  355. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/models/config_models/instance.py +0 -0
  356. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/models/config_models/shared.py +0 -0
  357. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/models/config_models/validators.py +0 -0
  358. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/models/data/spec.yaml +0 -0
  359. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/models/test_interface.py +0 -0
  360. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/models/test_types.py +0 -0
  361. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/stubs/test_aggregator_metric_has_tag.py +0 -0
  362. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/stubs/test_aggregator_no_duplicate.py +0 -0
  363. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/stubs/test_aggregator_service_checks.py +0 -0
  364. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/stubs/test_aggregator_similar.py +0 -0
  365. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/stubs/test_datadog_agent.py +0 -0
  366. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/test_config.py +0 -0
  367. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/test_log.py +0 -0
  368. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/test_metadata.py +0 -0
  369. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/test_serialization.py +0 -0
  370. {datadog_checks_base-37.4.0 → datadog_checks_base-37.6.0}/tests/test_zzz_run_last.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: datadog-checks-base
3
- Version: 37.4.0
3
+ Version: 37.6.0
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>
@@ -13,40 +13,39 @@ Classifier: License :: OSI Approved :: BSD License
13
13
  Classifier: Programming Language :: Python :: 3.12
14
14
  Classifier: Topic :: System :: Monitoring
15
15
  Provides-Extra: db
16
- Requires-Dist: mmh3==4.1.0; extra == 'db'
16
+ Requires-Dist: mmh3==5.1.0; extra == 'db'
17
17
  Provides-Extra: deps
18
18
  Requires-Dist: binary==1.0.1; extra == 'deps'
19
- Requires-Dist: cachetools==5.5.0; extra == 'deps'
19
+ Requires-Dist: cachetools==5.5.1; extra == 'deps'
20
20
  Requires-Dist: cryptography==43.0.1; extra == 'deps'
21
21
  Requires-Dist: ddtrace==2.10.6; extra == 'deps'
22
- Requires-Dist: importlib-metadata==2.1.3; (python_version < '3.8') and extra == 'deps'
23
- Requires-Dist: jellyfish==1.1.0; extra == 'deps'
24
- Requires-Dist: prometheus-client==0.20.0; extra == 'deps'
25
- Requires-Dist: protobuf==5.27.3; extra == 'deps'
26
- Requires-Dist: pydantic==2.8.2; extra == 'deps'
22
+ Requires-Dist: jellyfish==1.1.3; extra == 'deps'
23
+ Requires-Dist: prometheus-client==0.21.1; extra == 'deps'
24
+ Requires-Dist: protobuf==5.29.3; extra == 'deps'
25
+ Requires-Dist: pydantic==2.10.6; extra == 'deps'
27
26
  Requires-Dist: python-dateutil==2.9.0.post0; extra == 'deps'
28
- Requires-Dist: pywin32==306; (sys_platform == 'win32') and extra == 'deps'
27
+ Requires-Dist: pywin32==308; (sys_platform == 'win32') and extra == 'deps'
29
28
  Requires-Dist: pyyaml==6.0.2; extra == 'deps'
30
29
  Requires-Dist: requests-toolbelt==1.0.0; extra == 'deps'
31
30
  Requires-Dist: requests-unixsocket2==0.4.2; extra == 'deps'
32
31
  Requires-Dist: requests==2.32.3; extra == 'deps'
33
32
  Requires-Dist: simplejson==3.19.3; extra == 'deps'
34
33
  Requires-Dist: uptime==3.0.1; extra == 'deps'
35
- Requires-Dist: wrapt==1.16.0; extra == 'deps'
34
+ Requires-Dist: wrapt==1.17.2; extra == 'deps'
36
35
  Provides-Extra: http
37
36
  Requires-Dist: aws-requests-auth==0.4.3; extra == 'http'
38
- Requires-Dist: botocore==1.35.10; extra == 'http'
37
+ Requires-Dist: botocore==1.36.16; extra == 'http'
39
38
  Requires-Dist: oauthlib==3.2.2; extra == 'http'
40
- Requires-Dist: pyjwt==2.9.0; extra == 'http'
39
+ Requires-Dist: pyjwt==2.10.1; extra == 'http'
41
40
  Requires-Dist: pyopenssl==24.2.1; extra == 'http'
42
41
  Requires-Dist: pysocks==1.7.1; extra == 'http'
43
42
  Requires-Dist: requests-kerberos==0.15.0; extra == 'http'
44
43
  Requires-Dist: requests-ntlm==1.3.0; extra == 'http'
45
44
  Requires-Dist: requests-oauthlib==2.0.0; extra == 'http'
46
45
  Provides-Extra: json
47
- Requires-Dist: orjson==3.10.7; extra == 'json'
46
+ Requires-Dist: orjson==3.10.15; extra == 'json'
48
47
  Provides-Extra: kube
49
- Requires-Dist: kubernetes==30.1.0; extra == 'kube'
48
+ Requires-Dist: kubernetes==32.0.0; extra == 'kube'
50
49
  Requires-Dist: requests-oauthlib==2.0.0; extra == 'kube'
51
50
  Description-Content-Type: text/markdown
52
51
 
@@ -1,4 +1,4 @@
1
1
  # (C) Datadog, Inc. 2018-present
2
2
  # All rights reserved
3
3
  # Licensed under a 3-clause BSD style license (see LICENSE)
4
- __version__ = "37.4.0"
4
+ __version__ = "37.6.0"
@@ -164,6 +164,8 @@ class AgentCheck(object):
164
164
  # See https://github.com/DataDog/integrations-core/pull/2093 for more information.
165
165
  DEFAULT_METRIC_LIMIT = 0
166
166
 
167
+ HA_SUPPORTED = False
168
+
167
169
  # Allow tracing for classic integrations
168
170
  def __init_subclass__(cls, *args, **kwargs):
169
171
  try:
@@ -312,6 +314,14 @@ class AgentCheck(object):
312
314
  if os.environ.get("GOFIPS", "0") == "1":
313
315
  enable_fips()
314
316
 
317
+ ha_enabled_init = self.init_config.get('ha_enabled', False) if self.init_config else False
318
+ ha_enabled_instance = self.instance.get('ha_enabled', False) if self.instance else False
319
+
320
+ if not self.HA_SUPPORTED and (ha_enabled_init or ha_enabled_instance):
321
+ raise ConfigurationError(
322
+ f"High Availability is enabled for check {self.name} but this integration does not support it"
323
+ )
324
+
315
325
  def _create_metrics_pattern(self, metric_patterns, option_name):
316
326
  all_patterns = metric_patterns.get(option_name, [])
317
327
 
@@ -1,21 +1,27 @@
1
1
  # (C) Datadog, Inc. 2020-present
2
2
  # All rights reserved
3
3
  # Licensed under a 3-clause BSD style license (see LICENSE)
4
+ from collections import ChainMap
5
+
4
6
  from ....utils.functions import no_op
5
7
 
6
8
 
7
9
  class LabelAggregator:
8
10
  def __init__(self, check, config):
9
11
  share_labels = config.get('share_labels', {})
10
- if not isinstance(share_labels, dict):
11
- raise TypeError('Setting `share_labels` must be a mapping')
12
- elif not share_labels:
12
+ self.target_info = config.get('target_info', False)
13
+ self.target_info_labels = {}
14
+
15
+ self._validate_type(share_labels, dict, "Setting `share_labels` must be a mapping")
16
+ self._validate_type(self.target_info, bool, "Setting `target_info` must be a boolean")
17
+
18
+ if not share_labels and not self.target_info:
13
19
  self.populate = no_op
14
20
  return
15
21
 
16
22
  self.cache_shared_labels = config.get('cache_shared_labels', True)
17
23
  self.shared_labels_cached = False
18
-
24
+ self.info_metric = {'target_info': {}}
19
25
  self.metric_config = {}
20
26
  for metric, config in share_labels.items():
21
27
  data = self.metric_config[metric] = {}
@@ -31,6 +37,7 @@ class LabelAggregator:
31
37
  raise TypeError(f'Option `values` for metric `{metric}` of setting `share_labels` must be an array')
32
38
 
33
39
  allowed_values = set()
40
+
34
41
  for i, value in enumerate(values, 1):
35
42
  value = str(value)
36
43
 
@@ -72,34 +79,32 @@ class LabelAggregator:
72
79
 
73
80
  self.unconditional_labels = {}
74
81
 
82
+ def _validate_type(self, value, expected_type, error_message):
83
+ if not isinstance(value, expected_type):
84
+ raise TypeError(error_message)
85
+
75
86
  def __call__(self, metrics):
76
87
  if self.cache_shared_labels:
77
88
  if self.shared_labels_cached:
78
89
  yield from metrics
79
90
  else:
80
- metric_config = self.metric_config.copy()
91
+ metric_config, target_info_metric = self.copy_configs()
81
92
 
82
93
  for metric in metrics:
83
- if metric_config and metric.name in metric_config:
84
- self.collect(metric, metric_config.pop(metric.name))
85
-
94
+ self.process_metric(metric, metric_config, target_info_metric)
86
95
  yield metric
87
96
 
88
97
  self.shared_labels_cached = True
89
98
  else:
90
99
  try:
91
- metric_config = self.metric_config.copy()
92
-
93
- # Cache every encountered metric until the desired labels have been collected
100
+ metric_config, target_info_metric = self.copy_configs()
94
101
  cached_metrics = []
95
102
 
96
103
  for metric in metrics:
97
- if metric.name in metric_config:
98
- self.collect(metric, metric_config.pop(metric.name))
99
-
104
+ self.process_metric(metric, metric_config, target_info_metric)
100
105
  cached_metrics.append(metric)
101
106
 
102
- if not metric_config:
107
+ if not (metric_config or target_info_metric):
103
108
  break
104
109
 
105
110
  yield from cached_metrics
@@ -108,6 +113,24 @@ class LabelAggregator:
108
113
  self.label_sets.clear()
109
114
  self.unconditional_labels.clear()
110
115
 
116
+ def copy_configs(self):
117
+ return self.metric_config.copy(), self.info_metric.copy()
118
+
119
+ def process_metric(self, metric, *configs):
120
+ """
121
+ Collects labels from shared_labels + target_info metrics
122
+ """
123
+ for config in configs:
124
+ if config and metric.name in config:
125
+ self.collect(metric, config.pop(metric.name))
126
+
127
+ def process_target_info(self, metric):
128
+ """
129
+ Updates cached target info metrics
130
+ """
131
+ if metric.samples[0].labels != self.target_info_labels:
132
+ self.target_info_labels = metric.samples[0].labels
133
+
111
134
  def collect(self, metric, config):
112
135
  allowed_values = config.get('values')
113
136
 
@@ -147,13 +170,28 @@ class LabelAggregator:
147
170
  if label in labels:
148
171
  self.unconditional_labels[label] = value
149
172
  else:
150
- for sample in self.allowed_samples(metric, allowed_values):
151
- for label, value in sample.labels.items():
152
- self.unconditional_labels[label] = value
173
+ # Store target_info metric labels to be applied to other metrics in payload
174
+ if metric.name == 'target_info':
175
+ self.target_info_labels.update(
176
+ {
177
+ label: value
178
+ for sample in self.allowed_samples(metric, allowed_values)
179
+ for label, value in sample.labels.items()
180
+ }
181
+ )
182
+ else:
183
+ # Store shared labels in a seperate attribute
184
+ self.unconditional_labels.update(
185
+ {
186
+ label: value
187
+ for sample in self.allowed_samples(metric, allowed_values)
188
+ for label, value in sample.labels.items()
189
+ }
190
+ )
153
191
 
154
192
  def populate(self, labels):
155
193
  label_set = frozenset(labels.items())
156
- labels.update(self.unconditional_labels)
194
+ labels.update(ChainMap(self.unconditional_labels, self.target_info_labels))
157
195
 
158
196
  for matching_label_set, shared_labels in self.label_sets:
159
197
  # Check for subset without incurring the cost of a `.issubset` lookup and call
@@ -58,6 +58,7 @@ class OpenMetricsScraper:
58
58
 
59
59
  # Parse the configuration
60
60
  self.endpoint = config['openmetrics_endpoint']
61
+ self.target_info = config.get('target_info', False)
61
62
 
62
63
  self.metric_transformer = MetricTransformer(self.check, config)
63
64
  self.label_aggregator = LabelAggregator(self.check, config)
@@ -238,7 +239,13 @@ class OpenMetricsScraper:
238
239
  """
239
240
  runtime_data = {'flush_first_value': self.flush_first_value, 'static_tags': self.static_tags}
240
241
 
241
- for metric in self.consume_metrics(runtime_data):
242
+ # Determine which consume method to use based on target_info config
243
+ if self.target_info:
244
+ consume_method = self.consume_metrics_w_target_info
245
+ else:
246
+ consume_method = self.consume_metrics
247
+
248
+ for metric in consume_method(runtime_data):
242
249
  transformer = self.metric_transformer.get(metric)
243
250
  if transformer is None:
244
251
  continue
@@ -248,23 +255,52 @@ class OpenMetricsScraper:
248
255
  self.flush_first_value = True
249
256
 
250
257
  def consume_metrics(self, runtime_data):
258
+ """
259
+ Yield the processed metrics and filter out excluded metrics, without checking for target_info metrics.
260
+ """
261
+
262
+ metric_parser = self.parse_metrics()
263
+
264
+ if not self.flush_first_value and self.use_process_start_time:
265
+ metric_parser = first_scrape_handler(metric_parser, runtime_data, datadog_agent.get_process_start_time())
266
+ if self.label_aggregator.configured:
267
+ metric_parser = self.label_aggregator(metric_parser)
268
+
269
+ for metric in metric_parser:
270
+ # Skip excluded metrics
271
+ if metric.name in self.exclude_metrics or (
272
+ self.exclude_metrics_pattern is not None and self.exclude_metrics_pattern.search(metric.name)
273
+ ):
274
+ self.submit_telemetry_number_of_ignored_metric_samples(metric)
275
+ continue
276
+
277
+ yield metric
278
+
279
+ def consume_metrics_w_target_info(self, runtime_data):
251
280
  """
252
281
  Yield the processed metrics and filter out excluded metrics.
282
+ Additionally, handle target_info metrics.
253
283
  """
254
284
 
255
285
  metric_parser = self.parse_metrics()
286
+
256
287
  if not self.flush_first_value and self.use_process_start_time:
257
288
  metric_parser = first_scrape_handler(metric_parser, runtime_data, datadog_agent.get_process_start_time())
258
289
  if self.label_aggregator.configured:
259
290
  metric_parser = self.label_aggregator(metric_parser)
260
291
 
261
292
  for metric in metric_parser:
293
+ # Skip excluded metrics
262
294
  if metric.name in self.exclude_metrics or (
263
295
  self.exclude_metrics_pattern is not None and self.exclude_metrics_pattern.search(metric.name)
264
296
  ):
265
297
  self.submit_telemetry_number_of_ignored_metric_samples(metric)
266
298
  continue
267
299
 
300
+ # Process target_info metrics
301
+ if metric.name == 'target_info':
302
+ self.label_aggregator.process_target_info(metric)
303
+
268
304
  yield metric
269
305
 
270
306
  def parse_metrics(self):
@@ -312,7 +348,6 @@ class OpenMetricsScraper:
312
348
  """
313
349
  Yield a sample of processed data.
314
350
  """
315
-
316
351
  label_normalizer = get_label_normalizer(metric.type)
317
352
 
318
353
  for sample in metric.samples:
@@ -1,12 +1,7 @@
1
1
  # (C) Datadog, Inc. 2019-present
2
2
  # All rights reserved
3
3
  # Licensed under a 3-clause BSD style license (see LICENSE)
4
- import sys
5
-
6
- if sys.version_info >= (3, 8):
7
- from importlib.metadata import distributions
8
- else:
9
- from importlib_metadata import distributions
4
+ from importlib.metadata import distributions
10
5
 
11
6
  DATADOG_CHECK_PREFIX = 'datadog-'
12
7
 
@@ -52,6 +52,8 @@ LOGGER = logging.getLogger(__file__)
52
52
  # https://tools.ietf.org/html/rfc2988
53
53
  DEFAULT_TIMEOUT = 10
54
54
 
55
+ DEFAULT_EXPIRATION = 300
56
+
55
57
  # 16 KiB seems optimal, and is also the standard chunk size of the Bittorrent protocol:
56
58
  # https://www.bittorrent.org/beps/bep_0003.html
57
59
  DEFAULT_CHUNK_SIZE = 16
@@ -92,6 +94,7 @@ STANDARD_FIELDS = {
92
94
  'tls_private_key': None,
93
95
  'tls_protocols_allowed': DEFAULT_PROTOCOL_VERSIONS,
94
96
  'tls_verify': True,
97
+ 'tls_ciphers': 'ALL',
95
98
  'timeout': DEFAULT_TIMEOUT,
96
99
  'use_legacy_auth_encoding': True,
97
100
  'username': None,
@@ -153,6 +156,7 @@ class RequestsWrapper(object):
153
156
  'auth_token_handler',
154
157
  'request_size',
155
158
  'tls_protocols_allowed',
159
+ 'tls_ciphers_allowed',
156
160
  )
157
161
 
158
162
  def __init__(self, instance, init_config, remapper=None, logger=None, session=None):
@@ -347,6 +351,14 @@ class RequestsWrapper(object):
347
351
  if config['kerberos_cache']:
348
352
  self.request_hooks.append(lambda: handle_kerberos_cache(config['kerberos_cache']))
349
353
 
354
+ ciphers = config.get('tls_ciphers')
355
+ if ciphers:
356
+ if 'ALL' in ciphers:
357
+ updated_ciphers = "ALL"
358
+ else:
359
+ updated_ciphers = ":".join(ciphers)
360
+ self.tls_ciphers_allowed = updated_ciphers
361
+
350
362
  def get(self, url, **options):
351
363
  return self._request('get', url, options)
352
364
 
@@ -465,6 +477,7 @@ class RequestsWrapper(object):
465
477
  try:
466
478
  context = ssl.SSLContext(protocol=ssl.PROTOCOL_TLS)
467
479
  context.verify_mode = ssl.CERT_NONE
480
+ context.set_ciphers(self.tls_ciphers_allowed)
468
481
 
469
482
  with context.wrap_socket(sock, server_hostname=hostname) as secure_sock:
470
483
  der_cert = secure_sock.getpeercert(binary_form=True)
@@ -856,8 +869,16 @@ class AuthTokenOAuthReader(object):
856
869
 
857
870
  # https://www.rfc-editor.org/rfc/rfc6749#section-4.4.3
858
871
  self._token = response['access_token']
859
- self._expiration = get_timestamp() + response['expires_in']
860
-
872
+ self._expiration = get_timestamp()
873
+ try:
874
+ # According to https://www.rfc-editor.org/rfc/rfc6749#section-5.1, the `expires_in` field is optional
875
+ self._expiration += _parse_expires_in(response.get('expires_in'))
876
+ except TypeError:
877
+ LOGGER.debug(
878
+ 'The `expires_in` field of the OAuth2 response is not a number, defaulting to %s',
879
+ DEFAULT_EXPIRATION,
880
+ )
881
+ self._expiration += DEFAULT_EXPIRATION
861
882
  return self._token
862
883
 
863
884
 
@@ -991,6 +1012,21 @@ def quote_uds_url(url):
991
1012
  return urlunparse(parsed)
992
1013
 
993
1014
 
1015
+ def _parse_expires_in(token_expiration):
1016
+ if isinstance(token_expiration, int) or isinstance(token_expiration, float):
1017
+ return token_expiration
1018
+ if isinstance(token_expiration, str):
1019
+ try:
1020
+ token_expiration = int(token_expiration)
1021
+ except ValueError:
1022
+ LOGGER.debug('Could not convert %s to an integer', token_expiration)
1023
+ else:
1024
+ LOGGER.debug('Unexpected type for `expires_in`: %s.', type(token_expiration))
1025
+ token_expiration = None
1026
+
1027
+ return token_expiration
1028
+
1029
+
994
1030
  # For documentation generation
995
1031
  # TODO: use an enum and remove STANDARD_FIELDS when mkdocstrings supports it
996
1032
  class StandardFields(object):
@@ -31,33 +31,32 @@ license = "BSD-3-Clause"
31
31
 
32
32
  [project.optional-dependencies]
33
33
  db = [
34
- "mmh3==4.1.0",
34
+ "mmh3==5.1.0",
35
35
  ]
36
36
  deps = [
37
37
  "binary==1.0.1",
38
- "cachetools==5.5.0",
38
+ "cachetools==5.5.1",
39
39
  "cryptography==43.0.1",
40
40
  "ddtrace==2.10.6",
41
- "importlib-metadata==2.1.3; python_version < '3.8'",
42
- "jellyfish==1.1.0",
43
- "prometheus-client==0.20.0",
44
- "protobuf==5.27.3",
45
- "pydantic==2.8.2",
41
+ "jellyfish==1.1.3",
42
+ "prometheus-client==0.21.1",
43
+ "protobuf==5.29.3",
44
+ "pydantic==2.10.6",
46
45
  "python-dateutil==2.9.0.post0",
47
- "pywin32==306; sys_platform == 'win32'",
46
+ "pywin32==308; sys_platform == 'win32'",
48
47
  "pyyaml==6.0.2",
49
48
  "requests-toolbelt==1.0.0",
50
49
  "requests-unixsocket2==0.4.2",
51
50
  "requests==2.32.3",
52
51
  "simplejson==3.19.3",
53
52
  "uptime==3.0.1",
54
- "wrapt==1.16.0",
53
+ "wrapt==1.17.2",
55
54
  ]
56
55
  http = [
57
56
  "aws-requests-auth==0.4.3",
58
- "botocore==1.35.10",
57
+ "botocore==1.36.16",
59
58
  "oauthlib==3.2.2",
60
- "pyjwt==2.9.0",
59
+ "pyjwt==2.10.1",
61
60
  "pyopenssl==24.2.1",
62
61
  "pysocks==1.7.1",
63
62
  "requests-kerberos==0.15.0",
@@ -65,10 +64,10 @@ http = [
65
64
  "requests-oauthlib==2.0.0",
66
65
  ]
67
66
  json = [
68
- "orjson==3.10.7",
67
+ "orjson==3.10.15",
69
68
  ]
70
69
  kube = [
71
- "kubernetes==30.1.0",
70
+ "kubernetes==32.0.0",
72
71
  "requests-oauthlib==2.0.0",
73
72
  ]
74
73
 
@@ -6,7 +6,6 @@ from datadog_checks.base.checks.logs.crawler.stream import LogRecord, LogStream
6
6
 
7
7
 
8
8
  def test_submission(dd_run_check, datadog_agent):
9
-
10
9
  class TestLogStream(LogStream):
11
10
  def __init__(self, start, **kwargs):
12
11
  super().__init__(**kwargs)