diff --git a/.in-toto/tag.47c5a022.link b/.in-toto/tag.47c5a022.link index 52c41a04d01d0..822817a7ae38c 100644 --- a/.in-toto/tag.47c5a022.link +++ b/.in-toto/tag.47c5a022.link @@ -1 +1 @@ -{"signatures":[{"keyid":"47c5a02273f1cf8104ee8d1a7a67dc43b24c1542","other_headers":"04000108001d16210447c5a02273f1cf8104ee8d1a7a67dc43b24c1542050269cd3328","signature":"84db57a937d373db21b2176ac3246f322ef3be1c1baa62134a69fcede9d7904f894d258310068d07b33305042565ac0bacaa2cdb5f88eef7f0cbb71511d3f9705113ab5803aaa10d6d3713c63e5d51e4e979abbde9003beb50149669e2a714c58ced32fcb989cbcacd3f1a6371797b5f05f7f7da89cce024978d668f2ecbdd977048e176f675ee8fe9ac4ec0bd528023fd375e0b539f1208913cf6cae39ce0b9f780fb731d03bd043d50b57c3523467c4a5bd96093fd41d2906d08650e40e1e38ab15c465f6941e0beb9d8f7ce882cbf690f42bf12fd7aa1ecf98a5f7d887aed5eefc32d529e09349ae9406927e97a0a9f1171626eb4c50225c001750bd36a1fbc6d2da84fd2c5a952b51c7d8afabb2b69f0968cb9e802d1e6eb9038daa762948225cacbf01a7f5752f3a04ea4109b54fb79c2f0d19df861fa4af3a0d0a5a6c03e097d320c105ce625ee9e3edbf96625aae8514e11fa82644467c7e28108aa5a37c3deeadead9fb5f799ee28a78b5f90f76e832bec75bcc4375655d073c6aee0e27ed3ddbb683f6ebc31dc549211170f5008376f001ab421f92755112eb57a5e095cf9424eee04f06749812fb986c03484c4133eb2c2d51896b21bc982acbdf6a964220612b8be1e15117b90356339ac321fd01d3f97e6f034ada69a44230c1f26f1d413125414676f9f228d11607d5a8af2379cdf096eabb10e8e60a9b69912"}],"signed":{"_type":"link","byproducts":{},"command":[],"environment":{},"materials":{},"name":"tag","products":{"datadog_checks_base/datadog_checks/__init__.py":{"sha256":"9a3c64b8b00c94da4b4f34618d803d3255808caf21b8afa9195c84b61da66b6a"},"datadog_checks_base/datadog_checks/base/__about__.py":{"sha256":"42de0d0ef653606d5709ea87c03f618d8f85bf0406982005d1c24128c0263b0f"},"datadog_checks_base/datadog_checks/base/__init__.py":{"sha256":"c967a048b13e4d9588192bc08898fd3d2ad4c7394ea3f51524bb76cce459f049"},"datadog_checks_base/datadog_checks/base/__init__.pyi":{"sha256":"6b863524870f27ca73f6d464040be359db6f490c19c5b31906e4662224acff81"},"datadog_checks_base/datadog_checks/base/agent.py":{"sha256":"9d7f71fc16188b344a18d61f5eae73ed2d0567dc5c5ffc1ddadbb1a467b7ffc9"},"datadog_checks_base/datadog_checks/base/checks/__init__.py":{"sha256":"abb57abfe1704169100b5416695cca68f8d931ac4f24725c2ddef50b4b8cedb0"},"datadog_checks_base/datadog_checks/base/checks/__init__.pyi":{"sha256":"c9d7ad97a904142482869a58421b3c9af20fe65eaf9d90f901b2c004685b15c3"},"datadog_checks_base/datadog_checks/base/checks/_config_ast.py":{"sha256":"bf5ac087039117cd1bde47d92a17facd767b4b90f703640f50ae2d4a8f1ea3e6"},"datadog_checks_base/datadog_checks/base/checks/base.py":{"sha256":"56d183f88a883532400dc8c3ef7ad30bbb10f1d306adf57ab1564569cc1069ad"},"datadog_checks_base/datadog_checks/base/checks/db.py":{"sha256":"f41784c2e0c9e530d796aeb2257615b3d4ff5256c26b76d6ad23aae59b210ca7"},"datadog_checks_base/datadog_checks/base/checks/kube_leader/__init__.py":{"sha256":"abb57abfe1704169100b5416695cca68f8d931ac4f24725c2ddef50b4b8cedb0"},"datadog_checks_base/datadog_checks/base/checks/kube_leader/__init__.pyi":{"sha256":"5060f2c28470982233dd98a2d6e1eca7b8e2146591767e5f14c659c60186950b"},"datadog_checks_base/datadog_checks/base/checks/kube_leader/base_check.py":{"sha256":"c7cc1a3febf3b49ccaf5ee8a40b1922c57eb59dcf029cb161b308bd5bb3a5917"},"datadog_checks_base/datadog_checks/base/checks/kube_leader/mixins.py":{"sha256":"bc95058738b055dbd572dd16bc228593aa0cdc76239d336dc31092205bcec87f"},"datadog_checks_base/datadog_checks/base/checks/kube_leader/record.py":{"sha256":"6aa334545b055aeda90343b976cfbabf959038cee58103321b0a26e90eaa09a5"},"datadog_checks_base/datadog_checks/base/checks/kubelet_base/__init__.py":{"sha256":"d70624d464bcea37efdfefd4cb8cdb26fb8e0183eecbdcb8f450f4288455950c"},"datadog_checks_base/datadog_checks/base/checks/kubelet_base/__init__.pyi":{"sha256":"0bec4967ccee71b1bbc80c2db3b27e4819de7ac1be4cf80bd5b06b166e0bf2f7"},"datadog_checks_base/datadog_checks/base/checks/kubelet_base/base.py":{"sha256":"e48a29c2d9a9d08408864075565dcc83957937db2c794627f4344623365aa87d"},"datadog_checks_base/datadog_checks/base/checks/libs/__init__.py":{"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"datadog_checks_base/datadog_checks/base/checks/libs/prometheus.py":{"sha256":"08f897cd26aa17193cd7c36d4c02d1251199ea7a789eeb0a42c7d4bb7212b7dd"},"datadog_checks_base/datadog_checks/base/checks/libs/thread_pool.py":{"sha256":"981219dc63fe452f96075e0fc914bee141179735463179e4bfc93e2c20b8bab7"},"datadog_checks_base/datadog_checks/base/checks/libs/timer.py":{"sha256":"8ac17c602136ed7a5e7a1bb39389782190afc505574dd6cd8a46c1db146780c4"},"datadog_checks_base/datadog_checks/base/checks/libs/vmware/__init__.py":{"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"datadog_checks_base/datadog_checks/base/checks/libs/vmware/all_metrics.py":{"sha256":"4f89b8c40a8abc0f57b6abbea2227be3cd8a0a000e34a134b48800fc4a0842c6"},"datadog_checks_base/datadog_checks/base/checks/libs/vmware/basic_metrics.py":{"sha256":"37d804c9398bb121d2f89162729347394ab2b3b627ad1affb8f608eb34ab35bb"},"datadog_checks_base/datadog_checks/base/checks/logs/__init__.py":{"sha256":"ee840b22269e35c03869d3b7223c20ab5c65895ae23153a8d273c0f866d5b99d"},"datadog_checks_base/datadog_checks/base/checks/logs/crawler/__init__.py":{"sha256":"ee840b22269e35c03869d3b7223c20ab5c65895ae23153a8d273c0f866d5b99d"},"datadog_checks_base/datadog_checks/base/checks/logs/crawler/base.py":{"sha256":"90ae36a4dc349b0d0fc1ac102f3c21b1d0100b55688ce5e0149e3844da37ac8c"},"datadog_checks_base/datadog_checks/base/checks/logs/crawler/stream.py":{"sha256":"300a7c23ecc48f972f4e9ee9349345977d800ddcea359c4682425fc9dadf847e"},"datadog_checks_base/datadog_checks/base/checks/network.py":{"sha256":"52482a9151daa17ec7aa2d16284c7e4ef685885ebedfb57217d0379b66926893"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/__init__.py":{"sha256":"abb57abfe1704169100b5416695cca68f8d931ac4f24725c2ddef50b4b8cedb0"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/__init__.pyi":{"sha256":"02a7053f92c628a67b7d6aa0019007d1f3e9e242c993d36ff4a938e1a736341b"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/base_check.py":{"sha256":"3aa169bf618c48249bd9bd398c66033f52fc9dfcd0e6899d5cbe052fe901ff29"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/mixins.py":{"sha256":"7f08b2b8eea4572ebd387f72b3d71279cf1a44450e1a00758dc056db6cabdf96"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/v2/__init__.py":{"sha256":"3fcd4506124b03d306a73e0bee8ffb0bea6f13077803ff235855906758e0d048"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/v2/base.py":{"sha256":"e0f2c6b0a4daaa683edd58756718e0b164aa5741b9e4edb597d9c0062d3b8b53"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/v2/first_scrape_handler.py":{"sha256":"227fad65733389e49d2f6397265200162efc29b415c2e26718fd2268b1fdf7be"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/v2/labels.py":{"sha256":"43a6d0f977dc2b80c415cca7bc27b4125ebc1fd7768304e2008821e10647271c"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/v2/metrics.py":{"sha256":"b835593871d158c5bc614419058f6308bcde70de43b9e44d8c89b1066d4af369"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/v2/scraper/__init__.py":{"sha256":"0a63dd8ad50422e51ada17ec6a0d1bf40a17ff0fce4791b061a035931578ddeb"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/v2/scraper/base_scraper.py":{"sha256":"9ff47fd8411ab728c4145eb5088f73feae2100810a1b38b57344df7644dfeaff"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/v2/scraper/decorators.py":{"sha256":"48e07ee163474457e9a595d76eb4e6fd44be20a0c5f09edef1dd143fadd70067"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/v2/transform.py":{"sha256":"a76ecd16a1e54d63022323f7d99aabd517997534e04e7c1e0f805047c6d3e245"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/v2/transformers/__init__.py":{"sha256":"6ea1f103b4b1bf22734b22dd35f21238fb492b2175df66c793376b31a29b8e80"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/v2/transformers/__init__.pyi":{"sha256":"a3291b1a669b53f2e4a7fb0a0e04ada9079294a69ca061611e3aa82cecbff9a0"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/v2/transformers/counter.py":{"sha256":"9a6362e041ad2cd605c566b4c88ff7f0d63d681222e35e0cf6945268635b71a2"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/v2/transformers/counter_gauge.py":{"sha256":"a1bd42bc2747afe56b73905295a4f73972f917633a07b3866a15007a4545dc5c"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/v2/transformers/gauge.py":{"sha256":"ff6a19d789bfe7f6fb94e47eb4cc49461b1e17aafa7fd0ec3bee0b6c023288f1"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/v2/transformers/histogram.py":{"sha256":"c1919379903fdc4f3ee45f5a16ab3c40230958df7de19fb324cbe44d67a7744f"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/v2/transformers/metadata.py":{"sha256":"069b093750fd272f78bb12deee4a472f5e042dd961530c939a5e51f3d3003aea"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/v2/transformers/rate.py":{"sha256":"7beb75edc142b002a77d7810add521f79c3496c972de2b80d36322cc63ffa1c3"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/v2/transformers/service_check.py":{"sha256":"5ba8d9034fe20f75ed7475813967677bd87ab646832932b2e4f0a290b06c4288"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/v2/transformers/summary.py":{"sha256":"d01d5693b79ae07da77ddb0e5fca10122a2804636aca914372304f2a31d5b52e"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/v2/transformers/temporal_percent.py":{"sha256":"1425d5f6ed5d726168e733be650057049f138141c715b87835e034f21ff6d546"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/v2/transformers/time_elapsed.py":{"sha256":"b6a786ad1734ee7d80cf8393981d65ecd2d46415d8d6c04fe5077c7a97d19cda"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/v2/utils.py":{"sha256":"b6993786d240cff2b0091a85b360938da8c790b0acff64db19d069e75e2b58e4"},"datadog_checks_base/datadog_checks/base/checks/prometheus/__init__.py":{"sha256":"abb57abfe1704169100b5416695cca68f8d931ac4f24725c2ddef50b4b8cedb0"},"datadog_checks_base/datadog_checks/base/checks/prometheus/__init__.pyi":{"sha256":"80b7bd92dbd31e79364c9b5920543999175093776ce7ece11f5ee1f062905688"},"datadog_checks_base/datadog_checks/base/checks/prometheus/base_check.py":{"sha256":"d8edeb15002579b295bd35df47ec0b9ad7b6c0ff588296048538612345323e8e"},"datadog_checks_base/datadog_checks/base/checks/prometheus/mixins.py":{"sha256":"f05c27d7d8a435a40859bdc5cb63e023ad7293b9e3b055d5d584fb1d66b3add7"},"datadog_checks_base/datadog_checks/base/checks/prometheus/prometheus_base.py":{"sha256":"26aaf5f0513547e2d420f96e8d8697016dd6fa8029fbf73d8d1f9b42f9a78271"},"datadog_checks_base/datadog_checks/base/checks/win/__init__.py":{"sha256":"abb57abfe1704169100b5416695cca68f8d931ac4f24725c2ddef50b4b8cedb0"},"datadog_checks_base/datadog_checks/base/checks/win/__init__.pyi":{"sha256":"f5cede8b0b33b3ef42bf44bfbfaafbe631ffd8f50b8c64d5a58b79f246f79749"},"datadog_checks_base/datadog_checks/base/checks/win/winpdh.py":{"sha256":"8a1178041d7fdc4a16bc54c2019e1331048e2da5a5bf59d633c000aa5b6105ae"},"datadog_checks_base/datadog_checks/base/checks/win/winpdh_base.py":{"sha256":"cf7a4f1c6d07e62c708de1a2d3c70b7b4d156d9dd731d9ed74986083adb74fb2"},"datadog_checks_base/datadog_checks/base/checks/win/winpdh_stub.py":{"sha256":"3397f2064cc0b842afa19ac6f64b506a9c241ffecaf8a388605e55a52f372cc9"},"datadog_checks_base/datadog_checks/base/checks/win/wmi/__init__.py":{"sha256":"abb57abfe1704169100b5416695cca68f8d931ac4f24725c2ddef50b4b8cedb0"},"datadog_checks_base/datadog_checks/base/checks/win/wmi/__init__.pyi":{"sha256":"da5816fdc0d7dfa9868308c14388dc514903e2920def741f5ef94f3bba0af97f"},"datadog_checks_base/datadog_checks/base/checks/win/wmi/base.py":{"sha256":"c5b63c4b89afaae2399bba356fa6da79aba3e8fc44afd7822a5ba03bfc6c8b52"},"datadog_checks_base/datadog_checks/base/checks/win/wmi/counter_type.py":{"sha256":"efbef65c6b56c8f2577b0caf698ca8c15983cbd0f1678da48bd583e5769bb951"},"datadog_checks_base/datadog_checks/base/checks/win/wmi/sampler.py":{"sha256":"34996400b17ccb59210164687296c7d8ba70c6d41bd85f1fcc18426afbd15f8c"},"datadog_checks_base/datadog_checks/base/checks/win/wmi/types.py":{"sha256":"e04f1ed72a69d8ff9e3b180bb11adfb656aeaaf6a9582b956803e872a0abc158"},"datadog_checks_base/datadog_checks/base/checks/windows/__init__.py":{"sha256":"b2e1a32eb8591a9d541a935aa5c56f20fa7ebbc3de68cf24df3a650198f2712a"},"datadog_checks_base/datadog_checks/base/checks/windows/perf_counters/__init__.py":{"sha256":"c4ced6dabda1b7e2b1fe3d22f03bae7bf94433606ffdbab7be0d04b34009e4a1"},"datadog_checks_base/datadog_checks/base/checks/windows/perf_counters/base.py":{"sha256":"7176d05706f8f7a07e92e1da00cddf1375f7dcb3146caa180b8152489289adb7"},"datadog_checks_base/datadog_checks/base/checks/windows/perf_counters/connection.py":{"sha256":"986ed37527d26645c547a794e18fb8f4ae042c98aa7abe82c3863a17178a1106"},"datadog_checks_base/datadog_checks/base/checks/windows/perf_counters/constants.py":{"sha256":"fdaa806dab5cbbd790bfd36a6d509a43d7394be1e4922504455e68a82dc39799"},"datadog_checks_base/datadog_checks/base/checks/windows/perf_counters/counter.py":{"sha256":"51367e0b56b5142ab8ee98156216c5da748155432c9d98d247399e4bc5a1df62"},"datadog_checks_base/datadog_checks/base/checks/windows/perf_counters/transform.py":{"sha256":"6d93f17ed0f0d1dd55157e3dca21486be9da18e62529c320a6fb9e491920133f"},"datadog_checks_base/datadog_checks/base/checks/windows/perf_counters/transformers/__init__.py":{"sha256":"a8b142ebeee6817e16846d57125966018eac45ef4a9870efba31fbc9c2555e92"},"datadog_checks_base/datadog_checks/base/checks/windows/perf_counters/transformers/count.py":{"sha256":"8263467bddb648fe101243270ff9dcf30edba0a616fa65b69f9fbabe975c9a37"},"datadog_checks_base/datadog_checks/base/checks/windows/perf_counters/transformers/gauge.py":{"sha256":"73be1f652e85addc433ba64aa2fa75ee1daf85322691a351d8e2deb35af4d681"},"datadog_checks_base/datadog_checks/base/checks/windows/perf_counters/transformers/monotonic_count.py":{"sha256":"479c167c31bd2e471baab21d49ce9dce3470b40729dabe153ee5456aa3a5ce2d"},"datadog_checks_base/datadog_checks/base/checks/windows/perf_counters/transformers/rate.py":{"sha256":"3e4c739755cf6cfb68fb942b882a23361e5684c4e3c03710c2a63f8b6310052f"},"datadog_checks_base/datadog_checks/base/checks/windows/perf_counters/transformers/service_check.py":{"sha256":"c9d78281e503314ede295fc1c1908d89cb022ce7e8b0d7566a6a0713cc64a707"},"datadog_checks_base/datadog_checks/base/checks/windows/perf_counters/transformers/temporal_percent.py":{"sha256":"0d7bb591864394237bcc0da58cfcc6e8fc54ac532d6d34c07a084f0a390316f4"},"datadog_checks_base/datadog_checks/base/checks/windows/perf_counters/transformers/time_elapsed.py":{"sha256":"6ed4f3d91fd7a79b1345689f0e8f1b6780906c8c093cc6bacd1f6f38233316df"},"datadog_checks_base/datadog_checks/base/checks/windows/perf_counters/utils.py":{"sha256":"a2ffb8f0936f650e8a3c4671cfa5f42187009776d50059ccd79faf9467eab18d"},"datadog_checks_base/datadog_checks/base/checks/windows/perf_counters/utils_win32pdh_fix.py":{"sha256":"9d64eb01b07d5400ff0da693ad2055d8a0e606f8a9185988d38fb00df9f151af"},"datadog_checks_base/datadog_checks/base/config.py":{"sha256":"a9c000e17f6c5d065177041ef0382219ddbdf34541a7549003477af79b57fed5"},"datadog_checks_base/datadog_checks/base/constants.py":{"sha256":"711d7db40a95cac3056dd056a88199a0720a9359064f2a91b029fd15f1503a7c"},"datadog_checks_base/datadog_checks/base/errors.py":{"sha256":"7cf705691df31e94a4328f1ea6f1779517bd2ab1274bc83827475733f9efcecc"},"datadog_checks_base/datadog_checks/base/log.py":{"sha256":"8127f36229a6834cf70e09a7f0da57bb230d8e05f09936e7d0d732517f01d65b"},"datadog_checks_base/datadog_checks/base/stubs/__init__.py":{"sha256":"c2958047dbfb0624db6e64ceea9569b21a9aff3f8f59a613af7df049364bcf77"},"datadog_checks_base/datadog_checks/base/stubs/_util.py":{"sha256":"6431ad41af05ddc1dff3e42f4951cc0780462370bd5600bbb067061af3b46a92"},"datadog_checks_base/datadog_checks/base/stubs/aggregator.py":{"sha256":"6e9e19e949b031c06921dad4420bd3a8dc0ed20b4d779a209017e6dd8af4fa8a"},"datadog_checks_base/datadog_checks/base/stubs/common.py":{"sha256":"646cc5d9d5f2d6e545406746fdbbf3fe930c8942da05ca73adafe4f70a3d7f4e"},"datadog_checks_base/datadog_checks/base/stubs/datadog_agent.py":{"sha256":"7922fb75cdaaf2efd635aab909d876c9ead59478d480001dddd6b16206464728"},"datadog_checks_base/datadog_checks/base/stubs/log.py":{"sha256":"9d7788e4ec8d2915aeebd9f1cf771e01d86a9e496ab7213897acbc34f7bfa74f"},"datadog_checks_base/datadog_checks/base/stubs/similar.py":{"sha256":"dc73bd86dc7d2d5ea945a1356462ac3c4c5abd36e33c73cae9930cd813d88f76"},"datadog_checks_base/datadog_checks/base/stubs/tagging.py":{"sha256":"cf12dd3c2e04a87c46892fc71216da3ac2ffb399d922137c043931d810133aab"},"datadog_checks_base/datadog_checks/base/types.py":{"sha256":"6a76a3652d16d13b31507250c3e24738fd8d49eb82f418ac5d2cbd9804ad9714"},"datadog_checks_base/datadog_checks/base/utils/__init__.py":{"sha256":"4c2d2aee209b36a7188df5396b304da429e2f0b01060e7d8e8500313749910f0"},"datadog_checks_base/datadog_checks/base/utils/_http_utils.py":{"sha256":"c3cc21cf27261b354a94252fef4deb820daa3001744f7779d6307cbb9602e649"},"datadog_checks_base/datadog_checks/base/utils/agent/__init__.py":{"sha256":"a37696bf2dcf872903fe1ed84f7b3adbc3b45b66291e2b3436542c495d4f234e"},"datadog_checks_base/datadog_checks/base/utils/agent/common.py":{"sha256":"d5746c3c959da666f100a2815471813d49b858776f8aad28bee820b69c7b2d6a"},"datadog_checks_base/datadog_checks/base/utils/agent/debug.py":{"sha256":"cde05b34bb7763f5b1a5ff4e74092595d2f2d6098bd14e9b30398e1d20c63373"},"datadog_checks_base/datadog_checks/base/utils/agent/memory.py":{"sha256":"f6f35a21914859b753fdaecbef19e77f12f3246052579e5834b0c64dd4d1ef25"},"datadog_checks_base/datadog_checks/base/utils/agent/packages.py":{"sha256":"9a9924ab4d6c8b3cf3fb431d6ddfedfdd78c6a41c05f5a22675ad21460fe96e1"},"datadog_checks_base/datadog_checks/base/utils/agent/utils.py":{"sha256":"155fe8eab71c53907432b5f299afb8c80aa62a08649734de39fd6785872663ba"},"datadog_checks_base/datadog_checks/base/utils/aws.py":{"sha256":"c3114b5a5545b6fe7f11445db17cc384e45c4e93348c1940a2470c88f575c43f"},"datadog_checks_base/datadog_checks/base/utils/common.py":{"sha256":"3ad98a77914a8e5c09c116e113868898e0563ceccd3d5a9f5d79875e4e0c308c"},"datadog_checks_base/datadog_checks/base/utils/concurrency/__init__.py":{"sha256":"391b2c1396d766e62e6b95022deb067cfbdcad029c0031da0ec5eb5327c0445d"},"datadog_checks_base/datadog_checks/base/utils/concurrency/limiter.py":{"sha256":"8acd99a541237ec2389c11ad5c6d83d1982fd060f7f3f8b98c940291dccf5bf6"},"datadog_checks_base/datadog_checks/base/utils/constants.py":{"sha256":"4304decb8096074340c66dab703fb03d84641328257a4408ac0cc531a6c46b7f"},"datadog_checks_base/datadog_checks/base/utils/containers.py":{"sha256":"4ba73d92f98326e88787d84eeb63db76aae7866e9ed91dcee60187de5e63b4da"},"datadog_checks_base/datadog_checks/base/utils/date.py":{"sha256":"2499aa3fce0281570527472f02632ef04b4ceaff7ab48112b9c40d9bd78a7847"},"datadog_checks_base/datadog_checks/base/utils/db/__init__.py":{"sha256":"1154dcd85b671d62c75c8dccefd8f2327f72a5900c6bd7aa1b710a2c088c17e3"},"datadog_checks_base/datadog_checks/base/utils/db/__init__.pyi":{"sha256":"7b0986c71c89e76c00698c4d65a862da4a0452775d7ef1dc9f71d8c50dd152bd"},"datadog_checks_base/datadog_checks/base/utils/db/core.py":{"sha256":"6d86a7c1722a073b12c4aedbf8e7dbd16d568876c506d2b261d501a2704b7bf4"},"datadog_checks_base/datadog_checks/base/utils/db/health.py":{"sha256":"ae225a2489ceb9814adf2d30347d7d1e88c89173f041a32dbf1bb23c24719d96"},"datadog_checks_base/datadog_checks/base/utils/db/query.py":{"sha256":"f8fcb176aa5b4a1910efc87bb169e0850655b6374b195ae6ef59fc3a91ee3d6e"},"datadog_checks_base/datadog_checks/base/utils/db/schemas.py":{"sha256":"3df1d178300d3774d764f284292fb287ddb44e831a5471198197a64124bb5773"},"datadog_checks_base/datadog_checks/base/utils/db/sql.py":{"sha256":"a2213341afef0bfc3753ae5516b142a101d68f91902cb46548ed027e24a5a780"},"datadog_checks_base/datadog_checks/base/utils/db/sql_commenter.py":{"sha256":"aff79f2ba4c6450c4cffe423fa774425d102938ec9e270858e4572c6ed579af5"},"datadog_checks_base/datadog_checks/base/utils/db/statement_metrics.py":{"sha256":"b13def2f8c1900853652b0e73727635867f6f1270106e8e1d42c6d8333db127c"},"datadog_checks_base/datadog_checks/base/utils/db/timed_cache.py":{"sha256":"6bd2ace4a294bc4c41e863804d74d208b6a656d2c3f75f439fa1e9c1e18ab45c"},"datadog_checks_base/datadog_checks/base/utils/db/transform.py":{"sha256":"1f724df3f305d0f9341da5ef219797d40f2242b3fc281812ef8d4c3de062583a"},"datadog_checks_base/datadog_checks/base/utils/db/types.py":{"sha256":"38b5f63aae7c2503c5043e28a94a422e400fee8bd118dfe2d6f164d44d0df0b8"},"datadog_checks_base/datadog_checks/base/utils/db/utils.py":{"sha256":"ee1f2493b05d19cc42ec47324804be7db657a76bdc4d219ea4eeeed38538d921"},"datadog_checks_base/datadog_checks/base/utils/diagnose.py":{"sha256":"78b31ed2d212a64cd2df2c5547cdc81f1a2b4097c74ff5e2e82ab8cf344dc552"},"datadog_checks_base/datadog_checks/base/utils/discovery/__init__.py":{"sha256":"bcf08e76c4e105c06314944f8439ba22c6463b093c1e5bdc8b009efe5f1d28b9"},"datadog_checks_base/datadog_checks/base/utils/discovery/__init__.pyi":{"sha256":"49c54b5353638fd7a46667b096d6f47142c8e81ca5b2c5477e7e0270f35ecabf"},"datadog_checks_base/datadog_checks/base/utils/discovery/cache.py":{"sha256":"7fd2f703b619a59fa6a59a452308ec6b969bf5c64c1a4a9d7ad76bf44a5a95b2"},"datadog_checks_base/datadog_checks/base/utils/discovery/discovery.py":{"sha256":"9bcc3d55162eefc79dd202af56ee1c84dad1752302aae24edd85359b378e734d"},"datadog_checks_base/datadog_checks/base/utils/discovery/filter.py":{"sha256":"459f13ddb2cfe2e84af0a5f01aa76860c254f4edc402f3924e119ae702d0311f"},"datadog_checks_base/datadog_checks/base/utils/fips.py":{"sha256":"bf19b72bbc1340a61e9cfd4b6d793ba6627c580ea5dfaec14c918134ed0392f4"},"datadog_checks_base/datadog_checks/base/utils/format/__init__.py":{"sha256":"315b8b9d1858f958ca223629dc539346f2273b8a942c538d581091c9ac353b00"},"datadog_checks_base/datadog_checks/base/utils/format/_json.py":{"sha256":"09ae88905257e012aeaa1140946596b1e1e605213101cba78946895159f0c302"},"datadog_checks_base/datadog_checks/base/utils/format/json.py":{"sha256":"1b2f3873d974ccecbbdf5a820e2cb6d47a616620b7c36c12e8e45aebae0c1d9d"},"datadog_checks_base/datadog_checks/base/utils/functions.py":{"sha256":"8869726f147a68f3c494dc4d6f610b3b36e4df6f23f4e541031ade749c5d091c"},"datadog_checks_base/datadog_checks/base/utils/hashing.py":{"sha256":"74d01edd152f77b4c4dd699c0d7e9261085368c5ecc710c7b9ee1f3e416e2f94"},"datadog_checks_base/datadog_checks/base/utils/headers.py":{"sha256":"d1249d0bbd63c1a07ad413837eeb1a84256bd5ce7a1af4fd8b0b7b72275c1cfd"},"datadog_checks_base/datadog_checks/base/utils/http.py":{"sha256":"78f4b32fbc7fc6c6f57675c9c94d9f057220394d29e541592291b6017fe36590"},"datadog_checks_base/datadog_checks/base/utils/limiter.py":{"sha256":"6114eb3c25f54b912d1cb55c3fff8611fcd1a2db3f2d3732d5ffee1d956cf748"},"datadog_checks_base/datadog_checks/base/utils/metadata/__init__.py":{"sha256":"1154dcd85b671d62c75c8dccefd8f2327f72a5900c6bd7aa1b710a2c088c17e3"},"datadog_checks_base/datadog_checks/base/utils/metadata/__init__.pyi":{"sha256":"595a2fd3b68f28477275ccbc7b902177d08c4ff0dc43188eb42aa31b1d6449fe"},"datadog_checks_base/datadog_checks/base/utils/metadata/constants.py":{"sha256":"5c77cfc2f40c6f2344d8562607fed7c968862343761b17415dbb572f87839e27"},"datadog_checks_base/datadog_checks/base/utils/metadata/core.py":{"sha256":"eeb20aadfc3594d02870ef4705dd8cebf83e70a10fdaf99838e3cee8e926b939"},"datadog_checks_base/datadog_checks/base/utils/metadata/utils.py":{"sha256":"d3756946a79fa280add151008bd06fa25643de6dfeba14f6af642e276c5ce03e"},"datadog_checks_base/datadog_checks/base/utils/metadata/version.py":{"sha256":"ad0ebf687a6b0387530a47943306dd04dbf048e969385efadf6b16dbae2c75bb"},"datadog_checks_base/datadog_checks/base/utils/models/__init__.py":{"sha256":"b2e1a32eb8591a9d541a935aa5c56f20fa7ebbc3de68cf24df3a650198f2712a"},"datadog_checks_base/datadog_checks/base/utils/models/types.py":{"sha256":"c9b504a7dcffac396bdbea089158c4581fa6440bd4c28103a4051c6504c4208c"},"datadog_checks_base/datadog_checks/base/utils/models/validation/__init__.py":{"sha256":"c2730cf9d93ee0f59e226c39111fdb64ab6cf5c3f8111ec8523d679493143793"},"datadog_checks_base/datadog_checks/base/utils/models/validation/core.py":{"sha256":"e58a070f63eaceeaf03c6d4405758c81737dd7d569f3b358001e004dd440fcff"},"datadog_checks_base/datadog_checks/base/utils/models/validation/security.py":{"sha256":"d0c0f2c42bb92ecccb6521d5782fe2ae178fb9eec59b6fccc34db0de57dc5b7c"},"datadog_checks_base/datadog_checks/base/utils/models/validation/utils.py":{"sha256":"24be22141ff0da08f870aca800b92e11a2218195a36434016cc982e14e1fafa5"},"datadog_checks_base/datadog_checks/base/utils/persistent_cache.py":{"sha256":"d539347645991fcc87e08fdb319827861cf68dc65c232bbce5d36906fcb996c3"},"datadog_checks_base/datadog_checks/base/utils/platform.py":{"sha256":"c16f1fe972a8e091f1beed6c3740e92c39988d2fdc0aef06a0abdf4e3223e323"},"datadog_checks_base/datadog_checks/base/utils/prometheus/__init__.py":{"sha256":"a4d2d7db491726bb500c88450fa8e79c8135f2f175f4c7402809b7e1a3a583bc"},"datadog_checks_base/datadog_checks/base/utils/prometheus/__init__.pyi":{"sha256":"e774ac8fb7cffb2caf624f3990e79b517e487be6e61e31fe6d52989fd5f8ed67"},"datadog_checks_base/datadog_checks/base/utils/prometheus/functions.py":{"sha256":"c674f283d8937acffcde65a57351acf05150d6349163e94b3e8e530801626f2b"},"datadog_checks_base/datadog_checks/base/utils/prometheus/metrics_pb2.py":{"sha256":"8bfee9b8006b7cde3209393ebe13b0dc617fff94386a20f12b25efb5069df6ca"},"datadog_checks_base/datadog_checks/base/utils/replay/__init__.py":{"sha256":"391b2c1396d766e62e6b95022deb067cfbdcad029c0031da0ec5eb5327c0445d"},"datadog_checks_base/datadog_checks/base/utils/replay/constants.py":{"sha256":"7b10c6b0380b23bbb5196bde7a55dd8335894e3c47a18266413ee8ef0d4509e3"},"datadog_checks_base/datadog_checks/base/utils/replay/execute.py":{"sha256":"a7e36b7aaa871fe581306fa767827598135fc7da1b67d787d44bbc10c3a525c2"},"datadog_checks_base/datadog_checks/base/utils/replay/redirect.py":{"sha256":"44b93f734216035c3ec66afa750c16eca185909b750740e6417e55591b48a559"},"datadog_checks_base/datadog_checks/base/utils/secrets.py":{"sha256":"4e3e4c04ea321975c3581dc7afeed4283cb9195d4d6499053d8e13e2ff4f1c78"},"datadog_checks_base/datadog_checks/base/utils/serialization.py":{"sha256":"a5c454cd92146643ac7e718319bc5e530197ad2b0597ff6b2e10347a40ff019f"},"datadog_checks_base/datadog_checks/base/utils/subprocess_output.py":{"sha256":"0dbab19fc163a3b7f78e5fbc1363b0ddc564462eab3681f9e3bfe27ccb0ba95c"},"datadog_checks_base/datadog_checks/base/utils/tagging.py":{"sha256":"6bed3fa5718ec20e1ec260e22689fbaccffde9926f5691d5330872d49e51ac42"},"datadog_checks_base/datadog_checks/base/utils/tailfile.py":{"sha256":"419987f1e0b17829455913199facc3c203b1d72e5d017739c88feecc40a3d1a9"},"datadog_checks_base/datadog_checks/base/utils/time.py":{"sha256":"70dcbb0adb09cd250c8bb27edd645e65552f37260e1a427022da89318d35aaa0"},"datadog_checks_base/datadog_checks/base/utils/timeout.py":{"sha256":"78e059a1f14dfa13aee7125e30e17769cfe87dccbd118ebe92f981bcfe101058"},"datadog_checks_base/datadog_checks/base/utils/tls.py":{"sha256":"b68ff7dcc692123be8eb3bea466f60291c7f664f40caae77b67662b8abcdcb6e"},"datadog_checks_base/datadog_checks/base/utils/tracing.py":{"sha256":"d9066340a34abe8c11605a6a390738b14a18516bba249289a1f93eaefb2d5206"},"datadog_checks_base/datadog_checks/base/utils/tracking.py":{"sha256":"158228baabb7281f89b31831335897e48a6ffdc5a1b3ccd03933784b15ce909e"},"datadog_checks_base/datadog_checks/checks/__init__.py":{"sha256":"76381faa72acfce6863031501a53b955d2d047150023e5f828424b2e53e95483"},"datadog_checks_base/datadog_checks/checks/base.py":{"sha256":"df061b86e80d0375a5aedffe104a4198949297c9472ae52dad13fe9d5d8a05f4"},"datadog_checks_base/datadog_checks/checks/libs/__init__.py":{"sha256":"2300c3103843a8f3d4d63e0fcaf78691dbb508cbfd91b7de2bdd0802f981c777"},"datadog_checks_base/datadog_checks/checks/libs/thread_pool.py":{"sha256":"747147080f5d03c2742e233e4bd635d4c58abff8cf5c803fe5881f776c1603b4"},"datadog_checks_base/datadog_checks/checks/libs/timer.py":{"sha256":"a35b1970916e9035ae71d185b6506bbd2b798e26ef1b7b91fc3b30788b19dd49"},"datadog_checks_base/datadog_checks/checks/libs/vmware/__init__.py":{"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"datadog_checks_base/datadog_checks/checks/libs/vmware/all_metrics.py":{"sha256":"849ca20bfd3b86aa8c8eeb88732b4026fd8a0e74a0a96ab6cbe269270b71a8c3"},"datadog_checks_base/datadog_checks/checks/libs/vmware/basic_metrics.py":{"sha256":"683af414d39b8d77d66fd97146999de4bd7a7be9ab934ed9224867a0b74c099f"},"datadog_checks_base/datadog_checks/checks/libs/wmi/__init__.py":{"sha256":"2300c3103843a8f3d4d63e0fcaf78691dbb508cbfd91b7de2bdd0802f981c777"},"datadog_checks_base/datadog_checks/checks/libs/wmi/sampler.py":{"sha256":"e3c981d33289c55ada249abeb51b1c5095c06cb11b9991f9a4228a695251e455"},"datadog_checks_base/datadog_checks/checks/network.py":{"sha256":"e5b7d11f19ac5286897259c2ac1e8209ee7bee94df199d5155e1b174cce6afbc"},"datadog_checks_base/datadog_checks/checks/network_checks.py":{"sha256":"cdb77741ebeaa7b6a13616873b5725009b7566a77ceef013fe5dd1c76cbdd81b"},"datadog_checks_base/datadog_checks/checks/openmetrics/__init__.py":{"sha256":"96b910b1c359a0b37a0a8753b6e1e50c803ae35bf4f1e7a31418678cf16792c0"},"datadog_checks_base/datadog_checks/checks/openmetrics/base_check.py":{"sha256":"a9ccd2133baa1058f744e494e2bb43cb5221fbbb41b6c3b8a0553ead7f6a851f"},"datadog_checks_base/datadog_checks/checks/openmetrics/mixins.py":{"sha256":"b5b9cf9d77c8dda6d752a4d37d303405fa1935ac071b17a4e8b055160b7d2a28"},"datadog_checks_base/datadog_checks/checks/prometheus/__init__.py":{"sha256":"a12ac852908b6eb9f3b594e893c41a38951a9a1e030b6286c20e76aec9965c8b"},"datadog_checks_base/datadog_checks/checks/prometheus/base_check.py":{"sha256":"882984f28171bfde4a2c34c25f609b5a758917f0c9b9e00b2ba9a0d489ba1e19"},"datadog_checks_base/datadog_checks/checks/prometheus/mixins.py":{"sha256":"aa652ec3963f90c1e7c552d35243d3863f737fa9de5e45131ca55758c5e00de5"},"datadog_checks_base/datadog_checks/checks/prometheus/prometheus_base.py":{"sha256":"434576db21c019a7366f5350b8e305c0790509aadd9cbd980f6c3ac22b87874f"},"datadog_checks_base/datadog_checks/checks/prometheus_check/__init__.py":{"sha256":"9b5434e894e03018e342ee726f635de62122bf0e1d8f59d3f0109f89a95d890d"},"datadog_checks_base/datadog_checks/checks/win/__init__.py":{"sha256":"4441d475ac7181f8e7edf1037da1310d776c647883d0362a5acfb88e44e4d45e"},"datadog_checks_base/datadog_checks/checks/win/winpdh.py":{"sha256":"864f9f437a351bb82a2962e15a1198cc6271f9cc25c3c73522402954fa42ef9e"},"datadog_checks_base/datadog_checks/checks/win/winpdh_base.py":{"sha256":"269e7c39a6562687aa6ad022b1b88c85b5f6be403c11a8412775b3c55715196e"},"datadog_checks_base/datadog_checks/checks/win/winpdh_stub.py":{"sha256":"a1895061a3be05415b331c1b17d2c02b1f912f36ed238948c46d7af68025d7ed"},"datadog_checks_base/datadog_checks/checks/win/wmi/__init__.py":{"sha256":"51008a1bf148ec1c7bc0bb8f6ad3be19ba950e6c13b5cb84a2fd2684fb66327e"},"datadog_checks_base/datadog_checks/checks/win/wmi/counter_type.py":{"sha256":"01ac5dc9d1518c74c4b621a1da0b901da5ffc954abcf81972f8e478abdb098a7"},"datadog_checks_base/datadog_checks/checks/win/wmi/sampler.py":{"sha256":"bbfeea3683c40059f5e1ff52fc459e82200727041a187328d65f58b92b445cdd"},"datadog_checks_base/datadog_checks/checks/winwmi_check.py":{"sha256":"907ea75f4055e675b732171687ce6148d6484d067b36726b942b4e9c5e1d747b"},"datadog_checks_base/datadog_checks/config.py":{"sha256":"3eb01719d94b9e857654c41f7ff9e849a489274c20e010221a7c3b8c240b4a29"},"datadog_checks_base/datadog_checks/errors.py":{"sha256":"785c269eb5fe6dab4881bbbe889cac7aa00f34eff8ae4d54b9a28af3d7af2e18"},"datadog_checks_base/datadog_checks/log.py":{"sha256":"a2bbce80c286344b2a4932da942010a563fea2ea2ba46d40ec69fe8f69910fcd"},"datadog_checks_base/datadog_checks/py.typed":{"sha256":"95aebb28195b8d737effe0df18d71d39c8d8ba6569286fd3930fbc9f9767181e"},"datadog_checks_base/datadog_checks/stubs/__init__.py":{"sha256":"331c49e4d1a353ded64777893a96906746f386f03cf32b30135aa260665377ec"},"datadog_checks_base/datadog_checks/stubs/_util.py":{"sha256":"9989e9f7fbeca50c1359c06188f60c309dc421c40f4a9a407147d18c42c180b5"},"datadog_checks_base/datadog_checks/stubs/aggregator.py":{"sha256":"ea230225c9c41fbb1885a38741cccf1809034d9b1fd696eb6efde1de6bfba762"},"datadog_checks_base/datadog_checks/stubs/datadog_agent.py":{"sha256":"b167bb8f650441e0f3762aa3e0ffe73e1921157f34ff90abe47723db963ec6bf"},"datadog_checks_base/datadog_checks/utils/__init__.py":{"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"datadog_checks_base/datadog_checks/utils/common.py":{"sha256":"470a0220a572f2f6df6b61353fb63b82447d569274d15b6e3f5f0c12b5e7f6b9"},"datadog_checks_base/datadog_checks/utils/containers.py":{"sha256":"ca56286c527f7d5f940b0baf5a66a4eba6ad2df036759f6000b0985835c63a29"},"datadog_checks_base/datadog_checks/utils/headers.py":{"sha256":"8f92abe525d4947ba4dd41870d0367f4cda884df95e57d9fce62718f0e8fe8da"},"datadog_checks_base/datadog_checks/utils/limiter.py":{"sha256":"1aad3f848119c3aaa92394962ffbb331a22991bcef173b242347a54cffef22c1"},"datadog_checks_base/datadog_checks/utils/platform.py":{"sha256":"76ca8472c0bf63b866e28aea3bc449e4de63905a41ee9c8662f09e5eb6fef571"},"datadog_checks_base/datadog_checks/utils/prometheus/__init__.py":{"sha256":"f16c179ccf60d6c7d2e76ebb4180895ff85df0c665e6446006043f4b374d757b"},"datadog_checks_base/datadog_checks/utils/prometheus/functions.py":{"sha256":"e2f5ac4c62e0ba31f0758668d2d940424a833c7a1fa9424cde4f5e22d26a1114"},"datadog_checks_base/datadog_checks/utils/prometheus/metrics_pb2.py":{"sha256":"c60dd47541dee138de478b35dcb50a6765355954ade94eb38ec5511ba957e9d7"},"datadog_checks_base/datadog_checks/utils/proxy.py":{"sha256":"723edeaf00a1ee813aa4a6467fc34c3ae419f354c6b6172de678e39b864a8bd7"},"datadog_checks_base/datadog_checks/utils/subprocess_output.py":{"sha256":"80dea34445564d9eee264533455310e69c72b4d640e369ea8c97a365717a64c2"},"datadog_checks_base/datadog_checks/utils/tailfile.py":{"sha256":"6c4aa2725fac2e0cb0f660f545d5a8b3c1954a50a49f1e58c86ddf5cc068c137"},"datadog_checks_base/datadog_checks/utils/timeout.py":{"sha256":"42e848b0a6686bf335dfe8040b07acbb9219c12317cfdf564f0a9a974262c913"},"datadog_checks_base/datadog_checks/utils/tracing.py":{"sha256":"1d06d06a428cf8bc3be4c0e422d6982588a94ba60edb867fca60d5c43b31e435"},"datadog_checks_base/pyproject.toml":{"sha256":"8bf2d84d119a60fe598c8bd1f8942028f30bdd51e34e04d43c21016e104fcbf5"}}}} \ No newline at end of file +{"signatures":[{"keyid":"47c5a02273f1cf8104ee8d1a7a67dc43b24c1542","other_headers":"04000108001d16210447c5a02273f1cf8104ee8d1a7a67dc43b24c1542050269ce6b33","signature":"9e32d71d53203725890557ebfcde7e287ccdf80dac87be46f160827863c34125b5c29eb8bf5c9529d764a9c6cc5a6ad527f60cf2b14ab2a021992cd498a4730823438d7b839737a0fae59e34f2020643fb6983bd3f505be04fb1e4fb01e61cd066a601d8d82e32318096f0f174b998bdd9d3954d98fa8eae348cc1d25945f5e4df1b222cd57055cc7efa8b8c3cad9e27957148d789e60916374940175509bf3c9297401887070b73a6bcde3dd7623ae1545918a1652f5c369385545d18fedfffe146cb9e86ffd36503aa23e53a5b7d986a4dd8ef377b36f03b1a1c3625d0c29612be9fce6cd65a78f42f941d337e6927176c822a28c097f4fcddd072c67c8a2e0d325a852aa3ab6e441e8019de545455f6b55864bb18b4d8be87d2dc71465e659e44c20bb4a8e56f705029b770c4a716daafea48e5d884542a5ed2a6977f7398c15eb3d102e4f8889c616ca0cf19671a009b27e516bd73d944b20fc9105b27743ebfdb9a452b1d139ac216a9decc755041b75ed0752853829e86a564df160acff60f51e768efebe0eccfc13f86b90aabc88967dc03ada00908fe47a1ed725e8606c61d08237a3cd0c62c904997a810180197afa05b565b67ef41cf7f6d757710d482e284f365b86d9c5b2e64f09a4b7f333d70a4986c76e6b34b3a6b627707a136a6241539694c8367c69af59b8b5738c92b888e037b607451413e59f66e4298"}],"signed":{"_type":"link","byproducts":{},"command":[],"environment":{},"materials":{},"name":"tag","products":{"datadog_checks_base/datadog_checks/__init__.py":{"sha256":"9a3c64b8b00c94da4b4f34618d803d3255808caf21b8afa9195c84b61da66b6a"},"datadog_checks_base/datadog_checks/base/__about__.py":{"sha256":"66211e7c62879426d5f731ba33ce1e6f3f6643fecd1fe07f36333b969a58e0e9"},"datadog_checks_base/datadog_checks/base/__init__.py":{"sha256":"c967a048b13e4d9588192bc08898fd3d2ad4c7394ea3f51524bb76cce459f049"},"datadog_checks_base/datadog_checks/base/__init__.pyi":{"sha256":"6b863524870f27ca73f6d464040be359db6f490c19c5b31906e4662224acff81"},"datadog_checks_base/datadog_checks/base/agent.py":{"sha256":"9d7f71fc16188b344a18d61f5eae73ed2d0567dc5c5ffc1ddadbb1a467b7ffc9"},"datadog_checks_base/datadog_checks/base/checks/__init__.py":{"sha256":"abb57abfe1704169100b5416695cca68f8d931ac4f24725c2ddef50b4b8cedb0"},"datadog_checks_base/datadog_checks/base/checks/__init__.pyi":{"sha256":"c9d7ad97a904142482869a58421b3c9af20fe65eaf9d90f901b2c004685b15c3"},"datadog_checks_base/datadog_checks/base/checks/_config_ast.py":{"sha256":"bf5ac087039117cd1bde47d92a17facd767b4b90f703640f50ae2d4a8f1ea3e6"},"datadog_checks_base/datadog_checks/base/checks/base.py":{"sha256":"56d183f88a883532400dc8c3ef7ad30bbb10f1d306adf57ab1564569cc1069ad"},"datadog_checks_base/datadog_checks/base/checks/db.py":{"sha256":"f41784c2e0c9e530d796aeb2257615b3d4ff5256c26b76d6ad23aae59b210ca7"},"datadog_checks_base/datadog_checks/base/checks/kube_leader/__init__.py":{"sha256":"abb57abfe1704169100b5416695cca68f8d931ac4f24725c2ddef50b4b8cedb0"},"datadog_checks_base/datadog_checks/base/checks/kube_leader/__init__.pyi":{"sha256":"5060f2c28470982233dd98a2d6e1eca7b8e2146591767e5f14c659c60186950b"},"datadog_checks_base/datadog_checks/base/checks/kube_leader/base_check.py":{"sha256":"c7cc1a3febf3b49ccaf5ee8a40b1922c57eb59dcf029cb161b308bd5bb3a5917"},"datadog_checks_base/datadog_checks/base/checks/kube_leader/mixins.py":{"sha256":"bc95058738b055dbd572dd16bc228593aa0cdc76239d336dc31092205bcec87f"},"datadog_checks_base/datadog_checks/base/checks/kube_leader/record.py":{"sha256":"6aa334545b055aeda90343b976cfbabf959038cee58103321b0a26e90eaa09a5"},"datadog_checks_base/datadog_checks/base/checks/kubelet_base/__init__.py":{"sha256":"d70624d464bcea37efdfefd4cb8cdb26fb8e0183eecbdcb8f450f4288455950c"},"datadog_checks_base/datadog_checks/base/checks/kubelet_base/__init__.pyi":{"sha256":"0bec4967ccee71b1bbc80c2db3b27e4819de7ac1be4cf80bd5b06b166e0bf2f7"},"datadog_checks_base/datadog_checks/base/checks/kubelet_base/base.py":{"sha256":"e48a29c2d9a9d08408864075565dcc83957937db2c794627f4344623365aa87d"},"datadog_checks_base/datadog_checks/base/checks/libs/__init__.py":{"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"datadog_checks_base/datadog_checks/base/checks/libs/prometheus.py":{"sha256":"08f897cd26aa17193cd7c36d4c02d1251199ea7a789eeb0a42c7d4bb7212b7dd"},"datadog_checks_base/datadog_checks/base/checks/libs/thread_pool.py":{"sha256":"981219dc63fe452f96075e0fc914bee141179735463179e4bfc93e2c20b8bab7"},"datadog_checks_base/datadog_checks/base/checks/libs/timer.py":{"sha256":"8ac17c602136ed7a5e7a1bb39389782190afc505574dd6cd8a46c1db146780c4"},"datadog_checks_base/datadog_checks/base/checks/libs/vmware/__init__.py":{"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"datadog_checks_base/datadog_checks/base/checks/libs/vmware/all_metrics.py":{"sha256":"4f89b8c40a8abc0f57b6abbea2227be3cd8a0a000e34a134b48800fc4a0842c6"},"datadog_checks_base/datadog_checks/base/checks/libs/vmware/basic_metrics.py":{"sha256":"37d804c9398bb121d2f89162729347394ab2b3b627ad1affb8f608eb34ab35bb"},"datadog_checks_base/datadog_checks/base/checks/logs/__init__.py":{"sha256":"ee840b22269e35c03869d3b7223c20ab5c65895ae23153a8d273c0f866d5b99d"},"datadog_checks_base/datadog_checks/base/checks/logs/crawler/__init__.py":{"sha256":"ee840b22269e35c03869d3b7223c20ab5c65895ae23153a8d273c0f866d5b99d"},"datadog_checks_base/datadog_checks/base/checks/logs/crawler/base.py":{"sha256":"90ae36a4dc349b0d0fc1ac102f3c21b1d0100b55688ce5e0149e3844da37ac8c"},"datadog_checks_base/datadog_checks/base/checks/logs/crawler/stream.py":{"sha256":"300a7c23ecc48f972f4e9ee9349345977d800ddcea359c4682425fc9dadf847e"},"datadog_checks_base/datadog_checks/base/checks/network.py":{"sha256":"52482a9151daa17ec7aa2d16284c7e4ef685885ebedfb57217d0379b66926893"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/__init__.py":{"sha256":"abb57abfe1704169100b5416695cca68f8d931ac4f24725c2ddef50b4b8cedb0"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/__init__.pyi":{"sha256":"02a7053f92c628a67b7d6aa0019007d1f3e9e242c993d36ff4a938e1a736341b"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/base_check.py":{"sha256":"3aa169bf618c48249bd9bd398c66033f52fc9dfcd0e6899d5cbe052fe901ff29"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/mixins.py":{"sha256":"7f08b2b8eea4572ebd387f72b3d71279cf1a44450e1a00758dc056db6cabdf96"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/v2/__init__.py":{"sha256":"3fcd4506124b03d306a73e0bee8ffb0bea6f13077803ff235855906758e0d048"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/v2/base.py":{"sha256":"e0f2c6b0a4daaa683edd58756718e0b164aa5741b9e4edb597d9c0062d3b8b53"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/v2/first_scrape_handler.py":{"sha256":"227fad65733389e49d2f6397265200162efc29b415c2e26718fd2268b1fdf7be"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/v2/labels.py":{"sha256":"43a6d0f977dc2b80c415cca7bc27b4125ebc1fd7768304e2008821e10647271c"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/v2/metrics.py":{"sha256":"b835593871d158c5bc614419058f6308bcde70de43b9e44d8c89b1066d4af369"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/v2/scraper/__init__.py":{"sha256":"0a63dd8ad50422e51ada17ec6a0d1bf40a17ff0fce4791b061a035931578ddeb"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/v2/scraper/base_scraper.py":{"sha256":"9ff47fd8411ab728c4145eb5088f73feae2100810a1b38b57344df7644dfeaff"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/v2/scraper/decorators.py":{"sha256":"48e07ee163474457e9a595d76eb4e6fd44be20a0c5f09edef1dd143fadd70067"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/v2/transform.py":{"sha256":"a76ecd16a1e54d63022323f7d99aabd517997534e04e7c1e0f805047c6d3e245"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/v2/transformers/__init__.py":{"sha256":"6ea1f103b4b1bf22734b22dd35f21238fb492b2175df66c793376b31a29b8e80"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/v2/transformers/__init__.pyi":{"sha256":"a3291b1a669b53f2e4a7fb0a0e04ada9079294a69ca061611e3aa82cecbff9a0"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/v2/transformers/counter.py":{"sha256":"9a6362e041ad2cd605c566b4c88ff7f0d63d681222e35e0cf6945268635b71a2"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/v2/transformers/counter_gauge.py":{"sha256":"a1bd42bc2747afe56b73905295a4f73972f917633a07b3866a15007a4545dc5c"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/v2/transformers/gauge.py":{"sha256":"ff6a19d789bfe7f6fb94e47eb4cc49461b1e17aafa7fd0ec3bee0b6c023288f1"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/v2/transformers/histogram.py":{"sha256":"c1919379903fdc4f3ee45f5a16ab3c40230958df7de19fb324cbe44d67a7744f"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/v2/transformers/metadata.py":{"sha256":"069b093750fd272f78bb12deee4a472f5e042dd961530c939a5e51f3d3003aea"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/v2/transformers/rate.py":{"sha256":"7beb75edc142b002a77d7810add521f79c3496c972de2b80d36322cc63ffa1c3"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/v2/transformers/service_check.py":{"sha256":"5ba8d9034fe20f75ed7475813967677bd87ab646832932b2e4f0a290b06c4288"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/v2/transformers/summary.py":{"sha256":"d01d5693b79ae07da77ddb0e5fca10122a2804636aca914372304f2a31d5b52e"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/v2/transformers/temporal_percent.py":{"sha256":"1425d5f6ed5d726168e733be650057049f138141c715b87835e034f21ff6d546"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/v2/transformers/time_elapsed.py":{"sha256":"b6a786ad1734ee7d80cf8393981d65ecd2d46415d8d6c04fe5077c7a97d19cda"},"datadog_checks_base/datadog_checks/base/checks/openmetrics/v2/utils.py":{"sha256":"b6993786d240cff2b0091a85b360938da8c790b0acff64db19d069e75e2b58e4"},"datadog_checks_base/datadog_checks/base/checks/prometheus/__init__.py":{"sha256":"abb57abfe1704169100b5416695cca68f8d931ac4f24725c2ddef50b4b8cedb0"},"datadog_checks_base/datadog_checks/base/checks/prometheus/__init__.pyi":{"sha256":"80b7bd92dbd31e79364c9b5920543999175093776ce7ece11f5ee1f062905688"},"datadog_checks_base/datadog_checks/base/checks/prometheus/base_check.py":{"sha256":"d8edeb15002579b295bd35df47ec0b9ad7b6c0ff588296048538612345323e8e"},"datadog_checks_base/datadog_checks/base/checks/prometheus/mixins.py":{"sha256":"f05c27d7d8a435a40859bdc5cb63e023ad7293b9e3b055d5d584fb1d66b3add7"},"datadog_checks_base/datadog_checks/base/checks/prometheus/prometheus_base.py":{"sha256":"26aaf5f0513547e2d420f96e8d8697016dd6fa8029fbf73d8d1f9b42f9a78271"},"datadog_checks_base/datadog_checks/base/checks/win/__init__.py":{"sha256":"abb57abfe1704169100b5416695cca68f8d931ac4f24725c2ddef50b4b8cedb0"},"datadog_checks_base/datadog_checks/base/checks/win/__init__.pyi":{"sha256":"f5cede8b0b33b3ef42bf44bfbfaafbe631ffd8f50b8c64d5a58b79f246f79749"},"datadog_checks_base/datadog_checks/base/checks/win/winpdh.py":{"sha256":"8a1178041d7fdc4a16bc54c2019e1331048e2da5a5bf59d633c000aa5b6105ae"},"datadog_checks_base/datadog_checks/base/checks/win/winpdh_base.py":{"sha256":"cf7a4f1c6d07e62c708de1a2d3c70b7b4d156d9dd731d9ed74986083adb74fb2"},"datadog_checks_base/datadog_checks/base/checks/win/winpdh_stub.py":{"sha256":"3397f2064cc0b842afa19ac6f64b506a9c241ffecaf8a388605e55a52f372cc9"},"datadog_checks_base/datadog_checks/base/checks/win/wmi/__init__.py":{"sha256":"abb57abfe1704169100b5416695cca68f8d931ac4f24725c2ddef50b4b8cedb0"},"datadog_checks_base/datadog_checks/base/checks/win/wmi/__init__.pyi":{"sha256":"da5816fdc0d7dfa9868308c14388dc514903e2920def741f5ef94f3bba0af97f"},"datadog_checks_base/datadog_checks/base/checks/win/wmi/base.py":{"sha256":"c5b63c4b89afaae2399bba356fa6da79aba3e8fc44afd7822a5ba03bfc6c8b52"},"datadog_checks_base/datadog_checks/base/checks/win/wmi/counter_type.py":{"sha256":"efbef65c6b56c8f2577b0caf698ca8c15983cbd0f1678da48bd583e5769bb951"},"datadog_checks_base/datadog_checks/base/checks/win/wmi/sampler.py":{"sha256":"34996400b17ccb59210164687296c7d8ba70c6d41bd85f1fcc18426afbd15f8c"},"datadog_checks_base/datadog_checks/base/checks/win/wmi/types.py":{"sha256":"e04f1ed72a69d8ff9e3b180bb11adfb656aeaaf6a9582b956803e872a0abc158"},"datadog_checks_base/datadog_checks/base/checks/windows/__init__.py":{"sha256":"b2e1a32eb8591a9d541a935aa5c56f20fa7ebbc3de68cf24df3a650198f2712a"},"datadog_checks_base/datadog_checks/base/checks/windows/perf_counters/__init__.py":{"sha256":"c4ced6dabda1b7e2b1fe3d22f03bae7bf94433606ffdbab7be0d04b34009e4a1"},"datadog_checks_base/datadog_checks/base/checks/windows/perf_counters/base.py":{"sha256":"7176d05706f8f7a07e92e1da00cddf1375f7dcb3146caa180b8152489289adb7"},"datadog_checks_base/datadog_checks/base/checks/windows/perf_counters/connection.py":{"sha256":"986ed37527d26645c547a794e18fb8f4ae042c98aa7abe82c3863a17178a1106"},"datadog_checks_base/datadog_checks/base/checks/windows/perf_counters/constants.py":{"sha256":"fdaa806dab5cbbd790bfd36a6d509a43d7394be1e4922504455e68a82dc39799"},"datadog_checks_base/datadog_checks/base/checks/windows/perf_counters/counter.py":{"sha256":"51367e0b56b5142ab8ee98156216c5da748155432c9d98d247399e4bc5a1df62"},"datadog_checks_base/datadog_checks/base/checks/windows/perf_counters/transform.py":{"sha256":"6d93f17ed0f0d1dd55157e3dca21486be9da18e62529c320a6fb9e491920133f"},"datadog_checks_base/datadog_checks/base/checks/windows/perf_counters/transformers/__init__.py":{"sha256":"a8b142ebeee6817e16846d57125966018eac45ef4a9870efba31fbc9c2555e92"},"datadog_checks_base/datadog_checks/base/checks/windows/perf_counters/transformers/count.py":{"sha256":"8263467bddb648fe101243270ff9dcf30edba0a616fa65b69f9fbabe975c9a37"},"datadog_checks_base/datadog_checks/base/checks/windows/perf_counters/transformers/gauge.py":{"sha256":"73be1f652e85addc433ba64aa2fa75ee1daf85322691a351d8e2deb35af4d681"},"datadog_checks_base/datadog_checks/base/checks/windows/perf_counters/transformers/monotonic_count.py":{"sha256":"479c167c31bd2e471baab21d49ce9dce3470b40729dabe153ee5456aa3a5ce2d"},"datadog_checks_base/datadog_checks/base/checks/windows/perf_counters/transformers/rate.py":{"sha256":"3e4c739755cf6cfb68fb942b882a23361e5684c4e3c03710c2a63f8b6310052f"},"datadog_checks_base/datadog_checks/base/checks/windows/perf_counters/transformers/service_check.py":{"sha256":"c9d78281e503314ede295fc1c1908d89cb022ce7e8b0d7566a6a0713cc64a707"},"datadog_checks_base/datadog_checks/base/checks/windows/perf_counters/transformers/temporal_percent.py":{"sha256":"0d7bb591864394237bcc0da58cfcc6e8fc54ac532d6d34c07a084f0a390316f4"},"datadog_checks_base/datadog_checks/base/checks/windows/perf_counters/transformers/time_elapsed.py":{"sha256":"6ed4f3d91fd7a79b1345689f0e8f1b6780906c8c093cc6bacd1f6f38233316df"},"datadog_checks_base/datadog_checks/base/checks/windows/perf_counters/utils.py":{"sha256":"a2ffb8f0936f650e8a3c4671cfa5f42187009776d50059ccd79faf9467eab18d"},"datadog_checks_base/datadog_checks/base/checks/windows/perf_counters/utils_win32pdh_fix.py":{"sha256":"9d64eb01b07d5400ff0da693ad2055d8a0e606f8a9185988d38fb00df9f151af"},"datadog_checks_base/datadog_checks/base/config.py":{"sha256":"a9c000e17f6c5d065177041ef0382219ddbdf34541a7549003477af79b57fed5"},"datadog_checks_base/datadog_checks/base/constants.py":{"sha256":"711d7db40a95cac3056dd056a88199a0720a9359064f2a91b029fd15f1503a7c"},"datadog_checks_base/datadog_checks/base/errors.py":{"sha256":"7cf705691df31e94a4328f1ea6f1779517bd2ab1274bc83827475733f9efcecc"},"datadog_checks_base/datadog_checks/base/log.py":{"sha256":"8127f36229a6834cf70e09a7f0da57bb230d8e05f09936e7d0d732517f01d65b"},"datadog_checks_base/datadog_checks/base/stubs/__init__.py":{"sha256":"c2958047dbfb0624db6e64ceea9569b21a9aff3f8f59a613af7df049364bcf77"},"datadog_checks_base/datadog_checks/base/stubs/_util.py":{"sha256":"6431ad41af05ddc1dff3e42f4951cc0780462370bd5600bbb067061af3b46a92"},"datadog_checks_base/datadog_checks/base/stubs/aggregator.py":{"sha256":"6e9e19e949b031c06921dad4420bd3a8dc0ed20b4d779a209017e6dd8af4fa8a"},"datadog_checks_base/datadog_checks/base/stubs/common.py":{"sha256":"646cc5d9d5f2d6e545406746fdbbf3fe930c8942da05ca73adafe4f70a3d7f4e"},"datadog_checks_base/datadog_checks/base/stubs/datadog_agent.py":{"sha256":"7922fb75cdaaf2efd635aab909d876c9ead59478d480001dddd6b16206464728"},"datadog_checks_base/datadog_checks/base/stubs/log.py":{"sha256":"9d7788e4ec8d2915aeebd9f1cf771e01d86a9e496ab7213897acbc34f7bfa74f"},"datadog_checks_base/datadog_checks/base/stubs/similar.py":{"sha256":"dc73bd86dc7d2d5ea945a1356462ac3c4c5abd36e33c73cae9930cd813d88f76"},"datadog_checks_base/datadog_checks/base/stubs/tagging.py":{"sha256":"cf12dd3c2e04a87c46892fc71216da3ac2ffb399d922137c043931d810133aab"},"datadog_checks_base/datadog_checks/base/types.py":{"sha256":"6a76a3652d16d13b31507250c3e24738fd8d49eb82f418ac5d2cbd9804ad9714"},"datadog_checks_base/datadog_checks/base/utils/__init__.py":{"sha256":"4c2d2aee209b36a7188df5396b304da429e2f0b01060e7d8e8500313749910f0"},"datadog_checks_base/datadog_checks/base/utils/_http_utils.py":{"sha256":"c3cc21cf27261b354a94252fef4deb820daa3001744f7779d6307cbb9602e649"},"datadog_checks_base/datadog_checks/base/utils/agent/__init__.py":{"sha256":"a37696bf2dcf872903fe1ed84f7b3adbc3b45b66291e2b3436542c495d4f234e"},"datadog_checks_base/datadog_checks/base/utils/agent/common.py":{"sha256":"d5746c3c959da666f100a2815471813d49b858776f8aad28bee820b69c7b2d6a"},"datadog_checks_base/datadog_checks/base/utils/agent/debug.py":{"sha256":"cde05b34bb7763f5b1a5ff4e74092595d2f2d6098bd14e9b30398e1d20c63373"},"datadog_checks_base/datadog_checks/base/utils/agent/memory.py":{"sha256":"f6f35a21914859b753fdaecbef19e77f12f3246052579e5834b0c64dd4d1ef25"},"datadog_checks_base/datadog_checks/base/utils/agent/packages.py":{"sha256":"9a9924ab4d6c8b3cf3fb431d6ddfedfdd78c6a41c05f5a22675ad21460fe96e1"},"datadog_checks_base/datadog_checks/base/utils/agent/utils.py":{"sha256":"155fe8eab71c53907432b5f299afb8c80aa62a08649734de39fd6785872663ba"},"datadog_checks_base/datadog_checks/base/utils/aws.py":{"sha256":"c3114b5a5545b6fe7f11445db17cc384e45c4e93348c1940a2470c88f575c43f"},"datadog_checks_base/datadog_checks/base/utils/common.py":{"sha256":"3ad98a77914a8e5c09c116e113868898e0563ceccd3d5a9f5d79875e4e0c308c"},"datadog_checks_base/datadog_checks/base/utils/concurrency/__init__.py":{"sha256":"391b2c1396d766e62e6b95022deb067cfbdcad029c0031da0ec5eb5327c0445d"},"datadog_checks_base/datadog_checks/base/utils/concurrency/limiter.py":{"sha256":"8acd99a541237ec2389c11ad5c6d83d1982fd060f7f3f8b98c940291dccf5bf6"},"datadog_checks_base/datadog_checks/base/utils/constants.py":{"sha256":"4304decb8096074340c66dab703fb03d84641328257a4408ac0cc531a6c46b7f"},"datadog_checks_base/datadog_checks/base/utils/containers.py":{"sha256":"4ba73d92f98326e88787d84eeb63db76aae7866e9ed91dcee60187de5e63b4da"},"datadog_checks_base/datadog_checks/base/utils/date.py":{"sha256":"2499aa3fce0281570527472f02632ef04b4ceaff7ab48112b9c40d9bd78a7847"},"datadog_checks_base/datadog_checks/base/utils/db/__init__.py":{"sha256":"1154dcd85b671d62c75c8dccefd8f2327f72a5900c6bd7aa1b710a2c088c17e3"},"datadog_checks_base/datadog_checks/base/utils/db/__init__.pyi":{"sha256":"7b0986c71c89e76c00698c4d65a862da4a0452775d7ef1dc9f71d8c50dd152bd"},"datadog_checks_base/datadog_checks/base/utils/db/core.py":{"sha256":"6d86a7c1722a073b12c4aedbf8e7dbd16d568876c506d2b261d501a2704b7bf4"},"datadog_checks_base/datadog_checks/base/utils/db/health.py":{"sha256":"ae225a2489ceb9814adf2d30347d7d1e88c89173f041a32dbf1bb23c24719d96"},"datadog_checks_base/datadog_checks/base/utils/db/query.py":{"sha256":"f8fcb176aa5b4a1910efc87bb169e0850655b6374b195ae6ef59fc3a91ee3d6e"},"datadog_checks_base/datadog_checks/base/utils/db/schemas.py":{"sha256":"3df1d178300d3774d764f284292fb287ddb44e831a5471198197a64124bb5773"},"datadog_checks_base/datadog_checks/base/utils/db/sql.py":{"sha256":"a2213341afef0bfc3753ae5516b142a101d68f91902cb46548ed027e24a5a780"},"datadog_checks_base/datadog_checks/base/utils/db/sql_commenter.py":{"sha256":"aff79f2ba4c6450c4cffe423fa774425d102938ec9e270858e4572c6ed579af5"},"datadog_checks_base/datadog_checks/base/utils/db/statement_metrics.py":{"sha256":"b13def2f8c1900853652b0e73727635867f6f1270106e8e1d42c6d8333db127c"},"datadog_checks_base/datadog_checks/base/utils/db/timed_cache.py":{"sha256":"6bd2ace4a294bc4c41e863804d74d208b6a656d2c3f75f439fa1e9c1e18ab45c"},"datadog_checks_base/datadog_checks/base/utils/db/transform.py":{"sha256":"1f724df3f305d0f9341da5ef219797d40f2242b3fc281812ef8d4c3de062583a"},"datadog_checks_base/datadog_checks/base/utils/db/types.py":{"sha256":"38b5f63aae7c2503c5043e28a94a422e400fee8bd118dfe2d6f164d44d0df0b8"},"datadog_checks_base/datadog_checks/base/utils/db/utils.py":{"sha256":"ee1f2493b05d19cc42ec47324804be7db657a76bdc4d219ea4eeeed38538d921"},"datadog_checks_base/datadog_checks/base/utils/diagnose.py":{"sha256":"78b31ed2d212a64cd2df2c5547cdc81f1a2b4097c74ff5e2e82ab8cf344dc552"},"datadog_checks_base/datadog_checks/base/utils/discovery/__init__.py":{"sha256":"bcf08e76c4e105c06314944f8439ba22c6463b093c1e5bdc8b009efe5f1d28b9"},"datadog_checks_base/datadog_checks/base/utils/discovery/__init__.pyi":{"sha256":"49c54b5353638fd7a46667b096d6f47142c8e81ca5b2c5477e7e0270f35ecabf"},"datadog_checks_base/datadog_checks/base/utils/discovery/cache.py":{"sha256":"7fd2f703b619a59fa6a59a452308ec6b969bf5c64c1a4a9d7ad76bf44a5a95b2"},"datadog_checks_base/datadog_checks/base/utils/discovery/discovery.py":{"sha256":"9bcc3d55162eefc79dd202af56ee1c84dad1752302aae24edd85359b378e734d"},"datadog_checks_base/datadog_checks/base/utils/discovery/filter.py":{"sha256":"459f13ddb2cfe2e84af0a5f01aa76860c254f4edc402f3924e119ae702d0311f"},"datadog_checks_base/datadog_checks/base/utils/fips.py":{"sha256":"bf19b72bbc1340a61e9cfd4b6d793ba6627c580ea5dfaec14c918134ed0392f4"},"datadog_checks_base/datadog_checks/base/utils/format/__init__.py":{"sha256":"315b8b9d1858f958ca223629dc539346f2273b8a942c538d581091c9ac353b00"},"datadog_checks_base/datadog_checks/base/utils/format/_json.py":{"sha256":"09ae88905257e012aeaa1140946596b1e1e605213101cba78946895159f0c302"},"datadog_checks_base/datadog_checks/base/utils/format/json.py":{"sha256":"1b2f3873d974ccecbbdf5a820e2cb6d47a616620b7c36c12e8e45aebae0c1d9d"},"datadog_checks_base/datadog_checks/base/utils/functions.py":{"sha256":"8869726f147a68f3c494dc4d6f610b3b36e4df6f23f4e541031ade749c5d091c"},"datadog_checks_base/datadog_checks/base/utils/hashing.py":{"sha256":"74d01edd152f77b4c4dd699c0d7e9261085368c5ecc710c7b9ee1f3e416e2f94"},"datadog_checks_base/datadog_checks/base/utils/headers.py":{"sha256":"d1249d0bbd63c1a07ad413837eeb1a84256bd5ce7a1af4fd8b0b7b72275c1cfd"},"datadog_checks_base/datadog_checks/base/utils/http.py":{"sha256":"78f4b32fbc7fc6c6f57675c9c94d9f057220394d29e541592291b6017fe36590"},"datadog_checks_base/datadog_checks/base/utils/limiter.py":{"sha256":"6114eb3c25f54b912d1cb55c3fff8611fcd1a2db3f2d3732d5ffee1d956cf748"},"datadog_checks_base/datadog_checks/base/utils/metadata/__init__.py":{"sha256":"1154dcd85b671d62c75c8dccefd8f2327f72a5900c6bd7aa1b710a2c088c17e3"},"datadog_checks_base/datadog_checks/base/utils/metadata/__init__.pyi":{"sha256":"595a2fd3b68f28477275ccbc7b902177d08c4ff0dc43188eb42aa31b1d6449fe"},"datadog_checks_base/datadog_checks/base/utils/metadata/constants.py":{"sha256":"5c77cfc2f40c6f2344d8562607fed7c968862343761b17415dbb572f87839e27"},"datadog_checks_base/datadog_checks/base/utils/metadata/core.py":{"sha256":"eeb20aadfc3594d02870ef4705dd8cebf83e70a10fdaf99838e3cee8e926b939"},"datadog_checks_base/datadog_checks/base/utils/metadata/utils.py":{"sha256":"d3756946a79fa280add151008bd06fa25643de6dfeba14f6af642e276c5ce03e"},"datadog_checks_base/datadog_checks/base/utils/metadata/version.py":{"sha256":"ad0ebf687a6b0387530a47943306dd04dbf048e969385efadf6b16dbae2c75bb"},"datadog_checks_base/datadog_checks/base/utils/models/__init__.py":{"sha256":"b2e1a32eb8591a9d541a935aa5c56f20fa7ebbc3de68cf24df3a650198f2712a"},"datadog_checks_base/datadog_checks/base/utils/models/types.py":{"sha256":"c9b504a7dcffac396bdbea089158c4581fa6440bd4c28103a4051c6504c4208c"},"datadog_checks_base/datadog_checks/base/utils/models/validation/__init__.py":{"sha256":"c2730cf9d93ee0f59e226c39111fdb64ab6cf5c3f8111ec8523d679493143793"},"datadog_checks_base/datadog_checks/base/utils/models/validation/core.py":{"sha256":"e58a070f63eaceeaf03c6d4405758c81737dd7d569f3b358001e004dd440fcff"},"datadog_checks_base/datadog_checks/base/utils/models/validation/security.py":{"sha256":"d0c0f2c42bb92ecccb6521d5782fe2ae178fb9eec59b6fccc34db0de57dc5b7c"},"datadog_checks_base/datadog_checks/base/utils/models/validation/utils.py":{"sha256":"24be22141ff0da08f870aca800b92e11a2218195a36434016cc982e14e1fafa5"},"datadog_checks_base/datadog_checks/base/utils/persistent_cache.py":{"sha256":"d539347645991fcc87e08fdb319827861cf68dc65c232bbce5d36906fcb996c3"},"datadog_checks_base/datadog_checks/base/utils/platform.py":{"sha256":"c16f1fe972a8e091f1beed6c3740e92c39988d2fdc0aef06a0abdf4e3223e323"},"datadog_checks_base/datadog_checks/base/utils/prometheus/__init__.py":{"sha256":"a4d2d7db491726bb500c88450fa8e79c8135f2f175f4c7402809b7e1a3a583bc"},"datadog_checks_base/datadog_checks/base/utils/prometheus/__init__.pyi":{"sha256":"e774ac8fb7cffb2caf624f3990e79b517e487be6e61e31fe6d52989fd5f8ed67"},"datadog_checks_base/datadog_checks/base/utils/prometheus/functions.py":{"sha256":"c674f283d8937acffcde65a57351acf05150d6349163e94b3e8e530801626f2b"},"datadog_checks_base/datadog_checks/base/utils/prometheus/metrics_pb2.py":{"sha256":"8bfee9b8006b7cde3209393ebe13b0dc617fff94386a20f12b25efb5069df6ca"},"datadog_checks_base/datadog_checks/base/utils/replay/__init__.py":{"sha256":"391b2c1396d766e62e6b95022deb067cfbdcad029c0031da0ec5eb5327c0445d"},"datadog_checks_base/datadog_checks/base/utils/replay/constants.py":{"sha256":"7b10c6b0380b23bbb5196bde7a55dd8335894e3c47a18266413ee8ef0d4509e3"},"datadog_checks_base/datadog_checks/base/utils/replay/execute.py":{"sha256":"bcbec84fbff28e18eda93b4bc4a8944571480ba4997db388fb9a6acc9c0d202b"},"datadog_checks_base/datadog_checks/base/utils/replay/redirect.py":{"sha256":"44b93f734216035c3ec66afa750c16eca185909b750740e6417e55591b48a559"},"datadog_checks_base/datadog_checks/base/utils/secrets.py":{"sha256":"4e3e4c04ea321975c3581dc7afeed4283cb9195d4d6499053d8e13e2ff4f1c78"},"datadog_checks_base/datadog_checks/base/utils/serialization.py":{"sha256":"a5c454cd92146643ac7e718319bc5e530197ad2b0597ff6b2e10347a40ff019f"},"datadog_checks_base/datadog_checks/base/utils/subprocess_output.py":{"sha256":"0dbab19fc163a3b7f78e5fbc1363b0ddc564462eab3681f9e3bfe27ccb0ba95c"},"datadog_checks_base/datadog_checks/base/utils/tagging.py":{"sha256":"6bed3fa5718ec20e1ec260e22689fbaccffde9926f5691d5330872d49e51ac42"},"datadog_checks_base/datadog_checks/base/utils/tailfile.py":{"sha256":"419987f1e0b17829455913199facc3c203b1d72e5d017739c88feecc40a3d1a9"},"datadog_checks_base/datadog_checks/base/utils/time.py":{"sha256":"70dcbb0adb09cd250c8bb27edd645e65552f37260e1a427022da89318d35aaa0"},"datadog_checks_base/datadog_checks/base/utils/timeout.py":{"sha256":"78e059a1f14dfa13aee7125e30e17769cfe87dccbd118ebe92f981bcfe101058"},"datadog_checks_base/datadog_checks/base/utils/tls.py":{"sha256":"b68ff7dcc692123be8eb3bea466f60291c7f664f40caae77b67662b8abcdcb6e"},"datadog_checks_base/datadog_checks/base/utils/tracing.py":{"sha256":"d9066340a34abe8c11605a6a390738b14a18516bba249289a1f93eaefb2d5206"},"datadog_checks_base/datadog_checks/base/utils/tracking.py":{"sha256":"158228baabb7281f89b31831335897e48a6ffdc5a1b3ccd03933784b15ce909e"},"datadog_checks_base/datadog_checks/checks/__init__.py":{"sha256":"76381faa72acfce6863031501a53b955d2d047150023e5f828424b2e53e95483"},"datadog_checks_base/datadog_checks/checks/base.py":{"sha256":"df061b86e80d0375a5aedffe104a4198949297c9472ae52dad13fe9d5d8a05f4"},"datadog_checks_base/datadog_checks/checks/libs/__init__.py":{"sha256":"2300c3103843a8f3d4d63e0fcaf78691dbb508cbfd91b7de2bdd0802f981c777"},"datadog_checks_base/datadog_checks/checks/libs/thread_pool.py":{"sha256":"747147080f5d03c2742e233e4bd635d4c58abff8cf5c803fe5881f776c1603b4"},"datadog_checks_base/datadog_checks/checks/libs/timer.py":{"sha256":"a35b1970916e9035ae71d185b6506bbd2b798e26ef1b7b91fc3b30788b19dd49"},"datadog_checks_base/datadog_checks/checks/libs/vmware/__init__.py":{"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"datadog_checks_base/datadog_checks/checks/libs/vmware/all_metrics.py":{"sha256":"849ca20bfd3b86aa8c8eeb88732b4026fd8a0e74a0a96ab6cbe269270b71a8c3"},"datadog_checks_base/datadog_checks/checks/libs/vmware/basic_metrics.py":{"sha256":"683af414d39b8d77d66fd97146999de4bd7a7be9ab934ed9224867a0b74c099f"},"datadog_checks_base/datadog_checks/checks/libs/wmi/__init__.py":{"sha256":"2300c3103843a8f3d4d63e0fcaf78691dbb508cbfd91b7de2bdd0802f981c777"},"datadog_checks_base/datadog_checks/checks/libs/wmi/sampler.py":{"sha256":"e3c981d33289c55ada249abeb51b1c5095c06cb11b9991f9a4228a695251e455"},"datadog_checks_base/datadog_checks/checks/network.py":{"sha256":"e5b7d11f19ac5286897259c2ac1e8209ee7bee94df199d5155e1b174cce6afbc"},"datadog_checks_base/datadog_checks/checks/network_checks.py":{"sha256":"cdb77741ebeaa7b6a13616873b5725009b7566a77ceef013fe5dd1c76cbdd81b"},"datadog_checks_base/datadog_checks/checks/openmetrics/__init__.py":{"sha256":"96b910b1c359a0b37a0a8753b6e1e50c803ae35bf4f1e7a31418678cf16792c0"},"datadog_checks_base/datadog_checks/checks/openmetrics/base_check.py":{"sha256":"a9ccd2133baa1058f744e494e2bb43cb5221fbbb41b6c3b8a0553ead7f6a851f"},"datadog_checks_base/datadog_checks/checks/openmetrics/mixins.py":{"sha256":"b5b9cf9d77c8dda6d752a4d37d303405fa1935ac071b17a4e8b055160b7d2a28"},"datadog_checks_base/datadog_checks/checks/prometheus/__init__.py":{"sha256":"a12ac852908b6eb9f3b594e893c41a38951a9a1e030b6286c20e76aec9965c8b"},"datadog_checks_base/datadog_checks/checks/prometheus/base_check.py":{"sha256":"882984f28171bfde4a2c34c25f609b5a758917f0c9b9e00b2ba9a0d489ba1e19"},"datadog_checks_base/datadog_checks/checks/prometheus/mixins.py":{"sha256":"aa652ec3963f90c1e7c552d35243d3863f737fa9de5e45131ca55758c5e00de5"},"datadog_checks_base/datadog_checks/checks/prometheus/prometheus_base.py":{"sha256":"434576db21c019a7366f5350b8e305c0790509aadd9cbd980f6c3ac22b87874f"},"datadog_checks_base/datadog_checks/checks/prometheus_check/__init__.py":{"sha256":"9b5434e894e03018e342ee726f635de62122bf0e1d8f59d3f0109f89a95d890d"},"datadog_checks_base/datadog_checks/checks/win/__init__.py":{"sha256":"4441d475ac7181f8e7edf1037da1310d776c647883d0362a5acfb88e44e4d45e"},"datadog_checks_base/datadog_checks/checks/win/winpdh.py":{"sha256":"864f9f437a351bb82a2962e15a1198cc6271f9cc25c3c73522402954fa42ef9e"},"datadog_checks_base/datadog_checks/checks/win/winpdh_base.py":{"sha256":"269e7c39a6562687aa6ad022b1b88c85b5f6be403c11a8412775b3c55715196e"},"datadog_checks_base/datadog_checks/checks/win/winpdh_stub.py":{"sha256":"a1895061a3be05415b331c1b17d2c02b1f912f36ed238948c46d7af68025d7ed"},"datadog_checks_base/datadog_checks/checks/win/wmi/__init__.py":{"sha256":"51008a1bf148ec1c7bc0bb8f6ad3be19ba950e6c13b5cb84a2fd2684fb66327e"},"datadog_checks_base/datadog_checks/checks/win/wmi/counter_type.py":{"sha256":"01ac5dc9d1518c74c4b621a1da0b901da5ffc954abcf81972f8e478abdb098a7"},"datadog_checks_base/datadog_checks/checks/win/wmi/sampler.py":{"sha256":"bbfeea3683c40059f5e1ff52fc459e82200727041a187328d65f58b92b445cdd"},"datadog_checks_base/datadog_checks/checks/winwmi_check.py":{"sha256":"907ea75f4055e675b732171687ce6148d6484d067b36726b942b4e9c5e1d747b"},"datadog_checks_base/datadog_checks/config.py":{"sha256":"3eb01719d94b9e857654c41f7ff9e849a489274c20e010221a7c3b8c240b4a29"},"datadog_checks_base/datadog_checks/errors.py":{"sha256":"785c269eb5fe6dab4881bbbe889cac7aa00f34eff8ae4d54b9a28af3d7af2e18"},"datadog_checks_base/datadog_checks/log.py":{"sha256":"a2bbce80c286344b2a4932da942010a563fea2ea2ba46d40ec69fe8f69910fcd"},"datadog_checks_base/datadog_checks/py.typed":{"sha256":"95aebb28195b8d737effe0df18d71d39c8d8ba6569286fd3930fbc9f9767181e"},"datadog_checks_base/datadog_checks/stubs/__init__.py":{"sha256":"331c49e4d1a353ded64777893a96906746f386f03cf32b30135aa260665377ec"},"datadog_checks_base/datadog_checks/stubs/_util.py":{"sha256":"9989e9f7fbeca50c1359c06188f60c309dc421c40f4a9a407147d18c42c180b5"},"datadog_checks_base/datadog_checks/stubs/aggregator.py":{"sha256":"ea230225c9c41fbb1885a38741cccf1809034d9b1fd696eb6efde1de6bfba762"},"datadog_checks_base/datadog_checks/stubs/datadog_agent.py":{"sha256":"b167bb8f650441e0f3762aa3e0ffe73e1921157f34ff90abe47723db963ec6bf"},"datadog_checks_base/datadog_checks/utils/__init__.py":{"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"datadog_checks_base/datadog_checks/utils/common.py":{"sha256":"470a0220a572f2f6df6b61353fb63b82447d569274d15b6e3f5f0c12b5e7f6b9"},"datadog_checks_base/datadog_checks/utils/containers.py":{"sha256":"ca56286c527f7d5f940b0baf5a66a4eba6ad2df036759f6000b0985835c63a29"},"datadog_checks_base/datadog_checks/utils/headers.py":{"sha256":"8f92abe525d4947ba4dd41870d0367f4cda884df95e57d9fce62718f0e8fe8da"},"datadog_checks_base/datadog_checks/utils/limiter.py":{"sha256":"1aad3f848119c3aaa92394962ffbb331a22991bcef173b242347a54cffef22c1"},"datadog_checks_base/datadog_checks/utils/platform.py":{"sha256":"76ca8472c0bf63b866e28aea3bc449e4de63905a41ee9c8662f09e5eb6fef571"},"datadog_checks_base/datadog_checks/utils/prometheus/__init__.py":{"sha256":"f16c179ccf60d6c7d2e76ebb4180895ff85df0c665e6446006043f4b374d757b"},"datadog_checks_base/datadog_checks/utils/prometheus/functions.py":{"sha256":"e2f5ac4c62e0ba31f0758668d2d940424a833c7a1fa9424cde4f5e22d26a1114"},"datadog_checks_base/datadog_checks/utils/prometheus/metrics_pb2.py":{"sha256":"c60dd47541dee138de478b35dcb50a6765355954ade94eb38ec5511ba957e9d7"},"datadog_checks_base/datadog_checks/utils/proxy.py":{"sha256":"723edeaf00a1ee813aa4a6467fc34c3ae419f354c6b6172de678e39b864a8bd7"},"datadog_checks_base/datadog_checks/utils/subprocess_output.py":{"sha256":"80dea34445564d9eee264533455310e69c72b4d640e369ea8c97a365717a64c2"},"datadog_checks_base/datadog_checks/utils/tailfile.py":{"sha256":"6c4aa2725fac2e0cb0f660f545d5a8b3c1954a50a49f1e58c86ddf5cc068c137"},"datadog_checks_base/datadog_checks/utils/timeout.py":{"sha256":"42e848b0a6686bf335dfe8040b07acbb9219c12317cfdf564f0a9a974262c913"},"datadog_checks_base/datadog_checks/utils/tracing.py":{"sha256":"1d06d06a428cf8bc3be4c0e422d6982588a94ba60edb867fca60d5c43b31e435"},"datadog_checks_base/pyproject.toml":{"sha256":"8bf2d84d119a60fe598c8bd1f8942028f30bdd51e34e04d43c21016e104fcbf5"}}}} \ No newline at end of file diff --git a/adyen/assets/logs/adyen.yaml b/adyen/assets/logs/adyen.yaml index 30eaaf3f84b3f..74111fc57362c 100644 --- a/adyen/assets/logs/adyen.yaml +++ b/adyen/assets/logs/adyen.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: adyen metric_id: adyen backend_only: false diff --git a/arctic_wolf_aurora_endpoint_security/assets/logs/arctic-wolf-aurora-endpoint-security.yaml b/arctic_wolf_aurora_endpoint_security/assets/logs/arctic-wolf-aurora-endpoint-security.yaml index 1eb3559fab484..85cb55004c16f 100644 --- a/arctic_wolf_aurora_endpoint_security/assets/logs/arctic-wolf-aurora-endpoint-security.yaml +++ b/arctic_wolf_aurora_endpoint_security/assets/logs/arctic-wolf-aurora-endpoint-security.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: arctic-wolf-aurora-endpoint-security metric_id: arctic-wolf-aurora-endpoint-security backend_only: false diff --git a/authorize_net/assets/logs/authorize-net.yaml b/authorize_net/assets/logs/authorize-net.yaml index 1dbf327d41995..e44f445886a10 100644 --- a/authorize_net/assets/logs/authorize-net.yaml +++ b/authorize_net/assets/logs/authorize-net.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: authorize-net metric_id: authorize-net backend_only: false diff --git a/avast/assets/logs/avast.yaml b/avast/assets/logs/avast.yaml index 7a5f807386456..db1c17e03294c 100644 --- a/avast/assets/logs/avast.yaml +++ b/avast/assets/logs/avast.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: avast metric_id: avast backend_only: false diff --git a/bentoml/assets/logs/bentoml.yaml b/bentoml/assets/logs/bentoml.yaml index ee6fae3fd7e2a..207b01f500ff1 100644 --- a/bentoml/assets/logs/bentoml.yaml +++ b/bentoml/assets/logs/bentoml.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: bentoml metric_id: bentoml backend_only: false diff --git a/beyondtrust_identity_security_insights/assets/logs/beyondtrust-identity-security-insights.yaml b/beyondtrust_identity_security_insights/assets/logs/beyondtrust-identity-security-insights.yaml index 7eb3cfe941aa4..569dbeba503c3 100644 --- a/beyondtrust_identity_security_insights/assets/logs/beyondtrust-identity-security-insights.yaml +++ b/beyondtrust_identity_security_insights/assets/logs/beyondtrust-identity-security-insights.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: beyondtrust-identity-security-insights metric_id: beyondtrust-identity-security-insights backend_only: false diff --git a/beyondtrust_password_safe/assets/logs/beyondtrust-password-safe.yaml b/beyondtrust_password_safe/assets/logs/beyondtrust-password-safe.yaml index 7a9c94064e6f7..198db46133f47 100644 --- a/beyondtrust_password_safe/assets/logs/beyondtrust-password-safe.yaml +++ b/beyondtrust_password_safe/assets/logs/beyondtrust-password-safe.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: beyondtrust-password-safe metric_id: beyondtrust-password-safe backend_only: false diff --git a/bitdefender/assets/logs/bitdefender.yaml b/bitdefender/assets/logs/bitdefender.yaml index 5c2765262ef59..7898954e7624e 100644 --- a/bitdefender/assets/logs/bitdefender.yaml +++ b/bitdefender/assets/logs/bitdefender.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: bitdefender metric_id: bitdefender backend_only: false diff --git a/box/assets/logs/box.yaml b/box/assets/logs/box.yaml index 870a2760abcad..a63b227e3769c 100644 --- a/box/assets/logs/box.yaml +++ b/box/assets/logs/box.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: box metric_id: box backend_only: false diff --git a/brevo/assets/logs/brevo.yaml b/brevo/assets/logs/brevo.yaml index d89f9cfdb293a..4655da857d827 100644 --- a/brevo/assets/logs/brevo.yaml +++ b/brevo/assets/logs/brevo.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: brevo metric_id: brevo backend_only: false diff --git a/carbon_black_cloud/assets/logs/carbon-black-cloud.yaml b/carbon_black_cloud/assets/logs/carbon-black-cloud.yaml index eabfc0699ed99..101e5cd626fdf 100644 --- a/carbon_black_cloud/assets/logs/carbon-black-cloud.yaml +++ b/carbon_black_cloud/assets/logs/carbon-black-cloud.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks # bypass-global-missing-date-remapper-checks id: carbon-black-cloud metric_id: carbon-black-cloud diff --git a/cato_networks/assets/logs/cato-networks.yaml b/cato_networks/assets/logs/cato-networks.yaml index e4e3f5f120cb4..092bdc3337654 100644 --- a/cato_networks/assets/logs/cato-networks.yaml +++ b/cato_networks/assets/logs/cato-networks.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: cato-networks metric_id: cato-networks backend_only: false diff --git a/checkpoint_harmony_email_and_collaboration/assets/logs/checkpoint-harmony-email-and-collaboration.yaml b/checkpoint_harmony_email_and_collaboration/assets/logs/checkpoint-harmony-email-and-collaboration.yaml index 0211a19595a24..828749218d3af 100644 --- a/checkpoint_harmony_email_and_collaboration/assets/logs/checkpoint-harmony-email-and-collaboration.yaml +++ b/checkpoint_harmony_email_and_collaboration/assets/logs/checkpoint-harmony-email-and-collaboration.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: checkpoint-harmony-email-and-collaboration metric_id: checkpoint-harmony-email-and-collaboration backend_only: false diff --git a/checkpoint_quantum_firewall/assets/logs/checkpoint-quantum-firewall.yaml b/checkpoint_quantum_firewall/assets/logs/checkpoint-quantum-firewall.yaml index 4949524d22455..5a900aecc1a15 100644 --- a/checkpoint_quantum_firewall/assets/logs/checkpoint-quantum-firewall.yaml +++ b/checkpoint_quantum_firewall/assets/logs/checkpoint-quantum-firewall.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: checkpoint-quantum-firewall metric_id: checkpoint-quantum-firewall backend_only: false diff --git a/cisco_asa/assets/logs/cisco-asa.yaml b/cisco_asa/assets/logs/cisco-asa.yaml index 1919de6187b6e..f21b20c84c30c 100644 --- a/cisco_asa/assets/logs/cisco-asa.yaml +++ b/cisco_asa/assets/logs/cisco-asa.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: cisco-asa metric_id: cisco-asa backend_only: false diff --git a/cisco_duo/assets/logs/cisco-duo.yaml b/cisco_duo/assets/logs/cisco-duo.yaml index e3bd9dfe182e9..411465bc21476 100644 --- a/cisco_duo/assets/logs/cisco-duo.yaml +++ b/cisco_duo/assets/logs/cisco-duo.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: cisco-duo metric_id: cisco-duo backend_only: false diff --git a/cisco_secure_email_threat_defense/assets/logs/cisco-secure-email-threat-defense.yaml b/cisco_secure_email_threat_defense/assets/logs/cisco-secure-email-threat-defense.yaml index 4c62e6945e39a..381301bf13c24 100644 --- a/cisco_secure_email_threat_defense/assets/logs/cisco-secure-email-threat-defense.yaml +++ b/cisco_secure_email_threat_defense/assets/logs/cisco-secure-email-threat-defense.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: cisco-secure-email-threat-defense metric_id: cisco-secure-email-threat-defense backend_only: false diff --git a/cisco_secure_endpoint/assets/logs/cisco-secure-endpoint.yaml b/cisco_secure_endpoint/assets/logs/cisco-secure-endpoint.yaml index b404c0f42018d..29db879c7850a 100644 --- a/cisco_secure_endpoint/assets/logs/cisco-secure-endpoint.yaml +++ b/cisco_secure_endpoint/assets/logs/cisco-secure-endpoint.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: cisco-secure-endpoint metric_id: cisco-secure-endpoint backend_only: false diff --git a/cisco_secure_web_appliance/assets/logs/cisco-secure-web-appliance.yaml b/cisco_secure_web_appliance/assets/logs/cisco-secure-web-appliance.yaml index bcab3dba9f097..1609490c1860c 100644 --- a/cisco_secure_web_appliance/assets/logs/cisco-secure-web-appliance.yaml +++ b/cisco_secure_web_appliance/assets/logs/cisco-secure-web-appliance.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: cisco-secure-web-appliance metric_id: cisco-secure-web-appliance backend_only: false diff --git a/cisco_umbrella_dns/assets/logs/cisco-umbrella-dns.yaml b/cisco_umbrella_dns/assets/logs/cisco-umbrella-dns.yaml index 36a932fc7d4fb..85e9bf03d5947 100644 --- a/cisco_umbrella_dns/assets/logs/cisco-umbrella-dns.yaml +++ b/cisco_umbrella_dns/assets/logs/cisco-umbrella-dns.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: cisco-umbrella-dns metric_id: cisco-umbrella-dns backend_only: false diff --git a/cofense_triage/assets/logs/cofense-triage.yaml b/cofense_triage/assets/logs/cofense-triage.yaml index b124a6fc3abfc..bb6c2ce52f758 100644 --- a/cofense_triage/assets/logs/cofense-triage.yaml +++ b/cofense_triage/assets/logs/cofense-triage.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: cofense-triage metric_id: cofense-triage backend_only: false diff --git a/datadog_checks_base/CHANGELOG.md b/datadog_checks_base/CHANGELOG.md index 6ba496ece164a..953cbe85b56d3 100644 --- a/datadog_checks_base/CHANGELOG.md +++ b/datadog_checks_base/CHANGELOG.md @@ -2,6 +2,12 @@ +## 37.34.1 / 2026-04-02 + +***Fixed***: + +* Fix logging when using process_isolation parameter. ([#23136](https://github.com/DataDog/integrations-core/pull/23136)) + ## 37.34.0 / 2026-04-01 ***Added***: @@ -15,6 +21,12 @@ * Fix process_isolation parameter to handle log formats and external tags. ([#22973](https://github.com/DataDog/integrations-core/pull/22973)) * Reduce allocations in `StatementMetrics` by deferring dict construction and updating the previous-statements cache in place. ([#23075](https://github.com/DataDog/integrations-core/pull/23075)) +## 37.33.1 / 2026-03-27 + +***Fixed***: + +* Bump PyJWT to 2.12.1 to address CVE-2026-32597. ([#23065](https://github.com/DataDog/integrations-core/pull/23065)) + ## 37.33.0 / 2026-03-20 ***Added***: diff --git a/datadog_checks_base/changelog.d/23140.added b/datadog_checks_base/changelog.d/23140.added new file mode 100644 index 0000000000000..a2bd677106153 --- /dev/null +++ b/datadog_checks_base/changelog.d/23140.added @@ -0,0 +1 @@ +Improve compile-time error messages for invalid syntax in DB query extras expressions diff --git a/datadog_checks_base/datadog_checks/base/__about__.py b/datadog_checks_base/datadog_checks/base/__about__.py index a3442b9174a30..18af61854ad0c 100644 --- a/datadog_checks_base/datadog_checks/base/__about__.py +++ b/datadog_checks_base/datadog_checks/base/__about__.py @@ -1,4 +1,4 @@ # (C) Datadog, Inc. 2018-present # All rights reserved # Licensed under a 3-clause BSD style license (see LICENSE) -__version__ = "37.34.0" +__version__ = "37.34.1" diff --git a/datadog_checks_base/datadog_checks/base/utils/db/transform.py b/datadog_checks_base/datadog_checks/base/utils/db/transform.py index 5c36fffe708e2..0e96003fceb2a 100644 --- a/datadog_checks_base/datadog_checks/base/utils/db/transform.py +++ b/datadog_checks_base/datadog_checks/base/utils/db/transform.py @@ -3,6 +3,7 @@ # Licensed under a 3-clause BSD style license (see LICENSE) from __future__ import division +import ast import re import time from datetime import datetime @@ -31,6 +32,70 @@ SOURCE_PATTERN = r'(? None: + for node in ast.walk(tree): + node_type = type(node) + if node_type not in _ALLOWED_AST_NODES: + raise ValueError('expression for {} contains unsupported syntax `{}`'.format(name, node_type.__name__)) + if node_type is ast.Attribute and node.attr.startswith('__'): + raise ValueError( + 'expression for {} accesses reserved attribute `{}`; reference source columns by name directly'.format( + name, node.attr + ) + ) + + def get_tag(transformers, column_name, **modifiers): # type: (Dict[str, Transformer], str, Any) -> Transformer """ @@ -405,7 +470,9 @@ def get_expression(transformers, name, **modifiers): expression, ) - expression = compile(expression, filename=name, mode='eval') + tree = ast.parse(expression, filename=name, mode='eval') + _validate_expression_ast(tree, name) + expression = compile(tree, filename=name, mode='eval') del available_sources diff --git a/datadog_checks_base/datadog_checks/base/utils/replay/execute.py b/datadog_checks_base/datadog_checks/base/utils/replay/execute.py index 20ffc09fcc51c..3d6df2ea163aa 100644 --- a/datadog_checks_base/datadog_checks/base/utils/replay/execute.py +++ b/datadog_checks_base/datadog_checks/base/utils/replay/execute.py @@ -91,10 +91,11 @@ def _kill_on_timeout(): if message_type == 'aggregator': getattr(aggregator, message['method'])(check, *message['args'], **message['kwargs']) elif message_type == 'log': - getattr(check.log, message['method'])(*message['args']) + args = message.get('args', []) + if args: + getattr(check.log, message['method'])(args[0]) elif message_type == 'datadog_agent': method = message['method'] - value = getattr(datadog_agent, method)(*message['args'], **message['kwargs']) args = message['args'] if method == 'set_external_tags': args = [[tuple(item) for item in args[0]]] diff --git a/datadog_checks_base/tests/base/utils/db/test_query_manager.py b/datadog_checks_base/tests/base/utils/db/test_query_manager.py index ffb03f5042ecb..bc80fd305b923 100644 --- a/datadog_checks_base/tests/base/utils/db/test_query_manager.py +++ b/datadog_checks_base/tests/base/utils/db/test_query_manager.py @@ -616,6 +616,52 @@ def test_expression_submit_type_unknown(self): ): query_manager.compile_queries() + @pytest.mark.parametrize( + 'expression, match', + [ + pytest.param('f"total: {disk.total}"', r'contains unsupported syntax `JoinedStr`', id='f-string'), + pytest.param('sum(x for x in values)', r'contains unsupported syntax `GeneratorExp`', id='generator-expr'), + pytest.param('[x * 2 for x in values]', r'contains unsupported syntax `ListComp`', id='list-comp'), + pytest.param('{k: v for k, v in items}', r'contains unsupported syntax `DictComp`', id='dict-comp'), + pytest.param('(n := disk.total + disk.used)', r'contains unsupported syntax `NamedExpr`', id='walrus'), + pytest.param('lambda x: x + 1', r'contains unsupported syntax `Lambda`', id='lambda'), + pytest.param('result.__class__', r'accesses reserved attribute `__class__`', id='dunder-attr'), + ], + ) + def test_expression_invalid_syntax(self, expression, match): + query_manager = create_query_manager( + { + 'name': 'test query', + 'query': 'foo', + 'columns': [{'name': 'test.foo', 'type': 'source'}], + 'extras': [{'name': 'result', 'type': 'expression', 'expression': expression, 'verbose': True}], + 'tags': ['test:bar'], + } + ) + with pytest.raises(ValueError, match=match): + query_manager.compile_queries() + + @pytest.mark.parametrize( + 'expression', + [ + pytest.param('disk.total - disk.used', id='arithmetic'), + pytest.param('min(a, b)', id='function-call'), + pytest.param('tags[0]', id='subscript'), + pytest.param('a if condition else b', id='ternary'), + ], + ) + def test_expression_valid_syntax(self, expression): + query_manager = create_query_manager( + { + 'name': 'test query', + 'query': 'foo', + 'columns': [{'name': 'test.foo', 'type': 'source'}], + 'extras': [{'name': 'result', 'type': 'expression', 'expression': expression, 'verbose': True}], + 'tags': ['test:bar'], + } + ) + query_manager.compile_queries() + @pytest.mark.parametrize('expression', ['import os', 'raise Exception', 'foo = 5']) def test_expression_compile_error(self, expression): query_manager = create_query_manager( diff --git a/datadog_checks_base/tests/base/utils/replay/test_check.py b/datadog_checks_base/tests/base/utils/replay/test_check.py index 031dcc4958c4e..af10f72c21e40 100644 --- a/datadog_checks_base/tests/base/utils/replay/test_check.py +++ b/datadog_checks_base/tests/base/utils/replay/test_check.py @@ -73,6 +73,7 @@ class ReplayCheckBadLog(AgentCheck): def check(self, _): self.log.debug('TypeError format: %d', 'not_a_number') self.log.debug('OverflowError format: %c', 2**32) + self.log.info('Replayed ok with %d arg', 1) def test_replay_skips_invalid_log_format(caplog, dd_run_check, aggregator, datadog_agent): @@ -86,6 +87,7 @@ def test_replay_skips_invalid_log_format(caplog, dd_run_check, aggregator, datad assert 'TypeError format' not in caplog.text assert 'OverflowError format' not in caplog.text + assert 'Replayed ok with 1 arg' in caplog.text class SlowReplayCheck(AgentCheck): diff --git a/delinea_privilege_manager/assets/logs/delinea-privilege-manager.yaml b/delinea_privilege_manager/assets/logs/delinea-privilege-manager.yaml index 3149daa246879..b8fe15948e410 100644 --- a/delinea_privilege_manager/assets/logs/delinea-privilege-manager.yaml +++ b/delinea_privilege_manager/assets/logs/delinea-privilege-manager.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks # bypass-global-grok-parser-rules-checks id: delinea-privilege-manager metric_id: delinea-privilege-manager diff --git a/eset_protect/assets/logs/eset-protect.yaml b/eset_protect/assets/logs/eset-protect.yaml index cb81cb56b6c43..e872df2fc1d37 100644 --- a/eset_protect/assets/logs/eset-protect.yaml +++ b/eset_protect/assets/logs/eset-protect.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: eset-protect metric_id: eset-protect backend_only: false diff --git a/extrahop/assets/logs/extrahop.yaml b/extrahop/assets/logs/extrahop.yaml index fe8fdc484c9af..7a247101b0456 100644 --- a/extrahop/assets/logs/extrahop.yaml +++ b/extrahop/assets/logs/extrahop.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: extrahop metric_id: extrahop backend_only: false diff --git a/fly_io/assets/logs/fly_io.yaml b/fly_io/assets/logs/fly_io.yaml index 7cd8ff9ad268d..6125aaf46acdc 100644 --- a/fly_io/assets/logs/fly_io.yaml +++ b/fly_io/assets/logs/fly_io.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks # bypass-global-missing-date-remapper-checks id: fly_io metric_id: fly-io diff --git a/forcepoint_secure_web_gateway/assets/logs/forcepoint-secure-web-gateway.yaml b/forcepoint_secure_web_gateway/assets/logs/forcepoint-secure-web-gateway.yaml index 8063c7e726864..e33bbaa4c70c0 100644 --- a/forcepoint_secure_web_gateway/assets/logs/forcepoint-secure-web-gateway.yaml +++ b/forcepoint_secure_web_gateway/assets/logs/forcepoint-secure-web-gateway.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks # bypass-global-grok-parser-count-per-pipeline-checks id: forcepoint-secure-web-gateway metric_id: forcepoint-secure-web-gateway diff --git a/forcepoint_security_service_edge/assets/logs/forcepoint-security-service-edge.yaml b/forcepoint_security_service_edge/assets/logs/forcepoint-security-service-edge.yaml index 6541fe94dce66..8cc46dfddfc26 100644 --- a/forcepoint_security_service_edge/assets/logs/forcepoint-security-service-edge.yaml +++ b/forcepoint_security_service_edge/assets/logs/forcepoint-security-service-edge.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks # bypass-global-grok-parser-count-per-pipeline-checks id: forcepoint-security-service-edge metric_id: forcepoint-security-service-edge diff --git a/forescout/assets/logs/forescout.yaml b/forescout/assets/logs/forescout.yaml index fa8ae848f8afa..ba88c18d98f48 100644 --- a/forescout/assets/logs/forescout.yaml +++ b/forescout/assets/logs/forescout.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: forescout metric_id: forescout backend_only: false diff --git a/genesys/assets/logs/genesys.yaml b/genesys/assets/logs/genesys.yaml index 23d45cd3143ce..d56a5826d4b3e 100644 --- a/genesys/assets/logs/genesys.yaml +++ b/genesys/assets/logs/genesys.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: genesys metric_id: genesys backend_only: false diff --git a/harbor/assets/logs/harbor.yaml b/harbor/assets/logs/harbor.yaml index 6f11c35c44cdf..3ef1796f3855d 100644 --- a/harbor/assets/logs/harbor.yaml +++ b/harbor/assets/logs/harbor.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks # bypass-global-facets-path-checks # bypass-global-grok-parser-count-per-pipeline-checks id: harbor diff --git a/have_i_been_pwned/assets/logs/have-i-been-pwned.yaml b/have_i_been_pwned/assets/logs/have-i-been-pwned.yaml index 6077c3c71ecbf..8690c1d6532b4 100644 --- a/have_i_been_pwned/assets/logs/have-i-been-pwned.yaml +++ b/have_i_been_pwned/assets/logs/have-i-been-pwned.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: have-i-been-pwned metric_id: have-i-been-pwned backend_only: false diff --git a/hubspot_content_hub/assets/logs/hubspot-content-hub.yaml b/hubspot_content_hub/assets/logs/hubspot-content-hub.yaml index 9734d11bf5c42..fe268e8e5142e 100644 --- a/hubspot_content_hub/assets/logs/hubspot-content-hub.yaml +++ b/hubspot_content_hub/assets/logs/hubspot-content-hub.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: hubspot-content-hub metric_id: hubspot-content-hub backend_only: false diff --git a/ibm_mq/changelog.d/23130.fixed b/ibm_mq/changelog.d/23130.fixed new file mode 100644 index 0000000000000..e486f11d92e15 --- /dev/null +++ b/ibm_mq/changelog.d/23130.fixed @@ -0,0 +1 @@ +Fix UnicodeDecodeError when IBM MQ queue manager returns channel or queue description fields in non-UTF-8 encoding. diff --git a/ibm_mq/datadog_checks/ibm_mq/collectors/channel_metric_collector.py b/ibm_mq/datadog_checks/ibm_mq/collectors/channel_metric_collector.py index 40889538eb0b7..c26794fbacb7e 100644 --- a/ibm_mq/datadog_checks/ibm_mq/collectors/channel_metric_collector.py +++ b/ibm_mq/datadog_checks/ibm_mq/collectors/channel_metric_collector.py @@ -7,7 +7,7 @@ from datadog_checks.base.log import CheckLoggingAdapter # noqa: F401 from datadog_checks.ibm_mq import metrics from datadog_checks.ibm_mq.config import IBMMQConfig # noqa: F401 -from datadog_checks.ibm_mq.utils import normalize_desc_tag +from datadog_checks.ibm_mq.utils import decode_mq_description, normalize_desc_tag try: import pymqi @@ -53,7 +53,7 @@ def __init__( def _add_channel_description_tag(self, channel_info, channel_tags): # Add channel description as a tag, normalizing if configured. - channel_desc = to_string(channel_info[pymqi.CMQCFC.MQCACH_DESC]).strip() + channel_desc = decode_mq_description(channel_info[pymqi.CMQCFC.MQCACH_DESC], self.log).strip() if channel_desc: if self.config.normalize_description_tags: channel_desc = normalize_desc_tag(channel_desc) diff --git a/ibm_mq/datadog_checks/ibm_mq/collectors/queue_metric_collector.py b/ibm_mq/datadog_checks/ibm_mq/collectors/queue_metric_collector.py index 376c8f6605986..c67976f053b2e 100644 --- a/ibm_mq/datadog_checks/ibm_mq/collectors/queue_metric_collector.py +++ b/ibm_mq/datadog_checks/ibm_mq/collectors/queue_metric_collector.py @@ -9,7 +9,7 @@ from datadog_checks.ibm_mq import metrics from datadog_checks.ibm_mq.config import IBMMQConfig # noqa: F401 from datadog_checks.ibm_mq.metrics import GAUGE -from datadog_checks.ibm_mq.utils import normalize_desc_tag +from datadog_checks.ibm_mq.utils import decode_mq_description, normalize_desc_tag try: import pymqi @@ -269,7 +269,7 @@ def queue_stats(self, queue_manager, queue_name, tags): # Add queue description as tag if enabled if self.config.add_description_tags and pymqi.CMQC.MQCA_Q_DESC in queue_info: - queue_desc = to_string(queue_info[pymqi.CMQC.MQCA_Q_DESC]).strip() + queue_desc = decode_mq_description(queue_info[pymqi.CMQC.MQCA_Q_DESC], self.log).strip() if queue_desc: if self.config.normalize_description_tags: queue_desc = normalize_desc_tag(queue_desc) diff --git a/ibm_mq/datadog_checks/ibm_mq/utils.py b/ibm_mq/datadog_checks/ibm_mq/utils.py index e556dfd335ba5..4fb94abfe3723 100644 --- a/ibm_mq/datadog_checks/ibm_mq/utils.py +++ b/ibm_mq/datadog_checks/ibm_mq/utils.py @@ -22,6 +22,23 @@ def sanitize_strings(s): return s.strip() +def decode_mq_description(s: bytes | str, log=None) -> str: + """Decode an IBM MQ description field. + + IBM MQ queue managers may return description fields (e.g. MQCACH_DESC, MQCA_Q_DESC) + in non-UTF-8 encodings because they are free-form text entered by administrators. + Falls back to UTF-8 with replacement characters on decode failure to avoid crashing. + """ + if isinstance(s, bytes): + try: + return s.decode('utf-8') + except UnicodeDecodeError: + if log is not None: + log.debug("Failed to decode IBM MQ description as UTF-8, falling back to replacement: %r", s) + return s.decode('utf-8', errors='replace') + return s + + def normalize_desc_tag(desc): """ Normalize description strings for use as tag values. diff --git a/ibm_mq/tests/test_channel_metric_collector.py b/ibm_mq/tests/test_channel_metric_collector.py index 536c42f85cdd2..e9302a54d7f01 100644 --- a/ibm_mq/tests/test_channel_metric_collector.py +++ b/ibm_mq/tests/test_channel_metric_collector.py @@ -224,6 +224,7 @@ def test_collect_connection_metrics_config_option(instance, collect_connection_m (True, True, b'Test Description', 'channel_desc:test_description'), # Enabled + normalized (True, False, b'Test Description', 'channel_desc:Test Description'), # Enabled + raw (True, True, b'', None), # Empty description + (True, False, b'Caf\xc6', 'channel_desc:Caf\ufffd'), # Non-UTF-8 bytes — must not crash ], ) def test_channel_description_tags( diff --git a/ibm_mq/tests/test_queue_metric_collector.py b/ibm_mq/tests/test_queue_metric_collector.py index 0e0e5f529baf2..a352e27bbffc0 100644 --- a/ibm_mq/tests/test_queue_metric_collector.py +++ b/ibm_mq/tests/test_queue_metric_collector.py @@ -268,6 +268,7 @@ def mock_inquire_q(args): (True, True, b'Test Description', 'queue_desc:test_description'), # Enabled + normalized (True, False, b'Test Description', 'queue_desc:Test Description'), # Enabled + raw (True, True, b'', None), # Empty description + (True, False, b'Caf\xc6', 'queue_desc:Caf\ufffd'), # Non-UTF-8 bytes — must not crash ], ) def test_queue_description_tags( diff --git a/ibm_spectrum_lsf/assets/logs/ibm_spectrum_lsf.yaml b/ibm_spectrum_lsf/assets/logs/ibm_spectrum_lsf.yaml index b1ce317946547..1ed84ac62edfc 100644 --- a/ibm_spectrum_lsf/assets/logs/ibm_spectrum_lsf.yaml +++ b/ibm_spectrum_lsf/assets/logs/ibm_spectrum_lsf.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: ibm_spectrum_lsf metric_id: ibm-spectrum-lsf backend_only: false diff --git a/ide_shepherd/assets/logs/ide-shepherd.yaml b/ide_shepherd/assets/logs/ide-shepherd.yaml index 7c22899d57902..b2d71efcb187c 100644 --- a/ide_shepherd/assets/logs/ide-shepherd.yaml +++ b/ide_shepherd/assets/logs/ide-shepherd.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: ide-shepherd metric_id: ide-shepherd backend_only: false diff --git a/incident_io/README.md b/incident_io/README.md index 25710632c5bd2..921e59b7a24b9 100644 --- a/incident_io/README.md +++ b/incident_io/README.md @@ -8,28 +8,29 @@ Integrate your incident.io account with Datadog to gain insights into incident-r ## Setup -Follow the instructions below to configure this integration for incident.io incident events through a Webhook. +Follow the instructions on the Datadog tile to configure this integration for incident.io incident events through a Webhook. ### Configuration -#### Webhook configuration Configure the Datadog endpoint to forward events of incident.io incidents as logs to Datadog. For more details, see the incident.io [webhooks][2] documentation. -1. Select an existing API key or create a new one by clicking one of the buttons below: -2. Log in to your [incident.io account][3] as org owner. +1. Select an existing API key or create a new one in Datadog. +2. Log in to your [incident.io account][3] as an organization owner. 3. Go to **Settings > Webhooks**. 4. Click **Add Endpoint**. -5. Fill in the webhook URL that you generated in step 1. +5. Paste the webhook URL generated in Step 1. 6. Select the type of incident events that you want to push to Datadog under the **Subscribe to events** section. 7. Click **Create**. ## Data Collected ### Logs + The incident.io integration ingests the following logs: + - Public incident event logs - Private incident event logs -- Action and follow up event logs +- Action and follow up event logs ### Metrics diff --git a/intercom/assets/logs/intercom.yaml b/intercom/assets/logs/intercom.yaml index f987243032e7b..e55ce33c900ae 100644 --- a/intercom/assets/logs/intercom.yaml +++ b/intercom/assets/logs/intercom.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: intercom metric_id: intercom backend_only: false diff --git a/ivanti_connect_secure/assets/logs/ivanti-connect-secure.yaml b/ivanti_connect_secure/assets/logs/ivanti-connect-secure.yaml index 20681e4a0ba50..471249d598fba 100644 --- a/ivanti_connect_secure/assets/logs/ivanti-connect-secure.yaml +++ b/ivanti_connect_secure/assets/logs/ivanti-connect-secure.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks # bypass-global-grok-parser-match-rules-checks id: ivanti-connect-secure metric_id: ivanti-connect-secure diff --git a/ivanti_nzta/assets/logs/ivanti-nzta.yaml b/ivanti_nzta/assets/logs/ivanti-nzta.yaml index 29d82f6dc2f3d..cacba70ab0da7 100644 --- a/ivanti_nzta/assets/logs/ivanti-nzta.yaml +++ b/ivanti_nzta/assets/logs/ivanti-nzta.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks # bypass-global-grok-parser-rules-checks id: ivanti-nzta metric_id: ivanti-nzta diff --git a/jamf_pro/assets/logs/jamf-pro.yaml b/jamf_pro/assets/logs/jamf-pro.yaml index 426da7252eda5..dea02ab881487 100644 --- a/jamf_pro/assets/logs/jamf-pro.yaml +++ b/jamf_pro/assets/logs/jamf-pro.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: jamf-pro metric_id: jamf-pro backend_only: false diff --git a/juniper_srx_firewall/assets/logs/juniper-srx-firewall.yaml b/juniper_srx_firewall/assets/logs/juniper-srx-firewall.yaml index 55d846abb1c3b..7e346a878ca83 100644 --- a/juniper_srx_firewall/assets/logs/juniper-srx-firewall.yaml +++ b/juniper_srx_firewall/assets/logs/juniper-srx-firewall.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: juniper-srx-firewall metric_id: juniper-srx-firewall backend_only: false diff --git a/kafka_actions/changelog.d/23023.added b/kafka_actions/changelog.d/23023.added new file mode 100644 index 0000000000000..6baf20332a524 --- /dev/null +++ b/kafka_actions/changelog.d/23023.added @@ -0,0 +1 @@ +Add raw message format with base64 encoding for key and value deserialization \ No newline at end of file diff --git a/kafka_actions/changelog.d/23106.added b/kafka_actions/changelog.d/23106.added new file mode 100644 index 0000000000000..cdebc1f208264 --- /dev/null +++ b/kafka_actions/changelog.d/23106.added @@ -0,0 +1 @@ +Base64-encode binary headers and support header filtering in jq-style filters \ No newline at end of file diff --git a/kafka_actions/datadog_checks/kafka_actions/check.py b/kafka_actions/datadog_checks/kafka_actions/check.py index 1254307ae750e..1fc31702f339d 100644 --- a/kafka_actions/datadog_checks/kafka_actions/check.py +++ b/kafka_actions/datadog_checks/kafka_actions/check.py @@ -13,6 +13,38 @@ from .schema_registry import SchemaRegistryClient +class _LazyMessageDict(dict): + """Dict-like wrapper around DeserializedMessage that only deserializes fields on access.""" + + _FIELD_MAP = { + 'key': lambda m: m.key, + 'value': lambda m: m.value, + 'headers': lambda m: m.headers, + 'topic': lambda m: m.topic, + 'partition': lambda m: m.partition, + 'offset': lambda m: m.offset, + } + + def __init__(self, msg: DeserializedMessage): + super().__init__() + self._msg = msg + + def __contains__(self, key): + return key in self._FIELD_MAP + + def __getitem__(self, key): + getter = self._FIELD_MAP.get(key) + if getter is None: + raise KeyError(key) + return getter(self._msg) + + def get(self, key, default=None): + getter = self._FIELD_MAP.get(key) + if getter is None: + return default + return getter(self._msg) + + class KafkaActionsCheck(AgentCheck): """ Kafka Actions Check - Performs one-time actions on Kafka clusters. @@ -337,18 +369,10 @@ def _evaluate_filter(self, filter_expression: str, deserialized_msg: Deserialize True if message matches filter, False otherwise """ try: - msg_dict = { - 'key': deserialized_msg.key, - 'value': deserialized_msg.value, - 'topic': deserialized_msg.topic, - 'partition': deserialized_msg.partition, - 'offset': deserialized_msg.offset, - } - - # Simple jq expression parser - # Supports: .field.subfield == "value", .field > 100, .field contains "text" - # Supports: and, or operators - result = self._evaluate_jq_expression(filter_expression, msg_dict) + # Use a lazy dict so key/value are only deserialized when the filter accesses them + context = _LazyMessageDict(deserialized_msg) + + result = self._evaluate_jq_expression(filter_expression, context) self.log.debug("Filter '%s' evaluated to: %s", filter_expression, result) return result diff --git a/kafka_actions/datadog_checks/kafka_actions/config.py b/kafka_actions/datadog_checks/kafka_actions/config.py index 425e2b438ea2b..b6f944055636e 100644 --- a/kafka_actions/datadog_checks/kafka_actions/config.py +++ b/kafka_actions/datadog_checks/kafka_actions/config.py @@ -181,15 +181,15 @@ def _validate_read_messages(self): # Note: n_messages_retrieved and max_scanned_messages are validated in the Datadog backend value_format = config.get('value_format', 'json') - if value_format not in ['json', 'bson', 'string', 'protobuf', 'avro']: + if value_format not in ['json', 'bson', 'string', 'protobuf', 'avro', 'raw']: raise ConfigurationError( - f"Invalid value_format: {value_format}. Supported formats: json, bson, string, protobuf, avro" + f"Invalid value_format: {value_format}. Supported formats: json, bson, string, protobuf, avro, raw" ) key_format = config.get('key_format', 'json') - if key_format not in ['json', 'bson', 'string', 'protobuf', 'avro']: + if key_format not in ['json', 'bson', 'string', 'protobuf', 'avro', 'raw']: raise ConfigurationError( - f"Invalid key_format: {key_format}. Supported formats: json, bson, string, protobuf, avro" + f"Invalid key_format: {key_format}. Supported formats: json, bson, string, protobuf, avro, raw" ) start_timestamp = config.get('start_timestamp') diff --git a/kafka_actions/datadog_checks/kafka_actions/message_deserializer.py b/kafka_actions/datadog_checks/kafka_actions/message_deserializer.py index 34c9639a7d4e4..442cc193402ba 100644 --- a/kafka_actions/datadog_checks/kafka_actions/message_deserializer.py +++ b/kafka_actions/datadog_checks/kafka_actions/message_deserializer.py @@ -119,18 +119,21 @@ def deserialize_message( Args: raw_bytes: Raw message bytes - format_type: 'json', 'bson', 'protobuf', or 'avro' + format_type: 'json', 'bson', 'protobuf', 'avro', or 'raw' schema_str: Schema definition (for protobuf/avro) uses_schema_registry: Whether to expect Schema Registry format Returns: Tuple of (deserialized_string, schema_id) - - deserialized_string: JSON string representation of the message + - deserialized_string: JSON string representation of the message, or base64 for raw format - schema_id: Schema ID from Schema Registry (if used), or None """ if not raw_bytes: return None, None + if format_type == 'raw': + return json.dumps(base64.b64encode(raw_bytes).decode('ascii')), None + try: schema = None # When uses_schema_registry is True and a registry client is available, @@ -507,7 +510,7 @@ def headers(self) -> dict: try: headers[key] = value.decode('utf-8') if value else None except UnicodeDecodeError: - headers[key] = f"" + headers[key] = f"{base64.b64encode(value).decode('ascii')}" return headers @staticmethod diff --git a/kafka_actions/tests/test_message_deserializer.py b/kafka_actions/tests/test_message_deserializer.py index f8a70e56569e6..b1e7f852ce6b5 100644 --- a/kafka_actions/tests/test_message_deserializer.py +++ b/kafka_actions/tests/test_message_deserializer.py @@ -3,6 +3,7 @@ # Licensed under a 3-clause BSD style license (see LICENSE) """Tests for message deserialization.""" +import base64 import json from unittest.mock import MagicMock @@ -16,12 +17,13 @@ class MockKafkaMessage: """Mock confluent_kafka.Message for testing.""" - def __init__(self, key, value, topic='test-topic', partition=0, offset=0): + def __init__(self, key, value, topic='test-topic', partition=0, offset=0, headers=None): self._key = key self._value = value self._topic = topic self._partition = partition self._offset = offset + self._headers = headers def key(self): return self._key @@ -42,7 +44,7 @@ def timestamp(self): return (1, 1732128000000) # (timestamp_type, timestamp_ms) def headers(self): - return None + return self._headers class TestMessageDeserializer: @@ -415,6 +417,109 @@ def test_protobuf_explicit_schema_registry_configuration(self): assert deserialized_msg_sr.value['title'] == 'The Go Programming Language' assert deserialized_msg_sr.value_schema_id == 350 + def test_deserialize_raw_format(self): + """Test raw format returns base64-encoded bytes for both key and value.""" + log = MagicMock() + deserializer = MessageDeserializer(log) + + raw_bytes = b'\x00\x01\x02\xff\xfe\xde\xad\xbe\xef' + key_bytes = b'\xca\xfe\xba\xbe' + + kafka_msg = MockKafkaMessage(key=key_bytes, value=raw_bytes) + + config = { + 'key_format': 'raw', + 'key_uses_schema_registry': False, + 'value_format': 'raw', + 'value_uses_schema_registry': False, + } + + deserialized_msg = DeserializedMessage(kafka_msg, deserializer, config) + + expected_value = base64.b64encode(raw_bytes).decode('ascii') + expected_key = base64.b64encode(key_bytes).decode('ascii') + + assert deserialized_msg.value == expected_value + assert deserialized_msg.key == expected_key + assert deserialized_msg.value_schema_id is None + assert deserialized_msg.key_schema_id is None + + def test_deserialize_raw_value_with_json_key(self): + """Test raw value format with JSON key format.""" + log = MagicMock() + deserializer = MessageDeserializer(log) + + raw_bytes = b'\x00\x01\x02\xff\xfe' + key_bytes = b'{"name": "test"}' + + kafka_msg = MockKafkaMessage(key=key_bytes, value=raw_bytes) + + config = { + 'key_format': 'json', + 'key_uses_schema_registry': False, + 'value_format': 'raw', + 'value_uses_schema_registry': False, + } + + deserialized_msg = DeserializedMessage(kafka_msg, deserializer, config) + + assert deserialized_msg.value == base64.b64encode(raw_bytes).decode('ascii') + assert deserialized_msg.key == {'name': 'test'} + + def test_deserialize_raw_empty_message(self): + """Test raw format with empty/None messages.""" + log = MagicMock() + deserializer = MessageDeserializer(log) + + # None value + result, schema_id = deserializer.deserialize_message(None, 'raw') + assert result is None + assert schema_id is None + + # Empty bytes + result, schema_id = deserializer.deserialize_message(b'', 'raw') + assert result is None + assert schema_id is None + + def test_deserialize_raw_via_deserialize_message(self): + """Test raw format directly through deserialize_message.""" + log = MagicMock() + deserializer = MessageDeserializer(log) + + raw_bytes = b'\xde\xad\xbe\xef' + result, schema_id = deserializer.deserialize_message(raw_bytes, 'raw') + + expected_b64 = base64.b64encode(raw_bytes).decode('ascii') + assert result == json.dumps(expected_b64) + assert json.loads(result) == expected_b64 + assert schema_id is None + + def test_deserialize_raw_no_coercion_for_json_like_base64(self): + """Test that raw format is not coerced by _parse_deserialized for JSON-like base64 values.""" + log = MagicMock() + deserializer = MessageDeserializer(log) + + # b'\x9e\xe9\x65' base64-encodes to "null", which json.loads would coerce to None + null_bytes = b'\x9e\xe9\x65' + assert base64.b64encode(null_bytes).decode('ascii') == 'null' + + kafka_msg = MockKafkaMessage(key=null_bytes, value=null_bytes) + config = {'key_format': 'raw', 'value_format': 'raw'} + msg = DeserializedMessage(kafka_msg, deserializer, config) + + assert msg.value == 'null', "raw base64 'null' must stay as string, not become None" + assert msg.key == 'null', "raw base64 'null' must stay as string, not become None" + + # b'\xd7\x6d\xf8' base64-encodes to "1234", which json.loads would coerce to int + int_bytes = b'\xd7\x6d\xf8' + assert base64.b64encode(int_bytes).decode('ascii') == '1234' + + kafka_msg = MockKafkaMessage(key=int_bytes, value=int_bytes) + msg = DeserializedMessage(kafka_msg, deserializer, config) + + assert msg.value == '1234', "raw base64 '1234' must stay as string, not become int" + assert isinstance(msg.value, str) + class TestSchemaRegistryIntegration: """Test MessageDeserializer with schema registry client.""" @@ -580,5 +685,67 @@ def test_deserialized_message_with_registry(self): assert msg.value_schema_id == 42 +class TestHeaderSerialization: + """Test header serialization in DeserializedMessage.""" + + def test_utf8_headers(self): + """Test that UTF-8 headers are decoded as strings.""" + log = MagicMock() + deserializer = MessageDeserializer(log) + kafka_msg = MockKafkaMessage( + key=b'key', + value=b'{}', + headers=[('dbmOrgId', b'2'), ('traceparent', b'00-abc-def-00')], + ) + config = {'key_format': 'string', 'value_format': 'json', 'value_uses_schema_registry': False} + msg = DeserializedMessage(kafka_msg, deserializer, config) + assert msg.headers == {'dbmOrgId': '2', 'traceparent': '00-abc-def-00'} + + def test_binary_headers_base64_encoded(self): + """Test that binary headers are base64-encoded with prefix.""" + log = MagicMock() + deserializer = MessageDeserializer(log) + binary_value = bytes([0x80, 0xFF, 0x00, 0x01, 0xDE, 0xAD, 0xBE, 0xEF]) + kafka_msg = MockKafkaMessage( + key=b'key', + value=b'{}', + headers=[('koutrisngId', binary_value)], + ) + config = {'key_format': 'string', 'value_format': 'json', 'value_uses_schema_registry': False} + msg = DeserializedMessage(kafka_msg, deserializer, config) + import base64 + + expected = f"{base64.b64encode(binary_value).decode('ascii')}" + assert msg.headers['koutrisngId'] == expected + + def test_mixed_headers(self): + """Test mix of UTF-8 and binary headers.""" + log = MagicMock() + deserializer = MessageDeserializer(log) + binary_value = bytes([0x80, 0xFF]) + kafka_msg = MockKafkaMessage( + key=b'key', + value=b'{}', + headers=[('text', b'hello'), ('binary', binary_value)], + ) + config = {'key_format': 'string', 'value_format': 'json', 'value_uses_schema_registry': False} + msg = DeserializedMessage(kafka_msg, deserializer, config) + assert msg.headers['text'] == 'hello' + assert msg.headers['binary'].startswith('') + + def test_null_header_value(self): + """Test that null header values are preserved as None.""" + log = MagicMock() + deserializer = MessageDeserializer(log) + kafka_msg = MockKafkaMessage( + key=b'key', + value=b'{}', + headers=[('empty', None)], + ) + config = {'key_format': 'string', 'value_format': 'json', 'value_uses_schema_registry': False} + msg = DeserializedMessage(kafka_msg, deserializer, config) + assert msg.headers['empty'] is None + + if __name__ == '__main__': pytest.main([__file__, '-v']) diff --git a/kafka_actions/tests/test_message_filtering.py b/kafka_actions/tests/test_message_filtering.py index 62c4c12b5a21d..3abd8b9db794e 100644 --- a/kafka_actions/tests/test_message_filtering.py +++ b/kafka_actions/tests/test_message_filtering.py @@ -17,12 +17,13 @@ class MockKafkaMessage: """Mock confluent_kafka.Message for testing.""" - def __init__(self, key, value, topic='test-topic', partition=0, offset=0): + def __init__(self, key, value, topic='test-topic', partition=0, offset=0, headers=None): self._key = key self._value = value self._topic = topic self._partition = partition self._offset = offset + self._headers = headers def key(self): return self._key @@ -43,7 +44,7 @@ def timestamp(self): return (1, 1732128000000) def headers(self): - return None + return self._headers class TestFilteringOperators: @@ -534,6 +535,28 @@ def test_null_literal(self): msg = self.create_message({'optional_field': None}) assert check._evaluate_filter('.value.optional_field == null', msg) is True + def test_jq_filter_on_header(self): + """Test jq-style .headers.key filter.""" + instance = { + 'remote_config_id': 'test', + 'kafka_connect_str': 'localhost:9092', + 'read_messages': {'cluster': 'test', 'topic': 'test'}, + } + check = KafkaActionsCheck('kafka_actions', {}, [instance]) + + kafka_msg = MockKafkaMessage( + key=b'test-key', + value=json.dumps({'status': 'active'}).encode('utf-8'), + headers=[('dbmOrgId', b'2'), ('traceparent', b'00-abc-def-00')], + ) + config = {'key_format': 'string', 'value_format': 'json', 'value_uses_schema_registry': False} + msg = DeserializedMessage(kafka_msg, self.deserializer, config) + + assert check._evaluate_filter('.headers.dbmOrgId == "2"', msg) is True + assert check._evaluate_filter('.headers.dbmOrgId == "3"', msg) is False + assert check._evaluate_filter('.headers.traceparent contains "abc"', msg) is True + assert check._evaluate_filter('.headers.nonexistent == "x"', msg) is False + if __name__ == '__main__': pytest.main([__file__, '-vv']) diff --git a/kandji/assets/logs/kandji.yaml b/kandji/assets/logs/kandji.yaml index 9c218a70aaa5a..5ad092ba407aa 100644 --- a/kandji/assets/logs/kandji.yaml +++ b/kandji/assets/logs/kandji.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: kandji metric_id: kandji backend_only: false diff --git a/keda/assets/logs/keda.yaml b/keda/assets/logs/keda.yaml index 91ea81f03adf2..7b1a6617c0cbd 100644 --- a/keda/assets/logs/keda.yaml +++ b/keda/assets/logs/keda.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: keda metric_id: keda backend_only: false diff --git a/keeper/assets/logs/keeper.yaml b/keeper/assets/logs/keeper.yaml index f91792a1adecd..9eba08578051b 100644 --- a/keeper/assets/logs/keeper.yaml +++ b/keeper/assets/logs/keeper.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: keeper metric_id: keeper backend_only: false diff --git a/keycloak/assets/logs/keycloak.yaml b/keycloak/assets/logs/keycloak.yaml index 5f17d88288d0d..f399edafe7a47 100644 --- a/keycloak/assets/logs/keycloak.yaml +++ b/keycloak/assets/logs/keycloak.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks # bypass-global-grok-parser-rules-checks # bypass-global-missing-date-remapper-checks id: keycloak diff --git a/klaviyo/assets/logs/klaviyo.yaml b/klaviyo/assets/logs/klaviyo.yaml index ff5b1922324f9..c8c0c0f44d4a4 100644 --- a/klaviyo/assets/logs/klaviyo.yaml +++ b/klaviyo/assets/logs/klaviyo.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: klaviyo metric_id: klaviyo backend_only: false diff --git a/linux_audit_logs/assets/logs/linux-audit-logs.yaml b/linux_audit_logs/assets/logs/linux-audit-logs.yaml index f2eb338e260a6..d30c7e53751f4 100644 --- a/linux_audit_logs/assets/logs/linux-audit-logs.yaml +++ b/linux_audit_logs/assets/logs/linux-audit-logs.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks # bypass-global-grok-parser-count-per-pipeline-checks id: linux-audit-logs metric_id: linux-audit-logs diff --git a/mac_audit_logs/assets/logs/mac-audit-logs.yaml b/mac_audit_logs/assets/logs/mac-audit-logs.yaml index 9658db90f1258..e0686c5275f8b 100644 --- a/mac_audit_logs/assets/logs/mac-audit-logs.yaml +++ b/mac_audit_logs/assets/logs/mac-audit-logs.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: mac-audit-logs metric_id: mac-audit-logs backend_only: false diff --git a/metabase/assets/logs/metabase.yaml b/metabase/assets/logs/metabase.yaml index cccbfe676684b..6bc7423d70419 100644 --- a/metabase/assets/logs/metabase.yaml +++ b/metabase/assets/logs/metabase.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks # bypass-global-missing-date-remapper-checks id: metabase metric_id: metabase diff --git a/microsoft_copilot/assets/logs/microsoft-copilot.yaml b/microsoft_copilot/assets/logs/microsoft-copilot.yaml index 522e76363e0a6..2eef839ca13f8 100644 --- a/microsoft_copilot/assets/logs/microsoft-copilot.yaml +++ b/microsoft_copilot/assets/logs/microsoft-copilot.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: microsoft-copilot metric_id: microsoft-copilot backend_only: false diff --git a/microsoft_dns/assets/logs/microsoft-dns.yaml b/microsoft_dns/assets/logs/microsoft-dns.yaml index 1072fedeea1c9..a324f592976bd 100644 --- a/microsoft_dns/assets/logs/microsoft-dns.yaml +++ b/microsoft_dns/assets/logs/microsoft-dns.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: microsoft-dns metric_id: microsoft-dns backend_only: false diff --git a/microsoft_sysmon/assets/logs/microsoft-sysmon.yaml b/microsoft_sysmon/assets/logs/microsoft-sysmon.yaml index 81ff41d1076fb..843e8b12488e4 100644 --- a/microsoft_sysmon/assets/logs/microsoft-sysmon.yaml +++ b/microsoft_sysmon/assets/logs/microsoft-sysmon.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: microsoft-sysmon metric_id: microsoft-sysmon backend_only: false diff --git a/mimecast/assets/logs/mimecast.yaml b/mimecast/assets/logs/mimecast.yaml index 73c6c6c097eae..eb579a4db913c 100644 --- a/mimecast/assets/logs/mimecast.yaml +++ b/mimecast/assets/logs/mimecast.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: mimecast metric_id: mimecast backend_only: false diff --git a/nfsstat/assets/logs/nfsstat.yaml b/nfsstat/assets/logs/nfsstat.yaml index 1928ab38e455f..46596d57de2a7 100644 --- a/nfsstat/assets/logs/nfsstat.yaml +++ b/nfsstat/assets/logs/nfsstat.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: nfsstat backend_only: true # This integration has no ID and is defined as an exception in the declarative integration pipeline (no tile). For this reason, it should be a backend_only integration. https://github.com/DataDog/declarative-integration-pipeline/blob/4c0b97d57261c4af32525a7db0c2356ac8c09741/declarative_integrations/create_agent_integration/constants.py#L90-L136 pipeline: diff --git a/obsidian_security/assets/logs/obsidian-security.yaml b/obsidian_security/assets/logs/obsidian-security.yaml index 6d685751e9853..69a5645f66515 100644 --- a/obsidian_security/assets/logs/obsidian-security.yaml +++ b/obsidian_security/assets/logs/obsidian-security.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: obsidian-security metric_id: obsidian-security backend_only: false diff --git a/oke/assets/logs/oke.yaml b/oke/assets/logs/oke.yaml index 41aa03989bbbf..2f96ce092a63e 100644 --- a/oke/assets/logs/oke.yaml +++ b/oke/assets/logs/oke.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: oke backend_only: false installation_sources: diff --git a/okta_workflows/assets/logs/okta-workflows.yaml b/okta_workflows/assets/logs/okta-workflows.yaml index c6420d2f9c1bf..32da174444006 100644 --- a/okta_workflows/assets/logs/okta-workflows.yaml +++ b/okta_workflows/assets/logs/okta-workflows.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: okta-workflows metric_id: okta-workflows backend_only: false diff --git a/orca_security/assets/logs/orca-security.yaml b/orca_security/assets/logs/orca-security.yaml index 1df51cb200a5f..750721643ec22 100644 --- a/orca_security/assets/logs/orca-security.yaml +++ b/orca_security/assets/logs/orca-security.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: orca-security metric_id: orca-security backend_only: false diff --git a/ossec_security/assets/logs/ossec-security.yaml b/ossec_security/assets/logs/ossec-security.yaml index 0449a3300813a..211f3570dd8bf 100644 --- a/ossec_security/assets/logs/ossec-security.yaml +++ b/ossec_security/assets/logs/ossec-security.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: ossec-security metric_id: ossec-security backend_only: false diff --git a/palo_alto_cortex_xdr/assets/logs/palo-alto-cortex-xdr.yaml b/palo_alto_cortex_xdr/assets/logs/palo-alto-cortex-xdr.yaml index eae840e132ef2..d1ad3d2b6d574 100644 --- a/palo_alto_cortex_xdr/assets/logs/palo-alto-cortex-xdr.yaml +++ b/palo_alto_cortex_xdr/assets/logs/palo-alto-cortex-xdr.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: palo-alto-cortex-xdr metric_id: palo-alto-cortex-xdr backend_only: false diff --git a/palo_alto_panorama/assets/logs/palo-alto-panorama.yaml b/palo_alto_panorama/assets/logs/palo-alto-panorama.yaml index 04bb8f1e84e5a..6ababfd329fb2 100644 --- a/palo_alto_panorama/assets/logs/palo-alto-panorama.yaml +++ b/palo_alto_panorama/assets/logs/palo-alto-panorama.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: palo-alto-panorama metric_id: palo-alto-panorama backend_only: false diff --git a/ping_federate/assets/logs/ping-federate.yaml b/ping_federate/assets/logs/ping-federate.yaml index 53849193d4aee..034c76a63a48b 100644 --- a/ping_federate/assets/logs/ping-federate.yaml +++ b/ping_federate/assets/logs/ping-federate.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: ping-federate metric_id: ping-federate backend_only: false diff --git a/ping_one/assets/logs/ping-one.yaml b/ping_one/assets/logs/ping-one.yaml index f3394736cca8a..c8904fae62ad3 100644 --- a/ping_one/assets/logs/ping-one.yaml +++ b/ping_one/assets/logs/ping-one.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: ping-one metric_id: ping-one diff --git a/plivo/assets/logs/plivo.yaml b/plivo/assets/logs/plivo.yaml index cdc2c13052dc5..ac7f12f0f3294 100644 --- a/plivo/assets/logs/plivo.yaml +++ b/plivo/assets/logs/plivo.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: plivo metric_id: plivo backend_only: false diff --git a/postgres/README.md b/postgres/README.md index 61f53fa35a3b2..479870ee82a11 100644 --- a/postgres/README.md +++ b/postgres/README.md @@ -8,7 +8,7 @@ The Postgres integration provides health and performance metrics for your Postgr Enable [Database Monitoring][28] (DBM) for enhanced insights into query performance and database health. In addition to the standard integration, Datadog DBM provides query-level metrics, live and historical query snapshots, wait event analysis, database load, query explain plans, and blocking query insights. -Postgres versions 9.6-16 are supported. +Postgres versions 9.6-18 are supported. **Minimum Agent version:** 6.0.0 diff --git a/postgres/metadata.csv b/postgres/metadata.csv index 85c5d9497500b..52088a50a0430 100644 --- a/postgres/metadata.csv +++ b/postgres/metadata.csv @@ -110,8 +110,8 @@ postgresql.pg_stat_statements.dealloc,count,,,,The number of times pg_stat_state postgresql.queries.blk_read_time,count,,nanosecond,,"Total time spent reading blocks per query_signature, db, and user. (DBM only)",0,postgres, postgres queries block read time,, postgresql.queries.blk_write_time,count,,nanosecond,,"Total time spent writing blocks per query_signature, db, and user. (DBM only)",0,postgres, postgres queries block write time,, postgresql.queries.count,count,,query,,"The total query execution count per query_signature, db, and user. (DBM only)",0,postgres,postgres queries count,, -postgresql.queries.duration.max,gauge,,nanosecond,,"The age of the longest running query per user, db and app. (DBM only)",0,postgres,postgres queries duration max,, -postgresql.queries.duration.sum,gauge,,nanosecond,,"The sum of the age of all running queries per user, db and app. (DBM only)",0,postgres,postgres queries duration sum,, +postgresql.queries.duration.max,gauge,,nanosecond,,"The age of the longest executed query per user, db and app. (DBM only)",0,postgres,postgres queries duration max,, +postgresql.queries.duration.sum,gauge,,nanosecond,,"The sum of the age of all executed queries per user, db and app. (DBM only)",0,postgres,postgres queries duration sum,, postgresql.queries.local_blks_dirtied,count,,block,,"Total number of local blocks dirtied per query_signature, db, and user. (DBM only)",0,postgres,postgres queries local blocks dirtied,, postgresql.queries.local_blks_hit,count,,block,,"Total number of local block cache hits per query_signature, db, and user. (DBM only)",0,postgres,postgres queries local blocks hit,, postgresql.queries.local_blks_read,count,,block,,"Total number of local blocks read per query_signature, db, and user. (DBM only)",0,postgres,postgres queries local blocks read,, diff --git a/powerdns_recursor/assets/logs/powerdns.yaml b/powerdns_recursor/assets/logs/powerdns.yaml index 22597b3696de6..c346c4f46bf53 100644 --- a/powerdns_recursor/assets/logs/powerdns.yaml +++ b/powerdns_recursor/assets/logs/powerdns.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: powerdns metric_id: powerdns backend_only: false diff --git a/proofpoint_tap/assets/logs/proofpoint-tap.yaml b/proofpoint_tap/assets/logs/proofpoint-tap.yaml index 31e6210458f0d..b6344c4977340 100644 --- a/proofpoint_tap/assets/logs/proofpoint-tap.yaml +++ b/proofpoint_tap/assets/logs/proofpoint-tap.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: proofpoint-tap metric_id: proofpoint-tap backend_only: false diff --git a/push_security/assets/logs/push-security.yaml b/push_security/assets/logs/push-security.yaml index 511d2033715ee..824f865c328ae 100644 --- a/push_security/assets/logs/push-security.yaml +++ b/push_security/assets/logs/push-security.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: push-security metric_id: push-security backend_only: false diff --git a/requirements-agent-release.txt b/requirements-agent-release.txt index a0f0637a063e7..f9859369c4cb4 100644 --- a/requirements-agent-release.txt +++ b/requirements-agent-release.txt @@ -34,7 +34,7 @@ datadog-ceph==4.4.0; sys_platform != 'win32' datadog-cert-manager==6.3.0 datadog-checkpoint-harmony-endpoint==1.2.0 datadog-checkpoint-quantum-firewall==1.3.0 -datadog-checks-base==37.34.0 +datadog-checks-base==37.34.1 datadog-checks-dependency-provider==3.2.0 datadog-checks-downloader==9.1.0 datadog-cilium==6.3.0 diff --git a/ringcentral/assets/logs/ringcentral.yaml b/ringcentral/assets/logs/ringcentral.yaml index 3698f3cc58b2b..2ed825e87e6be 100644 --- a/ringcentral/assets/logs/ringcentral.yaml +++ b/ringcentral/assets/logs/ringcentral.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: ringcentral metric_id: ringcentral backend_only: false diff --git a/sanity/assets/logs/sanity.yaml b/sanity/assets/logs/sanity.yaml index 785daccdfb70d..fff0b5b4c23b5 100644 --- a/sanity/assets/logs/sanity.yaml +++ b/sanity/assets/logs/sanity.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: sanity metric_id: sanity backend_only: false diff --git a/shopify/assets/logs/shopify.yaml b/shopify/assets/logs/shopify.yaml index c099b9da32853..709aaf30749d4 100644 --- a/shopify/assets/logs/shopify.yaml +++ b/shopify/assets/logs/shopify.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: shopify metric_id: shopify backend_only: false diff --git a/slurm/assets/logs/slurm.yaml b/slurm/assets/logs/slurm.yaml index 5ba1f09ed5c25..6cfdaf2bb48d8 100644 --- a/slurm/assets/logs/slurm.yaml +++ b/slurm/assets/logs/slurm.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: slurm metric_id: slurm backend_only: false diff --git a/sophos_central_cloud/assets/logs/sophos-central-cloud.yaml b/sophos_central_cloud/assets/logs/sophos-central-cloud.yaml index 1cd10a39dafb5..d2a3311a592fc 100644 --- a/sophos_central_cloud/assets/logs/sophos-central-cloud.yaml +++ b/sophos_central_cloud/assets/logs/sophos-central-cloud.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: sophos-central-cloud metric_id: sophos-central-cloud backend_only: false diff --git a/supabase_cloud/assets/logs/supabase-cloud.yaml b/supabase_cloud/assets/logs/supabase-cloud.yaml index 40988a8f83566..3a6e1406326a4 100644 --- a/supabase_cloud/assets/logs/supabase-cloud.yaml +++ b/supabase_cloud/assets/logs/supabase-cloud.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: supabase-cloud metric_id: supabase-cloud backend_only: false diff --git a/suricata/assets/logs/suricata.yaml b/suricata/assets/logs/suricata.yaml index 044b32c69e511..2c68bc775aab5 100644 --- a/suricata/assets/logs/suricata.yaml +++ b/suricata/assets/logs/suricata.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: suricata metric_id: suricata backend_only: false diff --git a/symantec_endpoint_protection/assets/logs/symantec-endpoint-protection.yaml b/symantec_endpoint_protection/assets/logs/symantec-endpoint-protection.yaml index f12761db9c08a..06bd506f5846a 100644 --- a/symantec_endpoint_protection/assets/logs/symantec-endpoint-protection.yaml +++ b/symantec_endpoint_protection/assets/logs/symantec-endpoint-protection.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: symantec-endpoint-protection metric_id: symantec-endpoint-protection backend_only: false diff --git a/tanium/assets/logs/tanium.yaml b/tanium/assets/logs/tanium.yaml index e5bed5e58e69f..5e93721fca0fe 100644 --- a/tanium/assets/logs/tanium.yaml +++ b/tanium/assets/logs/tanium.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: tanium metric_id: tanium backend_only: false diff --git a/temporal/assets/logs/temporal.yaml b/temporal/assets/logs/temporal.yaml index 84e29338d4665..9fe449da605e8 100644 --- a/temporal/assets/logs/temporal.yaml +++ b/temporal/assets/logs/temporal.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks # bypass-global-facets-path-checks id: temporal metric_id: temporal diff --git a/tenable_io/assets/logs/tenable-io.yaml b/tenable_io/assets/logs/tenable-io.yaml index 3ee1fb025a76e..b33c88a280582 100644 --- a/tenable_io/assets/logs/tenable-io.yaml +++ b/tenable_io/assets/logs/tenable-io.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: tenable-io metric_id: tenable-io backend_only: false diff --git a/trellix_endpoint_security/assets/logs/trellix-endpoint-security.yaml b/trellix_endpoint_security/assets/logs/trellix-endpoint-security.yaml index cefe7727ddd76..91bd733998013 100644 --- a/trellix_endpoint_security/assets/logs/trellix-endpoint-security.yaml +++ b/trellix_endpoint_security/assets/logs/trellix-endpoint-security.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: trellix-endpoint-security metric_id: trellix-endpoint-security backend_only: false diff --git a/trend_micro_email_security/assets/logs/trend-micro-email-security.yaml b/trend_micro_email_security/assets/logs/trend-micro-email-security.yaml index 05a900fbf33af..587d6b05c0b17 100644 --- a/trend_micro_email_security/assets/logs/trend-micro-email-security.yaml +++ b/trend_micro_email_security/assets/logs/trend-micro-email-security.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: trend-micro-email-security metric_id: trend-micro-email-security backend_only: false diff --git a/trend_micro_vision_one_endpoint_security/assets/logs/trend-micro-vision-one-endpoint-security.yaml b/trend_micro_vision_one_endpoint_security/assets/logs/trend-micro-vision-one-endpoint-security.yaml index d7075d6559969..db63e7e295cd8 100644 --- a/trend_micro_vision_one_endpoint_security/assets/logs/trend-micro-vision-one-endpoint-security.yaml +++ b/trend_micro_vision_one_endpoint_security/assets/logs/trend-micro-vision-one-endpoint-security.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: trend-micro-vision-one-endpoint-security metric_id: trend-micro-vision-one-endpoint-security backend_only: false diff --git a/trend_micro_vision_one_xdr/assets/logs/trend-micro-vision-one-xdr.yaml b/trend_micro_vision_one_xdr/assets/logs/trend-micro-vision-one-xdr.yaml index b50e8eb0df708..65dd629c03fa2 100644 --- a/trend_micro_vision_one_xdr/assets/logs/trend-micro-vision-one-xdr.yaml +++ b/trend_micro_vision_one_xdr/assets/logs/trend-micro-vision-one-xdr.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: trend-micro-vision-one-xdr metric_id: trend-micro-vision-one-xdr backend_only: false diff --git a/valence_security/assets/logs/valence-security.yaml b/valence_security/assets/logs/valence-security.yaml index ad71ae6b66de8..7a8d78d7f1d58 100644 --- a/valence_security/assets/logs/valence-security.yaml +++ b/valence_security/assets/logs/valence-security.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: valence-security metric_id: valence-security backend_only: false diff --git a/watchguard_firebox/assets/logs/watchguard-firebox.yaml b/watchguard_firebox/assets/logs/watchguard-firebox.yaml index 0e4e3341f47d7..219867c178038 100644 --- a/watchguard_firebox/assets/logs/watchguard-firebox.yaml +++ b/watchguard_firebox/assets/logs/watchguard-firebox.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks # bypass-global-grok-parser-rules-checks id: watchguard-firebox metric_id: watchguard-firebox diff --git a/wazuh/assets/logs/wazuh.yaml b/wazuh/assets/logs/wazuh.yaml index de9d1d576db77..88de10212117c 100644 --- a/wazuh/assets/logs/wazuh.yaml +++ b/wazuh/assets/logs/wazuh.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: wazuh metric_id: wazuh backend_only: false diff --git a/zeek/assets/logs/zeek.yaml b/zeek/assets/logs/zeek.yaml index bd8210c275972..528fba092c81b 100644 --- a/zeek/assets/logs/zeek.yaml +++ b/zeek/assets/logs/zeek.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks # bypass-global-missing-date-remapper-checks id: zeek metric_id: zeek diff --git a/zero_networks/assets/logs/zero-networks.yaml b/zero_networks/assets/logs/zero-networks.yaml index cb705698e86bb..667aab5afce2b 100644 --- a/zero_networks/assets/logs/zero-networks.yaml +++ b/zero_networks/assets/logs/zero-networks.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: "zero-networks" metric_id: "zero-networks" backend_only: false diff --git a/zscaler_private_access/assets/logs/zscaler-private-access.yaml b/zscaler_private_access/assets/logs/zscaler-private-access.yaml index 88ff0c532a425..210adfd5abc85 100644 --- a/zscaler_private_access/assets/logs/zscaler-private-access.yaml +++ b/zscaler_private_access/assets/logs/zscaler-private-access.yaml @@ -1,3 +1,4 @@ +# bypass-global-no-service-config-checks id: zscaler-private-access metric_id: zscaler-private-access backend_only: false