diff --git a/.in-toto/tag.ec45eb9d.link b/.in-toto/tag.ec45eb9d.link index 845fbc1600231..04ab2841d9339 100644 --- a/.in-toto/tag.ec45eb9d.link +++ b/.in-toto/tag.ec45eb9d.link @@ -1 +1 @@ -{"signatures":[{"keyid":"ec45eb9dac9d6ba1bcd131314583c67851bebf0d","other_headers":"04000108001d162104ec45eb9dac9d6ba1bcd131314583c67851bebf0d050268a61ea9","signature":"18dcba221d3944334ecd4f7e258bc3f9236ddf9c4873a17e4a7d9f9d6ec819db6163166fa20237d0d34c5d49f3940053511fbf4fef6ab81e0579804a3a072ed2a4b8624033ac2c26f9d0149da6db41056154dc743b7b85201da1de954ec7a881e38a469ca8cf018eef0b040715eeee924b42f8447767222910d048b057d0952f51702ad8c2ec72b896bf6cd333759beef2f0af8f1188f85a79c23e4fe79ae87c3905796d8df207b1f2d89f01df61f9d595a3bbcfb408f8c2a5dc1bfeca61a2b65a0bc52979102f16655480bcc3e7e49d41e0112554931f851a71bd5347c81cd3f1b8ff546f6c660bf5cfcc2fea6b0cb5f2108bc70ad131d05f4bb72cfa354a9789d335a390de914fca7bbebacc5639e84dd9f26efb7c46350e7210953fd63f2349a9748ff96a890f0f86bc0db2d34a24eaf57b1aad67c666bcf3f8a79b6980a51c795d8675f28ecfdd6f7637985d00a4507f9f7c2373eef6f8cc11c435699087c661ee1a31b42a574db193a5a08d9d6285aded04845da030976bac264303ab74147a9beea40c54525184b2df2e3db3d391026addbc7bd2f6d389af01d4d30d9abd9c4c64653abd7ec08e344272a00e297ed2e59548de4a6dc26c0ae552d4600b009263d9e659006963cfe7785fb7cf8204171d7b6b4a6fa2d72e15c288be5baf469e2e7a965d5edc3f49f9ffa446cebd41b4efad7ac18377915765c17729d451"}],"signed":{"_type":"link","byproducts":{},"command":[],"environment":{},"materials":{},"name":"tag","products":{"datadog_checks_dev/datadog_checks/dev/__about__.py":{"sha256":"c912cdb7bc355f29c062024748c4ec6a6a2862f90b688e2ef4980c43db7b25f3"},"datadog_checks_dev/datadog_checks/dev/__init__.py":{"sha256":"a719d056d27f47df5fcd37b6f4d584d1e6a7cbccef33ae01da2520b19c7dd722"},"datadog_checks_dev/datadog_checks/dev/__main__.py":{"sha256":"0b1c4bcaa055bf74aabb2b821b4b1c26b0833439ab59d91193feb086d1627ac2"},"datadog_checks_dev/datadog_checks/dev/_env.py":{"sha256":"278a8a9d9890480717189a046f00ca9b95bb5972436ebc6ba42150d617463c8d"},"datadog_checks_dev/datadog_checks/dev/ci.py":{"sha256":"b875146a73600103434a19c0407eca3280c3714f5b773316e2ba27c305ad7544"},"datadog_checks_dev/datadog_checks/dev/conditions.py":{"sha256":"3c2c720cc4a43e88ac59730eb045247b3c698e7038ae5719bad7da654322f4b0"},"datadog_checks_dev/datadog_checks/dev/docker.py":{"sha256":"88a20535ca303b5b912de295862bc7cd18c25a774770ed7194cccff066483731"},"datadog_checks_dev/datadog_checks/dev/env.py":{"sha256":"8d90808a53ac87a0db9bad4c4babfd003ad116a84af507262f57ccfb7b694053"},"datadog_checks_dev/datadog_checks/dev/errors.py":{"sha256":"b048cb0dab6b7cab91e38ae0de73b8e167a62c03b940a7e679040b5a3eff8605"},"datadog_checks_dev/datadog_checks/dev/fs.py":{"sha256":"71ed6ff92c80eb4c18aa81a5172d258e80c459c51aaa7e14fefa920d81bb7302"},"datadog_checks_dev/datadog_checks/dev/http.py":{"sha256":"7c7191d5d772f02a808f7c873da62d61bd47ca0efe292f9a757061ee6df6945e"},"datadog_checks_dev/datadog_checks/dev/jmx.py":{"sha256":"0c9fe850e36987cfc91711f37e26ca9e094880855293f26c58ae368d375976a4"},"datadog_checks_dev/datadog_checks/dev/kind.py":{"sha256":"91d8c59362af0acbf6f48f7d455e72e1b7257d25a89a5bd4a19e24047712487b"},"datadog_checks_dev/datadog_checks/dev/kube_port_forward.py":{"sha256":"39690a158ba1f82521e54a438a1502090a1a6d74539e21dbbab2bf6c2c02877f"},"datadog_checks_dev/datadog_checks/dev/plugin/__init__.py":{"sha256":"4c2d2aee209b36a7188df5396b304da429e2f0b01060e7d8e8500313749910f0"},"datadog_checks_dev/datadog_checks/dev/plugin/pytest.py":{"sha256":"69b6f5307ca761ca08c0a45aa90e5ddf86355df21ddec7190486b17dd3a76fe2"},"datadog_checks_dev/datadog_checks/dev/spec.py":{"sha256":"145c7b93d41da315b567f8dba92c07069ee0ddd67ef508d8b4540ca997bd3911"},"datadog_checks_dev/datadog_checks/dev/ssh_tunnel.py":{"sha256":"131c88d649ac11f70e81be3b047f56e816284bd5a2210ac14fb830db53baaa6c"},"datadog_checks_dev/datadog_checks/dev/structures.py":{"sha256":"0c660cab8cb5528ed495e9c213fca923648e6d22620f21fd94bfd89ce3f31004"},"datadog_checks_dev/datadog_checks/dev/subprocess.py":{"sha256":"82204a306c5761d875230d0ace2e2eb5786976c7acec077676c766f2834d7c90"},"datadog_checks_dev/datadog_checks/dev/terraform.py":{"sha256":"49e80a404fb068f3fb9447c93735ed75238b134300136201a298cafd940b6c64"},"datadog_checks_dev/datadog_checks/dev/testing.py":{"sha256":"93ebb2a4fbab79d8e22044815019c639353eac0095846234a2716dc38d8c5ab1"},"datadog_checks_dev/datadog_checks/dev/tooling/__init__.py":{"sha256":"4c2d2aee209b36a7188df5396b304da429e2f0b01060e7d8e8500313749910f0"},"datadog_checks_dev/datadog_checks/dev/tooling/__main__.py":{"sha256":"60b67815a138da81e4984c304402f61c4ed7282374e9e8cdfe8fca21200f57af"},"datadog_checks_dev/datadog_checks/dev/tooling/catalog_const.py":{"sha256":"22d1c5932d586df0e894eaf22b496871148cae968086c9239523417000c7e176"},"datadog_checks_dev/datadog_checks/dev/tooling/clean.py":{"sha256":"26cf28c17b51f92b7d09d3ecec2201088d80e327a50ab966607184b4f2d1e572"},"datadog_checks_dev/datadog_checks/dev/tooling/cli.py":{"sha256":"34733f537c730971f407ec769872cca753be342ed0263be4b1dfcc1aa81834fd"},"datadog_checks_dev/datadog_checks/dev/tooling/codeowners.py":{"sha256":"4395fc4b7cf59c749a85d567e53537c35283b2fb698a432ddfce0396bc3a4b09"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/__init__.py":{"sha256":"cd559ab9d0222c6566cbc40acec1d07e34b32d1e24f9a7a5c3b1315cda0d74d6"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/agent/__init__.py":{"sha256":"21f07a02f2dab8873d774e0c096945a5a871c9a74d898860c984a11528a1f13b"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/agent/requirements.py":{"sha256":"27bd368e8fe46007c1424bebb0c39cff8ccea768871e65be4784328538da0f17"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/ci/__init__.py":{"sha256":"191a8d4d6140548f010dab64e178201c27cdce9ad85a5f76c1a1baba9151130c"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/ci/setup.py":{"sha256":"8904dbe4af0c5c9412395edcbc8f142e9d9fdef3effce461098b653574a8f2f3"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/clean.py":{"sha256":"1bb029c1daca11415d7126678b91ca1fe22e08842ca36eb60e5ef3233f13e0a4"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/config.py":{"sha256":"59ef97521562e03817d40de931e6daaedb4fe9cdf8cf0ba99fc043ca3c0cd52e"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/console.py":{"sha256":"d814e114f19f176b0e657b9bdee5a12f4fc7b21a4f5db07b01eb6df99541ad72"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/create.py":{"sha256":"a2c7b1339097a7d50ce23b082ea91f89365d80763d415a77a5c450a25f4c837b"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/__init__.py":{"sha256":"7f89a95c9b5565479c9ecce8e2bc99edea02448afaaa73b216448025c9459078"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/catalog.py":{"sha256":"e4d0603eaab4fa5b2f8129ee91e4a09dcb5a882687dbde22d9f0baf08da0bba5"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/changes.py":{"sha256":"c6c3aeb0cb8399a65cdd5f978409cb2dc9f098a9013a36cb0f8f520cae8cfa80"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/create_commits.py":{"sha256":"a55accd20ba64cb4e26c4688e73303c334debd5f12dbe44f724f5c8ac4591cb4"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/dashboard.py":{"sha256":"74e885639e6b81e80725c342d04222d973046959924f8dbc02b43df52fc68fc7"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/jmx.py":{"sha256":"d69583441c46d56c3c19e94ec5e73d27534bd15c064c16b7f8a77ed7750f17a0"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/manifest.py":{"sha256":"d9abfa182f6478afe71484e0da2407faea92354e16e0cbf4c920da0c85f0e979"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/prometheus.py":{"sha256":"b62250011bcfb4dae0407dad0fc35b9ff80583f530253c9cba246b26e21ae043"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/scripts/__init__.py":{"sha256":"c28c912cf99522f2fefd97444a9ab5117881e76db6a0d095afafcae0b8c182bc"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/scripts/github_user.py":{"sha256":"7adea7ebeb468208b67a1e8ecf8e3e668d016f1f79f8b94f867207d9ce6cd341"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/scripts/metrics2md.py":{"sha256":"3db16fc01f80155a9b062c8c257e361248aa40aaedc3cd6529f903ab5dbf7355"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/scripts/remove_labels.py":{"sha256":"b6621525a80d92ae8a7c6591e132b8f380cd949d669ed6a590a18a29ee3f6afb"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/snmp/__init__.py":{"sha256":"b05b300236e8c7852bd02fae245ce8c905e4d7bcb2b0d6543366b030f460d97d"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/snmp/constants.py":{"sha256":"91bc112010f6f9fd4e040e89421a2b97fb07060fc402b21bbac3a3d00fce38ae"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/snmp/generate_profile.py":{"sha256":"1806f45c2fea3991ef395cde95f117a04d0a1a158089a39f0a8e09b129e75f2c"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/snmp/generate_traps_db.py":{"sha256":"f3fe878e6af896e8981d10b8122c8b9692420c6586c389b22f86e37caece52fe"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/snmp/translate_profile.py":{"sha256":"25263b7f6a380dcafcef8698ff2ee165be73db58ebddae7939073e30494856f8"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/snmp/validate_mib_filenames.py":{"sha256":"742a3d4234383cea64b06df81e5756d63d6dee9794caa772ac22f9d7997ccc60"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/snmp/validate_snmp_profiles.py":{"sha256":"9fec522d2193a9817ad0a7f35ea46a0550f328459f9c737b34167a1055dda207"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/snmp/validators/__init__.py":{"sha256":"083f2ce9f2d3e8104a83c7c94be9ab6562cb5c9294581b913992d5441e07b82a"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/snmp/validators/profile_schema.json":{"sha256":"2bfde4d49c86e8c1906e2182f3a0be827f4f90b6cf42a156fe30c0c102735ae0"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/snmp/validators/utils.py":{"sha256":"e4929fc5b445720f247a776aed7d91e777e7f7dc32b261e964b5937b9723f309"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/snmp/validators/validator.py":{"sha256":"79d1835178c5c4d5b3f66cdda4d4e2870751f2514a55734b09c9c5e485941554"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/windows/__init__.py":{"sha256":"42adde34af2d619ba62aa4a20b345a413f66f6799b9cffa595a1d35ee77f84ec"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/windows/pdh.py":{"sha256":"d325da21596e3c7a0707eec734c923a1f5a762166fa25a93f6e4967072d83c31"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/release/__init__.py":{"sha256":"2f6c05d3a9dfea59350a775201a1f57de5f71c6cc5bcfd412a523481c15f29b9"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/release/build.py":{"sha256":"e827e1b7c7543c8d0ce7d1f6053940db1a7a7597fdddd68278406ca0fb391e46"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/release/changelog.py":{"sha256":"c178c26a3a678569142cc63ca040002bc3265e0bba431ce42874a3d41a164d3e"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/release/make.py":{"sha256":"9df365673e025258474d72220ca5a87d817a0ac9177c4eafdc6344881f94bf19"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/release/show/__init__.py":{"sha256":"76701cad3b42c9ad904ab8f92caeb26818cad3599818e45eb672e6147d6c6a1f"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/release/show/changes.py":{"sha256":"913df3a4a0b8ed8ffe2e94fc2257214afcb834398ae3f0aeb2f65734c90d3014"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/release/show/ready.py":{"sha256":"9bbd87f1619ea299adebdaf2e5b103dec183df21192e714245a4d8e65fb85817"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/release/stats/__init__.py":{"sha256":"5b5187c36eb3953d3ef79a67ef28677078139b5f2849496f091176f682578a78"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/release/stats/common.py":{"sha256":"14f2e48bdd2e28725bc9fe7e1f6698b089e27a48843e9c8576c966e46d682816"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/release/stats/stats.py":{"sha256":"0d592d29a62bb8015d25169160fcacb13eded76f17440443c0bf15f06c3283ec"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/release/tag.py":{"sha256":"1eef56cfaaa864879f08bf6436fe2d975ed9f9b1143cbd60a3fbe35994a83caa"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/release/upload.py":{"sha256":"9f007284bb93d6045379b3b9b4499e43a5add5c61fb25980ebacbe6506256536"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/run.py":{"sha256":"eb83338d3dd81e1ee203ee7bd0a8ddcbc38959aea0d9d7ca3b9887ae306721fe"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/test.py":{"sha256":"4b02aaf407453bb81ee83d2358d566fc45cf7835ada89fc24230f91cd35dc9cc"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/validate/__init__.py":{"sha256":"5fc69ba42f0b93d144d18b24c4a764a3ffbff6168f04db6dd5b2d4746490b670"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/validate/agent_reqs.py":{"sha256":"26b2e418cedb375ec7faab92b5bab195960be34c50e35716aa9079909fa3a75d"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/validate/agent_signature.py":{"sha256":"9c2c47ef5ea86a3365456f962effb86b0e3c92230f70cf0810687ad2ae2664cf"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/validate/all_validations.py":{"sha256":"aebd07e0b4be3e9b7acbd37b56d0a2fd1e33c6c0b7284e01667670631cfda31c"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/validate/codeowners.py":{"sha256":"8d9d52c1dc3435605679f188826145410916e5af9690508a882d2a26bae99a24"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/validate/config.py":{"sha256":"ebac5d709b4773d95b19e3fc22e5fe51696017eb084367698017f0a176093a28"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/validate/dashboards.py":{"sha256":"e62fc52d3826b58eef76185f1022c86e0a0aa4ca5171cda368e774f1c6ebf3fb"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/validate/dep.py":{"sha256":"7100a3981c3c0a00d155c577cbc16105c37c7b42d3b91b124da0339d72ac404f"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/validate/eula.py":{"sha256":"72deaa49112bc555d65fd821158b6c799d9a7802c6febbdb755fac9d0255c891"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/validate/imports.py":{"sha256":"be00a90da9019803a12d778fc4d4365531af61a225b7f815c95584f1acba4df0"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/validate/integration_style.py":{"sha256":"55e6099e1f3fda4613d4026159405dd409fecec7ea301bd4dfa062aa9742e5e8"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/validate/jmx_metrics.py":{"sha256":"4f825a9fd4b3f7acbd2ea952b792dba15930b046379e1146a07521912146d85f"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/validate/license_headers.py":{"sha256":"b214145ce33a2371afe7b5a8787f31c8d7ffccfeb8fbdd994ca3e02a1de293c0"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/validate/licenses.py":{"sha256":"47bd983ca307f3ee9b08a07e6f44b0b284831836384ebbda82b30c5efa15f2ed"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/validate/models.py":{"sha256":"3f2095a6003ab4e0055e164accf602a6d46b5be030fdb7d6bb12770eb4d428f7"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/validate/package.py":{"sha256":"1fe66713d8d57afd22a7aa66a7a62a6a74097d8b25f7c5137839a03232d29cab"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/validate/readmes.py":{"sha256":"759c7dcd7afd3a607c9a08a091582139cf0accfa686dd4e66f8074015e7eb0a2"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/validate/saved_views.py":{"sha256":"7f4f4d562b84c8fa0fa960857057b3ad4c8437c560320621e5678ccf1051ec42"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/validate/service_checks.py":{"sha256":"845e37d9a93ac6fc0e75feefe0fc16d8975b4f57031c696be8b3dfe2b8f235e0"},"datadog_checks_dev/datadog_checks/dev/tooling/commands/validate/typos.py":{"sha256":"680b9ca420713092fa759f7feee86bdce166282765273bfd8c154c0ba43a7ed2"},"datadog_checks_dev/datadog_checks/dev/tooling/config.py":{"sha256":"a1624a8fccdbd389d4a5fa7157a0c185f63d7976a5956df119ebef9603eca104"},"datadog_checks_dev/datadog_checks/dev/tooling/config_validator/__init__.py":{"sha256":"a37696bf2dcf872903fe1ed84f7b3adbc3b45b66291e2b3436542c495d4f234e"},"datadog_checks_dev/datadog_checks/dev/tooling/config_validator/config_block.py":{"sha256":"4eb448f403bee6396bc17bce6053897ef5a69bdcdff6ccfefeeb9519c5c8a14d"},"datadog_checks_dev/datadog_checks/dev/tooling/config_validator/utils.py":{"sha256":"2e88a21bcf38d3357aa68ab3a3bf688eddc796960be25c3b7952bde36fbb0697"},"datadog_checks_dev/datadog_checks/dev/tooling/config_validator/validator.py":{"sha256":"f2749d57ab97175ecf9626864e3414e361ab2332802d742f60d97c26a9828a7a"},"datadog_checks_dev/datadog_checks/dev/tooling/config_validator/validator_errors.py":{"sha256":"e3920ed0847a7537d45fddb5398e657c1742cee9c27cfaf453add2fc795a63fd"},"datadog_checks_dev/datadog_checks/dev/tooling/configuration/__init__.py":{"sha256":"7f40321b073a61d5d03139ebf0167051f11838ca7b6242332dabcbbb9bbe325e"},"datadog_checks_dev/datadog_checks/dev/tooling/configuration/constants.py":{"sha256":"69dc667a35940e6c488ed9f0197333b6b3e2765bdd1ca5a9bcf23266977a111d"},"datadog_checks_dev/datadog_checks/dev/tooling/configuration/consumers/__init__.py":{"sha256":"3fad58a28211e9fb13fcab3d29843e726d800c1c2202b87295eb423cfd206046"},"datadog_checks_dev/datadog_checks/dev/tooling/configuration/consumers/example.py":{"sha256":"86ff8fe1ecd7d0a8a0fbb3d053175ebadc713636fbbbcc528cfbfd8a8d6f0cd5"},"datadog_checks_dev/datadog_checks/dev/tooling/configuration/consumers/model/__init__.py":{"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"datadog_checks_dev/datadog_checks/dev/tooling/configuration/consumers/model/model_consumer.py":{"sha256":"af3adf329489175f6ab6f22710c60b4f2a0dd650250b3653ed032bb63d250696"},"datadog_checks_dev/datadog_checks/dev/tooling/configuration/consumers/model/model_file.py":{"sha256":"6dbb93d2c46ef27829eab53baa6adb87c9ae3a4e2dfe02733c45e2b1c7fbea45"},"datadog_checks_dev/datadog_checks/dev/tooling/configuration/consumers/model/model_info.py":{"sha256":"b90c7f6f112cc8c86813bea24d25fcc37bc11255cfb7695364cb87fecda0334b"},"datadog_checks_dev/datadog_checks/dev/tooling/configuration/consumers/openapi_document.py":{"sha256":"fdbf61e7207bb6ca571a80a6a6b6f6adf14b711cba2c8d60c55f63c7fe021768"},"datadog_checks_dev/datadog_checks/dev/tooling/configuration/core.py":{"sha256":"2580c9a8d48a6bbf00f2413ad65e689fbdc772f9a94ad1ab33ef7960d08d8da6"},"datadog_checks_dev/datadog_checks/dev/tooling/configuration/spec.py":{"sha256":"8f41a1ca8d47018e09dde1f22f0c72e24be25a1f25798d0ddfd0f6a22d1db628"},"datadog_checks_dev/datadog_checks/dev/tooling/configuration/template.py":{"sha256":"4d5f7450c70c792200d1bf0f927b5d49f5d08269c56ce636058be8966c346d5a"},"datadog_checks_dev/datadog_checks/dev/tooling/constants.py":{"sha256":"5ba6d18712dd95979ab90dfb93fbbe096b2386aaa7f1fe8196f6a436081dff04"},"datadog_checks_dev/datadog_checks/dev/tooling/create.py":{"sha256":"1660c305e54b9263350478facbc91a4274b3f835aa93945c136d9d05b8695a89"},"datadog_checks_dev/datadog_checks/dev/tooling/datastructures.py":{"sha256":"58411715d64348e60f964fb58a55481e58a0859a33a75de5eaa86b64ade0bf58"},"datadog_checks_dev/datadog_checks/dev/tooling/dependencies.py":{"sha256":"e5ffcf08ff08f918f1f6de8256fe55c1e0b4765ba35fff99dc530662670e5f98"},"datadog_checks_dev/datadog_checks/dev/tooling/e2e/__init__.py":{"sha256":"041770d4abd7a492615e0a23c062ffd3748f7f26678f2abc42450caf6ba7cd0a"},"datadog_checks_dev/datadog_checks/dev/tooling/e2e/agent.py":{"sha256":"7039c9dc9f04beb95bde3a244a6747fa5a5ce310495f776def606a021e38b017"},"datadog_checks_dev/datadog_checks/dev/tooling/e2e/config.py":{"sha256":"a6e4743f5d114464af0d1561085540d2e05b9eb6b2a4669b88e4a859cc7872c4"},"datadog_checks_dev/datadog_checks/dev/tooling/e2e/core.py":{"sha256":"1f810b8a4b0e9f6b6fb7811a2ee575a499cc2cba2563901d80ff2fdb50c47d81"},"datadog_checks_dev/datadog_checks/dev/tooling/e2e/docker.py":{"sha256":"27b605c3b2c99337cff4ad4b8bff848ea881afee91758383a32094079a83151c"},"datadog_checks_dev/datadog_checks/dev/tooling/e2e/format.py":{"sha256":"49bb2b401ee27d448ad1c49dc3c2a161291db670ba9bc9411d3f06ee7902984d"},"datadog_checks_dev/datadog_checks/dev/tooling/e2e/local.py":{"sha256":"d2e1cc5e5426ab1ddf115ea6c47be3c2ae4c0599008d90e9bf1a39606c824d6f"},"datadog_checks_dev/datadog_checks/dev/tooling/e2e/platform.py":{"sha256":"dfb3a670a0cc6e64c496f7cd6905650347d80b869630ad7aedab0a4dbbfc5f11"},"datadog_checks_dev/datadog_checks/dev/tooling/e2e/run.py":{"sha256":"d93c773077a0e4cf2e2bb7d6e8fc0823a138cb3432bd3c00ab00fda45f0757a1"},"datadog_checks_dev/datadog_checks/dev/tooling/git.py":{"sha256":"5b5c77f8f358ac3d6bdcb9ef65005cfe2952d09d6904d2bf181f91e41db5011e"},"datadog_checks_dev/datadog_checks/dev/tooling/github.py":{"sha256":"ebcc9462dc23caab6d30b951b69ec827242de50cf0b75b4ffd97f19753444422"},"datadog_checks_dev/datadog_checks/dev/tooling/license_headers.py":{"sha256":"a3d165a8d452d95592cb3e7f7ad4ef559754c5671476fa92914a599dc8530c48"},"datadog_checks_dev/datadog_checks/dev/tooling/manifest_utils.py":{"sha256":"7644e6d75a17e923f846bfe09222d579afde3661e3186312120563a8a462738b"},"datadog_checks_dev/datadog_checks/dev/tooling/manifest_validator/__init__.py":{"sha256":"afb09b643841291ec16223b06f073404a4b1ecf9d1432719f319a75153528b53"},"datadog_checks_dev/datadog_checks/dev/tooling/manifest_validator/common/__init__.py":{"sha256":"72811b8621e09b2c2584eef89feee2146cd5cb8e0e775c80c1af031152ebeba4"},"datadog_checks_dev/datadog_checks/dev/tooling/manifest_validator/common/validator.py":{"sha256":"37c56e2d10c87ad9ea62036fd481f20d67bba5862cbbad119695b8e04916e334"},"datadog_checks_dev/datadog_checks/dev/tooling/manifest_validator/constants.py":{"sha256":"8ddfd4b9bf11df5930e9a8eb343d48cc8e92be019c2baf613ce4dec3860ad9cf"},"datadog_checks_dev/datadog_checks/dev/tooling/manifest_validator/v2/__init__.py":{"sha256":"72811b8621e09b2c2584eef89feee2146cd5cb8e0e775c80c1af031152ebeba4"},"datadog_checks_dev/datadog_checks/dev/tooling/manifest_validator/v2/migration.py":{"sha256":"90ff485584a3b04d804b5beaedff2667efa4d7241d69dd0ab8271b73c63f81ad"},"datadog_checks_dev/datadog_checks/dev/tooling/manifest_validator/v2/validator.py":{"sha256":"5b1dada311ee2d481ed72a54e285d7d5fdc367e96ecf5404bf772525dacf93d9"},"datadog_checks_dev/datadog_checks/dev/tooling/release.py":{"sha256":"515a55ed55649ad2db5c55b3c16062acb526291d4d59a438be8c9d8843d0e7ba"},"datadog_checks_dev/datadog_checks/dev/tooling/signing.py":{"sha256":"8230f1d7013511186d50d3495b38290cf640460140f9d97bff256cf0ff6c4aaa"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/ad_identifiers.yaml":{"sha256":"debad2c0564fceaa7bc21481ce43ba4d1309a769ac8fb67e65c707a6b9e49f42"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/common/perf_counters.yaml":{"sha256":"9001b82611b1107c4014161991967e21eb725b251abcb50965c80ca9255b313c"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/init_config.yaml":{"sha256":"0b03d07105545af963c8e1d332236612961de12ebc473a917dbfc29d8ec3198b"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/init_config/db.yaml":{"sha256":"341c52cdd3d44c7540107ee791b6cd0be7f225143a57c930cf33ba87b7e24d1f"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/init_config/default.yaml":{"sha256":"d1d899a235b713e1dc277e4e149f03b9caaf3a657c2900776d02f1a5ca54b5c6"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/init_config/http.yaml":{"sha256":"b0d3492b6ed3eafa40a5cf23bd9e6a8e4074960e060f7733da4f11b0bc75894f"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/init_config/jmx.yaml":{"sha256":"56996f66f2ec8ecbaef25cadad04743760f3d36711bdfbff337f61c4c4616e4f"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/init_config/openmetrics.yaml":{"sha256":"5bd455963b3ba5b4e8b1cd835630d06c91231aaa5c88bbba0870c35917ce6df4"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/init_config/openmetrics_legacy.yaml":{"sha256":"5bd455963b3ba5b4e8b1cd835630d06c91231aaa5c88bbba0870c35917ce6df4"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/init_config/openmetrics_legacy_base":{"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/init_config/perf_counters.yaml":{"sha256":"b72ab4bf57cda61f33a759905fa6070482e21f174ffd7ca304c2b781d2458ee5"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/init_config/service.yaml":{"sha256":"9be396dbf8f78327572d7ee1c391f2145cf9140c8241b2788e15278b8208425c"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/init_config/tags.yaml":{"sha256":"70797d15cfd8c7310cbe428ea21b3717045fc933184431736ab8bcdf4e4773af"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/instances.yaml":{"sha256":"bab548f2d4f06a84e38c03e5ba71df6b5b4727a9c6fd9b10744d62b1324a3ea9"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/instances/all_integrations.yaml":{"sha256":"de9afd1055fb7e6402e226f9ab1bf51fb3a78d3deeb7eb2dd6e17af4dc3bc78e"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/instances/db.yaml":{"sha256":"39217c27d0b02278962d1f29e3ee6f81ea5728c66137464b8ce4cabd9f59295a"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/instances/default.yaml":{"sha256":"ad2523157985ba4af6b02e3b040dac9fc6e1e9279e74d33593a84632296e149a"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/instances/global.yaml":{"sha256":"f2372b75408c2516c5d2cf805e9d66cbbba83b62774ebf95bc2a4d6459708413"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/instances/http.yaml":{"sha256":"71603667c5a95347658636b42cb426623c4f5a30062b562d8e52441414308eaa"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/instances/jmx.yaml":{"sha256":"6046c9eb0d2e7063ebdbc93012e69ba3c698ad5092b1c1d4b58217bd4539ea45"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/instances/openmetrics.yaml":{"sha256":"3e655c9d138c7792246c0d444a5e06d754bd0e27e6bccb65c19df3a0bb40f3da"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/instances/openmetrics_legacy.yaml":{"sha256":"f0cc0ba9b5eac9450b9a3f5c96c480dc096badf94aab0bfbbbede5cf5c6f9229"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/instances/openmetrics_legacy_base.yaml":{"sha256":"7b67f8b59ca7f85488a838f0beed74831ee30f1847fad86be9e8ffde3bb7136e"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/instances/pdh_legacy.yaml":{"sha256":"3ea8930990f557d90527ef9a41b7f5c35ad203638cbeb67ef5e2fdc2aee25912"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/instances/perf_counters.yaml":{"sha256":"20666e2e25b311cc7c6c65355a918ff968c4e791506d74f625ac9fcfb1c0522c"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/instances/service.yaml":{"sha256":"a2a42e1b8d014caca43db48877828a0f889f2cc16847068862e0f4bd2decb033"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/instances/tags.yaml":{"sha256":"5ae1915ed8f262a3c0db6f554f9a7f5daf52b5705cb50b3c4c2e319692a4925b"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/instances/tls.yaml":{"sha256":"1c62d622e28b014b9e27af2adae704c4686376c699af10c989df719079aad213"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/configuration/logs.yaml":{"sha256":"1182fc46b7d01535900e3b7373eb99b5d51d899fc6a5b827ee81db8c8e54bb8d"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/README.md":{"sha256":"05ae39533fd5b3774d9b63d34d96e5bed68d40a66f3868ee17ccde977916c640"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/CHANGELOG.md":{"sha256":"cd08a7bcb971c3046e8cf9217f98c19c86e38032c558d8b8ec786c9536f9e9c4"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/README.md":{"sha256":"981d74dd2b21b95dd207b2caae08d1dcc79d4cd8bfa0438e4c10f0ad17aeda63"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/assets/configuration/spec.yaml":{"sha256":"2ace40aafc7e0b9f6440d50101b8cecc32ba00d0bc9820e99a2e8632be05170d"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/assets/dashboards/{check_name}_overview.json":{"sha256":"7d5a3f4ecb4ed7c6d6efd236fb0bd94f31b0772472d9db02d4a063e759138222"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/changelog.d/1.added":{"sha256":"38c1fb60f69cf5b525500782b5ac0eaf0b4b8f0fcf4fa6f8cde96d83c316e07c"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/datadog_checks/{check_name}/__about__.py":{"sha256":"49c83d52895bf69c2ffbf1a32d3c3491961018693f68413bf494c63bbbd59c17"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/datadog_checks/{check_name}/__init__.py":{"sha256":"7afb749ce0829e4abed181098d56b8da0a07fbe5444ee8ed7037c04f04feca23"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/datadog_checks/{check_name}/check.py":{"sha256":"56740f050c32fdfecee90a8585384f8e09e5f879e73eabf52209568b050dcf69"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/datadog_checks/{check_name}/config_models/__init__.py":{"sha256":"a380172194927e06060e6560bde84d4316decc8a7acb39fa4b909cf952e06852"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/datadog_checks/{check_name}/config_models/defaults.py":{"sha256":"1d810b48a6f54c44c229424c2c9936d23c3fa75759e32193e5aa7ac915ade136"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/datadog_checks/{check_name}/config_models/instance.py":{"sha256":"13bd3f64d4e9f48771cc84fd9b9ece5d9f2eff5353b34900587381e81d1ab435"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/datadog_checks/{check_name}/config_models/shared.py":{"sha256":"5c43d21e0178045706b3de56810b5be58a45ea3b65bedfc3beed3800819bb278"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/datadog_checks/{check_name}/config_models/validators.py":{"sha256":"ff8691fdd4c4bc21e4feeab75b714040176265ffe25c6e056c521aec5c0299b5"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/datadog_checks/{check_name}/data/conf.yaml.example":{"sha256":"5e0de7f83fac0dba09f081681c16e127fb4be027f08eac6166a102268d26efad"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/hatch.toml":{"sha256":"fee3c389ba9967e7788481bfe72ae04b27079e59a9cd49de7b1411bb20b0d3d0"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/images/.gitkeep":{"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/manifest.json":{"sha256":"ea8c4a3a3ad8c4e694f1d5fcd16c4967ac76a46b9f417ff44ca3e35733ed6753"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/metadata.csv":{"sha256":"6ee51511155f603e08403c3df5713cf44d2437dbb27ec063dcf7bec61509694b"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/pyproject.toml":{"sha256":"71ded3b9612e5f9c48d67835236b542924007a57a6b8e7ed4626b79c59a9938b"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/tests/__init__.py":{"sha256":"d8dc47fd44c6ab1577c4fc677c41d029c4c6a9aac573ce844297b3fce71bb091"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/tests/conftest.py":{"sha256":"288ab38141b5fc11c7cbcce1d5850b5c85a461969a73a181bd9057a1b2919cf4"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check/{check_name}/tests/test_unit.py":{"sha256":"d83dccec6a699f4d928e3897910d660c449b7c2a3dc3aa92a899c4a2894a93dd"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check_only/{check_name}/CHANGELOG.md":{"sha256":"9b62870d871f1034fdaa04d43fefb612262dd11544f8ae03f595f276c98eaaf8"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check_only/{check_name}/README.md":{"sha256":"c3bfe979d381f3e6215593dbb0dff39bfd8539a85fb922bdeb70eb7469e00a16"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check_only/{check_name}/assets/configuration/spec.yaml":{"sha256":"2ace40aafc7e0b9f6440d50101b8cecc32ba00d0bc9820e99a2e8632be05170d"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check_only/{check_name}/changelog.d/1.added":{"sha256":"38c1fb60f69cf5b525500782b5ac0eaf0b4b8f0fcf4fa6f8cde96d83c316e07c"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check_only/{check_name}/datadog_checks/{check_name}/__about__.py":{"sha256":"49c83d52895bf69c2ffbf1a32d3c3491961018693f68413bf494c63bbbd59c17"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check_only/{check_name}/datadog_checks/{check_name}/__init__.py":{"sha256":"7afb749ce0829e4abed181098d56b8da0a07fbe5444ee8ed7037c04f04feca23"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check_only/{check_name}/datadog_checks/{check_name}/check.py":{"sha256":"56740f050c32fdfecee90a8585384f8e09e5f879e73eabf52209568b050dcf69"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check_only/{check_name}/datadog_checks/{check_name}/config_models/__init__.py":{"sha256":"a380172194927e06060e6560bde84d4316decc8a7acb39fa4b909cf952e06852"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check_only/{check_name}/datadog_checks/{check_name}/config_models/defaults.py":{"sha256":"1d810b48a6f54c44c229424c2c9936d23c3fa75759e32193e5aa7ac915ade136"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check_only/{check_name}/datadog_checks/{check_name}/config_models/instance.py":{"sha256":"13bd3f64d4e9f48771cc84fd9b9ece5d9f2eff5353b34900587381e81d1ab435"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check_only/{check_name}/datadog_checks/{check_name}/config_models/shared.py":{"sha256":"5c43d21e0178045706b3de56810b5be58a45ea3b65bedfc3beed3800819bb278"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check_only/{check_name}/datadog_checks/{check_name}/config_models/validators.py":{"sha256":"ff8691fdd4c4bc21e4feeab75b714040176265ffe25c6e056c521aec5c0299b5"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check_only/{check_name}/datadog_checks/{check_name}/data/conf.yaml.example":{"sha256":"1c57a5f19076030f8fbd6a57bf7b1073f61e70a261614bb8ca984a50c85f0383"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check_only/{check_name}/hatch.toml":{"sha256":"fee3c389ba9967e7788481bfe72ae04b27079e59a9cd49de7b1411bb20b0d3d0"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check_only/{check_name}/pyproject.toml":{"sha256":"73dac166b436243f19c76513f980ac39001b20bc7257b8e8f07a767e7379afde"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check_only/{check_name}/tests/__init__.py":{"sha256":"d8dc47fd44c6ab1577c4fc677c41d029c4c6a9aac573ce844297b3fce71bb091"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check_only/{check_name}/tests/conftest.py":{"sha256":"288ab38141b5fc11c7cbcce1d5850b5c85a461969a73a181bd9057a1b2919cf4"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/check_only/{check_name}/tests/test_unit.py":{"sha256":"d83dccec6a699f4d928e3897910d660c449b7c2a3dc3aa92a899c4a2894a93dd"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/CHANGELOG.md":{"sha256":"cd08a7bcb971c3046e8cf9217f98c19c86e38032c558d8b8ec786c9536f9e9c4"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/README.md":{"sha256":"3de07e6f81c5c538a4d7e40034404c0298e2e47d3a4d245ec443284540a6e473"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/assets/configuration/spec.yaml":{"sha256":"a7dd7aaa3a27ef53f689ea9e7bd135c97c7071896897a3fac925aec0866c7121"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/assets/dashboards/{check_name}_overview.json":{"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/changelog.d/1.added":{"sha256":"38c1fb60f69cf5b525500782b5ac0eaf0b4b8f0fcf4fa6f8cde96d83c316e07c"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/datadog_checks/{check_name}/__about__.py":{"sha256":"49c83d52895bf69c2ffbf1a32d3c3491961018693f68413bf494c63bbbd59c17"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/datadog_checks/{check_name}/__init__.py":{"sha256":"4a4f6dea91ffd477a50b09301f706382044f366efe4b3c41e86b039da7842e0a"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/datadog_checks/{check_name}/config_models/__init__.py":{"sha256":"c1e9bb781f20c5dfb6bdafdce5f13c46832e31a23f9fb0ccfec4a2ed83b97d04"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/datadog_checks/{check_name}/config_models/defaults.py":{"sha256":"f6146ad90daf2db6ddeeb856f52b03796a08dd2decf152bd1e89afaab82bd389"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/datadog_checks/{check_name}/config_models/instance.py":{"sha256":"279c7fc0f14b15f06a416338fc333f51ded1c10619d62dcda9c54c4747dc2e6a"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/datadog_checks/{check_name}/config_models/shared.py":{"sha256":"308f28e01943d2c15ddc9b9000695681b4664cc7d504c727b8a19c9d70165ea1"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/datadog_checks/{check_name}/config_models/validators.py":{"sha256":"d8dc47fd44c6ab1577c4fc677c41d029c4c6a9aac573ce844297b3fce71bb091"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/datadog_checks/{check_name}/data/conf.yaml.example":{"sha256":"479c850a145914012425917c62e26c75a4f5f95b99ef6ec0671183a9f821dc32"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/datadog_checks/{check_name}/data/metrics.yaml":{"sha256":"529823f85918da2a317d966266cef9fca8c26ed81134ee1bd5b338f649723e83"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/hatch.toml":{"sha256":"fee3c389ba9967e7788481bfe72ae04b27079e59a9cd49de7b1411bb20b0d3d0"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/images/.gitkeep":{"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/manifest.json":{"sha256":"1196b2d0be8554e236c478f532b9ac38d1dbdbbc7bce1907dbe478e32d6ba678"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/metadata.csv":{"sha256":"6ee51511155f603e08403c3df5713cf44d2437dbb27ec063dcf7bec61509694b"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/pyproject.toml":{"sha256":"9c7ba0aeae0110de4c9f13f051d44d2280566484714388bbbca428e7221b5b52"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/tests/__init__.py":{"sha256":"d8dc47fd44c6ab1577c4fc677c41d029c4c6a9aac573ce844297b3fce71bb091"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/tests/common.py":{"sha256":"7a9fddcbc85c2d0db1d40e126f4b6b632dab83dfd1e771de303d58b9c7468491"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/tests/conftest.py":{"sha256":"3d692efee3524ac1de5a7d116877b84f749674b5e95f0a5eff66d56d1687f860"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/tests/metrics.py":{"sha256":"aa3800824032efd81a9ec139accffbdb326d26389d7b9617251b6738169274fd"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/jmx/{check_name}/tests/test_e2e.py":{"sha256":"d52bb59384d89abfbd670e1c92149acbd1a6c21f9ce2209905c115ae253a7b00"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/logs/README.md":{"sha256":"b6c3d311af66922a1c2313c5f3dbbcdf46fbbe18ec7eacc56f9d13c9528f4d06"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/logs/{check_name}/CHANGELOG.md":{"sha256":"cd08a7bcb971c3046e8cf9217f98c19c86e38032c558d8b8ec786c9536f9e9c4"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/logs/{check_name}/README.md":{"sha256":"56d552c92e5b3ed2a75a406cf2c42e437752727170cfbf7c96f1b3c516bac374"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/logs/{check_name}/assets/configuration/spec.yaml":{"sha256":"e678062aba11f1b6a03e2e56a99277e6112c2e06f3dbce0a097cf5cf6b0abc59"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/logs/{check_name}/assets/dashboards/{check_name}_overview.json":{"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/logs/{check_name}/changelog.d/1.added":{"sha256":"38c1fb60f69cf5b525500782b5ac0eaf0b4b8f0fcf4fa6f8cde96d83c316e07c"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/logs/{check_name}/datadog_checks/{check_name}/__about__.py":{"sha256":"49c83d52895bf69c2ffbf1a32d3c3491961018693f68413bf494c63bbbd59c17"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/logs/{check_name}/datadog_checks/{check_name}/__init__.py":{"sha256":"4a4f6dea91ffd477a50b09301f706382044f366efe4b3c41e86b039da7842e0a"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/logs/{check_name}/datadog_checks/{check_name}/data/conf.yaml.example":{"sha256":"4b30c4dc85fd460595889ebc1de22469b97b0ec0b43906d0d750e7af3cdd2aa3"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/logs/{check_name}/images/.gitkeep":{"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/logs/{check_name}/manifest.json":{"sha256":"75bf33e0ac7a59290993c6b7b0e8a064c8d28eb7f13a2f166659f34106a188ad"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/logs/{check_name}/metadata.csv":{"sha256":"6ee51511155f603e08403c3df5713cf44d2437dbb27ec063dcf7bec61509694b"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/logs/{check_name}/pyproject.toml":{"sha256":"68eb27b4fa410355ccd2e5e0ba9fcc1c404481941a5743cc04b9296072e3291e"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/marketplace/IMAGES_README.md":{"sha256":"4eec6290559b12169131832997ddbd496cfe536708fde9b3ccd96879a7f298a1"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/marketplace/README.md":{"sha256":"d1afa7ae5595dd1c1ddf58528318ee82d06cca8a8e8b3c17ca236c2114f28c11"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/metrics_crawler/README.md":{"sha256":"06339a7e7c52457284412c4c280cf48c75f79afa83dbb2bb82756e7ae3561ca9"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/metrics_crawler/{check_name}/CHANGELOG.md":{"sha256":"a94d80ae88154fdce2f874cf02f2f1523ec9765020708c52c21c6182fc132f18"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/metrics_crawler/{check_name}/README.md":{"sha256":"1e922e762f6da011fac7590ef27d9b7f2f02c502f1c2ae3e01a937122e8127f8"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/metrics_crawler/{check_name}/assets/dashboards/{check_name}_overview.json":{"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/metrics_crawler/{check_name}/assets/service_checks.json":{"sha256":"37517e5f3dc66819f61f5a7bb8ace1921282415f10551d2defa5c3eb0985b570"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/metrics_crawler/{check_name}/images/.gitkeep":{"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/metrics_crawler/{check_name}/manifest.json":{"sha256":"0bc9b3a1e3cf2c92f7a3f4478da2a1ab719be26ff48f35c09b3ee27e28aba987"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/metrics_crawler/{check_name}/metadata.csv":{"sha256":"6ee51511155f603e08403c3df5713cf44d2437dbb27ec063dcf7bec61509694b"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/snmp_tile/snmp_{check_name}/CHANGELOG.md":{"sha256":"a94d80ae88154fdce2f874cf02f2f1523ec9765020708c52c21c6182fc132f18"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/snmp_tile/snmp_{check_name}/README.md":{"sha256":"c3340a4b54400ff440c3b7cec14812f14382694e1ff25474e3364c67e8393b1a"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/snmp_tile/snmp_{check_name}/assets/service_checks.json":{"sha256":"37517e5f3dc66819f61f5a7bb8ace1921282415f10551d2defa5c3eb0985b570"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/snmp_tile/snmp_{check_name}/manifest.json":{"sha256":"9854a853bc050080597cf21059d8027c84849872d89bad091e7e33f7734ce064"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/tile/README.md":{"sha256":"b87b3a5b2eea807d8d4ea36fc8248b103a88e9e9457b31f23f26c5abe2ffb368"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/tile/{check_name}/CHANGELOG.md":{"sha256":"697b0270a62fc28c87e92cb9b0cda9b4ce448e919b3ea26d12d8331204e05f1b"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/tile/{check_name}/README.md":{"sha256":"2ffdb31b75b9d603b7b96edc81c8147cd9af8ca3bcccee60aac2b88ca616466d"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/tile/{check_name}/assets/dashboards/{check_name}_overview.json":{"sha256":"9c4f16ce9f369b6da6ce978b08d136e07e35827713259a6dcabea74408844d7d"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/tile/{check_name}/assets/service_checks.json":{"sha256":"37517e5f3dc66819f61f5a7bb8ace1921282415f10551d2defa5c3eb0985b570"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/tile/{check_name}/images/.gitkeep":{"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/tile/{check_name}/manifest.json":{"sha256":"beb03fd2d4d54dbe04f2d31cfcaa88e3e4c348ccd51534c115212d8b53e1e17c"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/integration/tile/{check_name}/metadata.csv":{"sha256":"6ee51511155f603e08403c3df5713cf44d2437dbb27ec063dcf7bec61509694b"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/terraform/gke_config.tf":{"sha256":"29e482b800d5a8dad7bc0fc3f42212e2467ceecdf8601d6aca3d6ad30b9c541c"},"datadog_checks_dev/datadog_checks/dev/tooling/templates/terraform/providers.tf":{"sha256":"b99c6d5e4e07431b992580cd437044dd3cb3371b33766cd24497a7cbf16f032f"},"datadog_checks_dev/datadog_checks/dev/tooling/testing.py":{"sha256":"f15bf4da237bb9ff5bdb4c6f2094e8f7e7427b2414cee38a2ba88a4c460060a9"},"datadog_checks_dev/datadog_checks/dev/tooling/utils.py":{"sha256":"4d3ee3f17d404cd414c81db1f4774f2ad6cfc3e0941c2fce056bb3c01bf5e8cd"},"datadog_checks_dev/datadog_checks/dev/utils.py":{"sha256":"cdbce0246119db96d757bf155d230e6eab0a8fa81b9db4d0ad7e81b0434eb346"},"datadog_checks_dev/datadog_checks/dev/warn.py":{"sha256":"6445be66a38a2fa46d36dd72b42ad40f7f730353815b33e7a48f0566da7c61fd"},"datadog_checks_dev/pyproject.toml":{"sha256":"a325e11a312712a9367cc516e3d1a073d29334e1807692e747972c9aab051d0c"}}}} \ No newline at end of file +{"signatures":[{"keyid":"ec45eb9dac9d6ba1bcd131314583c67851bebf0d","other_headers":"04000108001d162104ec45eb9dac9d6ba1bcd131314583c67851bebf0d05026924f53d","signature":"053ee404a8d67c4b6555fd65a6140a67d8bc6066fa23afa205f6b4c28178f3aaa6a1a9e8225fab1ff1cb6e29b04d76fb3c7daa3a543fec2998f3c02afa16cd275486dcc2ae8f43e51071ef2d789ebd78eaaaf4129a6d7c87c1c15273f6d25e71076f2e1a1193e940bab03fc0bcc03bcb742cb8d4df07d60afbb0330382a48986fde19f0a0ac70b41042d6e014fc27ccd8027774c0bc4bdb75aa52ce5be43c7471e99909717bc644402274c0251202e835c4dec682d6d2e46b6ecf48d1b979d6d67f9c563baaf596f48ddd5f072cec419182d5b23d5c622aac80ed826f423f59902b6bcde1c606e9a9fa064b7f817de4f9fb9fd24cabf1407b79329dc256fe757f04e484e2c49cd976dd24ef19c82d6c68cbe3d02f871e9714e00ed4328c48fcd5cf5c1deffb643b6f10c8179e66f93fb932c172323e1dcdf21b16a7c2eb98132a659d193a41fc30bdeee5bf46f98f31caad287514d7c841d86b0ace7bd19bb8cbea7357ab62fe5c6ced1852746c7e9a8afa8e56a6a012145b40b41f920fdbfb875daeae349b4c5122f00d6197c1ceeb35a5995f98c9e6da72060e8e8e541c24d50a40884146eeb9a486ee5ff98f2ef962b933756e7ab8d190aaeee608b2b3ac21e683f7137d60a12e9172640728762b4c031374bb1b4079b46416b6e3469377fd9ad435cb17c838244c2e41ed8def811273c26c10c6fbae6c69fb36a7ab18746"}],"signed":{"_type":"link","byproducts":{},"command":[],"environment":{},"materials":{},"name":"tag","products":{"ibm_mq/datadog_checks/ibm_mq/__about__.py":{"sha256":"497ab4130527370e17d072184ccc7c58e7af0510801d1bb2d71719e7c968fd1c"},"ibm_mq/datadog_checks/ibm_mq/__init__.py":{"sha256":"021b228d39ade69b71805e2ac5de8d90f2e3ea9aa3532ffce8b2f0be2dd9a961"},"ibm_mq/datadog_checks/ibm_mq/collectors/__init__.py":{"sha256":"0313e5ebdb9a0a0e7127a7c089dc10e2421017366c711acc4ede27a67346ad77"},"ibm_mq/datadog_checks/ibm_mq/collectors/channel_metric_collector.py":{"sha256":"6e7ce449cc2d6654d4312b3e3474e290b763a58b1fbd03a7fb7d33235a772da4"},"ibm_mq/datadog_checks/ibm_mq/collectors/metadata_collector.py":{"sha256":"5f15cbc83c6a6ee1a62252a84cd7a2c3ae97a728df351f0977a10c4f6375def1"},"ibm_mq/datadog_checks/ibm_mq/collectors/queue_metric_collector.py":{"sha256":"acb22401685eebdec945b23c613d51a302833faad3b6a0688a8ff08f3587c700"},"ibm_mq/datadog_checks/ibm_mq/collectors/stats_collector.py":{"sha256":"a7e4677d286ebc7ee14f53ade9153979b54b4111f5fbdb19ae325df4e414b0e0"},"ibm_mq/datadog_checks/ibm_mq/config.py":{"sha256":"1f272019ecec0406486fccdd780f0b11186894d6225172a46c038af82b9f7291"},"ibm_mq/datadog_checks/ibm_mq/config_models/__init__.py":{"sha256":"c9cf5c66894430e7edbb00d00613b58ccfd38360f2fe490a23c17cf71ed294dc"},"ibm_mq/datadog_checks/ibm_mq/config_models/defaults.py":{"sha256":"a63566527854279ae635122f4d53ab530bed536c1d1003840f719f2531808dcb"},"ibm_mq/datadog_checks/ibm_mq/config_models/instance.py":{"sha256":"2926a782453a3a9231b885ef8fc11474c0a2355183c86ae814707afe385e0f7c"},"ibm_mq/datadog_checks/ibm_mq/config_models/shared.py":{"sha256":"604e358f9aefb2bb3050ee69d47e4280fda951bc37b449b58baf493ad3f36f12"},"ibm_mq/datadog_checks/ibm_mq/config_models/validators.py":{"sha256":"a6766b51814341f7baffa896f6db531b846f35f469e5e999f523a7f6f31dca27"},"ibm_mq/datadog_checks/ibm_mq/connection.py":{"sha256":"3ce9b88a5a6478e0ae534b5ed08b8f9ef6fa18b9573026d6a3250dc3a2b52d94"},"ibm_mq/datadog_checks/ibm_mq/data/conf.yaml.example":{"sha256":"bad84d8a96df82e30fb35ea3aa261151b5c7ecf7adba00eac51f83efd4b0f637"},"ibm_mq/datadog_checks/ibm_mq/errors.py":{"sha256":"b3fa52cba4c95852964035a177d82fdede89a1b6a0ec16c576769e9ae8f3586d"},"ibm_mq/datadog_checks/ibm_mq/ibm_mq.py":{"sha256":"c2b5f47492279ad31147f1422fedcdb7bcbeb30fc2911e38ff45ad9ffda7af8d"},"ibm_mq/datadog_checks/ibm_mq/metrics.py":{"sha256":"93f11abd6d4f45fade78f562853d59c5c5bd3e2abed75d87f81d52d654a301d1"},"ibm_mq/datadog_checks/ibm_mq/process_matcher.py":{"sha256":"5bf6de2a9dae0acbc1773946dd3d5628839c6c262769b85667638984ab4dce1c"},"ibm_mq/datadog_checks/ibm_mq/stats/__init__.py":{"sha256":"7eecb71fc655e7c75ffcb4de6427d506f99a257e4af46770077c1d067664a707"},"ibm_mq/datadog_checks/ibm_mq/stats/base_stats.py":{"sha256":"c0722f840000951404c6e3aa6a8a7e1c836c6f89d4a861721c4055ae6b51b0e8"},"ibm_mq/datadog_checks/ibm_mq/stats/channel_stats.py":{"sha256":"09a35a80b1017e8e0e0443759cae54108431b4be9f4d408f30d86fa4610d4a9c"},"ibm_mq/datadog_checks/ibm_mq/stats/queue_stats.py":{"sha256":"6e8a254d3cc2290f1eb13c93a8d511908193c6cd0c78d2943d9cbce6f6834d64"},"ibm_mq/datadog_checks/ibm_mq/utils.py":{"sha256":"276af1d2c4a95d7c3cf653a7a5cd6c320cb4fee182109be5711c09a0715f46e5"}}}} \ No newline at end of file diff --git a/ibm_mq/CHANGELOG.md b/ibm_mq/CHANGELOG.md index b6c46bced3fc3..2e7cabfb42624 100644 --- a/ibm_mq/CHANGELOG.md +++ b/ibm_mq/CHANGELOG.md @@ -2,6 +2,12 @@ +## 8.5.1-beta.1 / 2025-11-24 + +***Added***: + +* Add collecting channel and queue desc fields as tags for metrics ([#21948](https://github.com/DataDog/integrations-core/pull/21948)) + ## 8.5.0 / 2025-10-02 ***Added***: diff --git a/ibm_mq/assets/configuration/spec.yaml b/ibm_mq/assets/configuration/spec.yaml index addefdfafeb92..d67c241aa6592 100644 --- a/ibm_mq/assets/configuration/spec.yaml +++ b/ibm_mq/assets/configuration/spec.yaml @@ -205,6 +205,29 @@ files: value: example: false type: boolean + - name: add_description_tags + description: | + Add description tags to channel and queue metrics. When enabled, the following tags will be added: + - channel_desc: for channel metrics + - queue_desc: for queue metrics + + Note: Enabling this option may increase tag cardinality depending on how many unique + descriptions you have configured for your channels and queues. + value: + example: false + type: boolean + - name: normalize_description_tags + description: | + Normalize description tag values when add_description_tags is enabled. + When enabled, descriptions are automatically normalized for use as tag values: + - Converted to lowercase + - Spaces and special characters replaced with underscores + - Limited to 200 characters + + See: https://docs.datadoghq.com/getting_started/tagging/#define-tags + value: + example: true + type: boolean - name: mqcd_version description: | Which channel definition version to use. Supported values are 1 to 9 including. diff --git a/ibm_mq/datadog_checks/ibm_mq/__about__.py b/ibm_mq/datadog_checks/ibm_mq/__about__.py index 8bd194b12caad..7373bb882fb68 100644 --- a/ibm_mq/datadog_checks/ibm_mq/__about__.py +++ b/ibm_mq/datadog_checks/ibm_mq/__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__ = '8.5.0' +__version__ = '8.5.1-beta.1' 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 39c1be86dae20..850ddcf26b1c7 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,6 +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 try: import pymqi @@ -60,6 +61,16 @@ def get_pcf_channel_metrics(self, queue_manager): for channel_info in discovered_channels: channel_name = to_string(channel_info[pymqi.CMQCFC.MQCACH_CHANNEL_NAME]).strip() channel_tags = self.config.tags_no_channel + ["channel:{}".format(channel_name)] + + # Add channel description as tag if enabled + if self.config.add_description_tags and pymqi.CMQCFC.MQCACH_DESC in channel_info: + channel_desc = to_string(channel_info[pymqi.CMQCFC.MQCACH_DESC]).strip() + if channel_desc: + if self.config.normalize_description_tags: + channel_desc = normalize_desc_tag(channel_desc) + if channel_desc: + channel_tags.append("channel_desc:{}".format(channel_desc)) + self._submit_metrics_from_properties( channel_info, channel_name, metrics.channel_metrics(), channel_tags ) @@ -154,6 +165,15 @@ def _submit_channel_status(self, queue_manager, search_channel_name, tags, chann continue channel_tags = tags + ["channel:{}".format(channel_name)] + # Add channel description as tag if enabled + if self.config.add_description_tags and pymqi.CMQCFC.MQCACH_DESC in channel_info: + channel_desc = to_string(channel_info[pymqi.CMQCFC.MQCACH_DESC]).strip() + if channel_desc: + if self.config.normalize_description_tags: + channel_desc = normalize_desc_tag(channel_desc) + if channel_desc: + channel_tags.append("channel_desc:{}".format(channel_desc)) + self._submit_metrics_from_properties( channel_info, channel_name, metrics.channel_status_metrics(), channel_tags ) 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 89159c822517d..376c8f6605986 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,6 +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 try: import pymqi @@ -265,6 +266,16 @@ def queue_stats(self, queue_manager, queue_name, tags): for queue_info in response: usage = KNOWN_USAGES.get(queue_info.get(pymqi.CMQC.MQIA_USAGE), 'unknown') enriched_tags.append('queue_usage:{}'.format(usage)) + + # 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() + if queue_desc: + if self.config.normalize_description_tags: + queue_desc = normalize_desc_tag(queue_desc) + if queue_desc: + enriched_tags.append('queue_desc:{}'.format(queue_desc)) + self._submit_queue_stats(queue_info, queue_name, enriched_tags) finally: if pcf is not None: diff --git a/ibm_mq/datadog_checks/ibm_mq/config.py b/ibm_mq/datadog_checks/ibm_mq/config.py index 4a66995053702..11dad0da407a5 100644 --- a/ibm_mq/datadog_checks/ibm_mq/config.py +++ b/ibm_mq/datadog_checks/ibm_mq/config.py @@ -84,6 +84,8 @@ def __init__(self, instance, init_config): self.collect_statistics_metrics = is_affirmative(instance.get('collect_statistics_metrics', False)) # type: bool self.collect_reset_queue_metrics = is_affirmative(instance.get('collect_reset_queue_metrics', True)) self.collect_connection_metrics = is_affirmative(instance.get('collect_connection_metrics', True)) + self.add_description_tags = is_affirmative(instance.get('add_description_tags', False)) # type: bool + self.normalize_description_tags = is_affirmative(instance.get('normalize_description_tags', True)) # type: bool if int(self.auto_discover_queues) + int(bool(self.queue_patterns)) + int(bool(self.queue_regex)) > 1: self.log.warning( "Configurations auto_discover_queues, queue_patterns and queue_regex are not intended to be used " diff --git a/ibm_mq/datadog_checks/ibm_mq/config_models/defaults.py b/ibm_mq/datadog_checks/ibm_mq/config_models/defaults.py index 0e736bbc233e2..dcb99ddc6f142 100644 --- a/ibm_mq/datadog_checks/ibm_mq/config_models/defaults.py +++ b/ibm_mq/datadog_checks/ibm_mq/config_models/defaults.py @@ -12,6 +12,10 @@ def shared_queue_manager_process_limit(): return 1 +def instance_add_description_tags(): + return False + + def instance_auto_discover_channels(): return True @@ -60,6 +64,10 @@ def instance_mqcd_version(): return 6 +def instance_normalize_description_tags(): + return True + + def instance_override_hostname(): return False diff --git a/ibm_mq/datadog_checks/ibm_mq/config_models/instance.py b/ibm_mq/datadog_checks/ibm_mq/config_models/instance.py index 2bae634d1582b..d05af0f94ee6a 100644 --- a/ibm_mq/datadog_checks/ibm_mq/config_models/instance.py +++ b/ibm_mq/datadog_checks/ibm_mq/config_models/instance.py @@ -35,6 +35,7 @@ class InstanceConfig(BaseModel): arbitrary_types_allowed=True, frozen=True, ) + add_description_tags: Optional[bool] = None auto_discover_channels: Optional[bool] = None auto_discover_queues: Optional[bool] = None auto_discover_queues_via_names: Optional[bool] = None @@ -52,6 +53,7 @@ class InstanceConfig(BaseModel): metric_patterns: Optional[MetricPatterns] = None min_collection_interval: Optional[float] = None mqcd_version: Optional[float] = Field(None, ge=1.0) + normalize_description_tags: Optional[bool] = None override_hostname: Optional[bool] = None password: Optional[str] = Field(None, min_length=1) port: Optional[int] = None diff --git a/ibm_mq/datadog_checks/ibm_mq/data/conf.yaml.example b/ibm_mq/datadog_checks/ibm_mq/data/conf.yaml.example index fed5e9359c5b2..419f471b1a277 100644 --- a/ibm_mq/datadog_checks/ibm_mq/data/conf.yaml.example +++ b/ibm_mq/datadog_checks/ibm_mq/data/conf.yaml.example @@ -183,6 +183,27 @@ instances: # # collect_connection_metrics: false + ## @param add_description_tags - boolean - optional - default: false + ## Add description tags to channel and queue metrics. When enabled, the following tags will be added: + ## - channel_desc: for channel metrics + ## - queue_desc: for queue metrics + ## + ## Note: Enabling this option may increase tag cardinality depending on how many unique + ## descriptions you have configured for your channels and queues. + # + # add_description_tags: false + + ## @param normalize_description_tags - boolean - optional - default: true + ## Normalize description tag values when add_description_tags is enabled. + ## When enabled, descriptions are automatically normalized for use as tag values: + ## - Converted to lowercase + ## - Spaces and special characters replaced with underscores + ## - Limited to 200 characters + ## + ## See: https://docs.datadoghq.com/getting_started/tagging/#define-tags + # + # normalize_description_tags: true + ## @param mqcd_version - number - optional - default: 6 ## Which channel definition version to use. Supported values are 1 to 9 including. ## If you're having connection issues make sure it matches your MQ version. diff --git a/ibm_mq/datadog_checks/ibm_mq/utils.py b/ibm_mq/datadog_checks/ibm_mq/utils.py index a815903a9a28b..e556dfd335ba5 100644 --- a/ibm_mq/datadog_checks/ibm_mq/utils.py +++ b/ibm_mq/datadog_checks/ibm_mq/utils.py @@ -1,6 +1,7 @@ # (C) Datadog, Inc. 2018-present # All rights reserved # Licensed under a 3-clause BSD style license (see LICENSE) +import re from datetime import datetime from dateutil import tz @@ -21,6 +22,34 @@ def sanitize_strings(s): return s.strip() +def normalize_desc_tag(desc): + """ + Normalize description strings for use as tag values. + https://docs.datadoghq.com/getting_started/tagging/#define-tags + """ + if not desc: + return '' + + # Convert to lowercase + normalized = desc.lower() + + # Replace spaces and special characters with underscores + # Keep only alphanumeric, hyphens, and underscores + normalized = re.sub(r'[^a-z0-9\-_]', '_', normalized) + + # Replace multiple consecutive underscores with single underscore + normalized = re.sub(r'_+', '_', normalized) + + # Strip leading/trailing underscores + normalized = normalized.strip('_') + + # Limit length (Datadog recommends keeping tag values reasonable) + if len(normalized) > 200: + normalized = normalized[:200].rstrip('_') + + return normalized + + def calculate_elapsed_time(datestamp, timestamp, qm_timezone, current_time=None): """ Calculate elapsed time in seconds from IBM MQ queue status date and timestamps diff --git a/requirements-agent-release.txt b/requirements-agent-release.txt index a4f0010e67017..38e8581f56d3f 100644 --- a/requirements-agent-release.txt +++ b/requirements-agent-release.txt @@ -96,7 +96,7 @@ datadog-hyperv==3.1.0; sys_platform == 'win32' datadog-ibm-ace==4.2.0 datadog-ibm-db2==4.1.0 datadog-ibm-i==4.2.0; sys_platform != 'win32' -datadog-ibm-mq==8.5.0 +datadog-ibm-mq==8.5.1-beta.1 datadog-ibm-was==5.2.0 datadog-iboss==1.1.0 datadog-ignite==3.2.0