{"_id":"@dazn/datadog-metrics","_rev":"36-0273e39538d3381c9f0b1f6deac17ea2","name":"@dazn/datadog-metrics","dist-tags":{"latest":"1.5.0"},"versions":{"1.3.1":{"name":"@dazn/datadog-metrics","version":"1.3.1","author":{"name":"DAZN"},"_id":"@dazn/datadog-metrics@1.3.1","maintainers":[{"name":"dazn.builder.frontend","email":"builder.frontend@dazn.com"},{"name":"dazn-lambda-powertools","email":"a3003b9b.performgroup.onmicrosoft.com@emea.teams.ms"},{"name":"simontabor","email":"me@simontabor.com"},{"name":"gsingh.ldn","email":"gsingh.ldn@gmail.com"},{"name":"granze","email":"granzebru@gmail.com"},{"name":"cirpo","email":"alessandro.cinelli@gmail.com"},{"name":"rick-burgess-dazn","email":"rick.burgess@dazn.com"},{"name":"trevorah","email":"a.trevorah@gmail.com"}],"dist":{"shasum":"daa0f21c9ce470aff3de092fc0193dacd2be413b","tarball":"https://registry.npmjs.org/@dazn/datadog-metrics/-/datadog-metrics-1.3.1.tgz","fileCount":5,"integrity":"sha512-2wkU8PQ3Q/f5zUW4HRd2rU+oYv1GIofpSPm7VirQqKtf/csddSdM0qMySvxzGHt8M2yk3CQXQ7b2CmZ/lvN5nQ==","signatures":[{"sig":"MEQCIHDQ6HNnz+0irTH+9qenGCHFezO+kirp7SA4P/bQlVnIAiAisrqAi6F2l4OpJ7H8b9RXaLHrih9dFpUd1d7Z2KAhUQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9409,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdNyz9CRA9TVsSAnZWagAAMTIP/j5ilq9R8PKYwcaTca9T\nYkOhQtmH9U/fAklII8fsuJiSZTKpPN6eyLkejP6ZrYWdjYL/aP/IhwmHekYT\n7A0IKDkjUhYlFJiqNdUHvmIrgQVAJj65AnJZM7TPAfjuBaD0MjPYVfeK+hn3\npnICipGvpgmE+Ws8oc82xIwZUaAUS4ScK1vjHb5buBSFwpIK+poJuzbn/8Q4\novbIKMOeQSfV6BriZnxUa58esWTSGfJ0ksx+vFjVLOd2hzswwpEtjaU+vU2v\nsLxeheKXdHfIpGzJY+G3bxERT996C5rA8D8Bz2NRnuu8LDivHu2yWXpY+pKJ\nbA5cHE7N6PcVJGjUtu/b/ceGUZSQgC6vgvvxBxGUk/aDSUIb8dEZMDk4v8iG\nK87zyjadCslf4u3kvD51CQHSLMUt5ypxkXufikqoQS6wfihOrD09NnolFG8F\nZbhHH1wBYarU+wn6CIji5MynCbI2TXaV5ygR7YI0skQxSVJdZE+KYAmC/ntg\nVzWLOZut2A2hXYMOkPl5mOHIKMOGLn4OrYhpgdFxbby2t+u1F2Uw8hI46SbD\nEGhH7Di0wGsonsLe4v4Ptt0DlefGoS0isdJoqKyNwiPEhMp1GElutLntX1I9\nPvUK7r0NtRt0YHIL1IYYWnt6VEO3vOiRpQ6ma2DOoaXnpufDJ+5xSnjJtqZN\nE7WP\r\n=YyYn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"5a27a1e39ba923d222153486dfebecf272aee838","scripts":{"test":"jest"},"_npmUser":{"name":"dazn-lambda-powertools","email":"a3003b9b.performgroup.onmicrosoft.com@emea.teams.ms"},"_npmVersion":"6.9.0","description":"Records metrics with Datadog, supports both synchronous (via HTTP) and asynchronous (via Datadog's Lambda integration) modes. Defaults to asynchronous mode.","directories":{},"_nodeVersion":"12.6.0","dependencies":{"datadog-metrics":"^0.8.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^23.1.0"},"_npmOperationalInternal":{"tmp":"tmp/datadog-metrics_1.3.1_1563897085110_0.16659508845879545","host":"s3://npm-registry-packages"}},"1.4.0":{"name":"@dazn/datadog-metrics","version":"1.4.0","author":{"name":"DAZN"},"_id":"@dazn/datadog-metrics@1.4.0","maintainers":[{"name":"automation-drone","email":"sre@dazn.com"},{"name":"carlosbaraza","email":"carlos+npm@baraza.io"},{"name":"cirpo","email":"alessandro.cinelli@gmail.com"},{"name":"dazn-lambda-powertools","email":"a3003b9b.performgroup.onmicrosoft.com@emea.teams.ms"},{"name":"dazn.builder.frontend","email":"builder.frontend@dazn.com"},{"name":"rick-burgess-dazn","email":"rick.burgess@dazn.com"}],"dist":{"shasum":"c331833679d18e1f9e15ccb774f55fef118f972c","tarball":"https://registry.npmjs.org/@dazn/datadog-metrics/-/datadog-metrics-1.4.0.tgz","fileCount":5,"integrity":"sha512-elf2SXcA3CZInXeSQRX/xF0dP4CR+bYQnzOw01Zzm9X6390txC9gSjMonJI5XppD+shSomv6OqTglSmvYO6nyg==","signatures":[{"sig":"MEQCICUTYMALyV6NGpp0ps+pfjm8j9kYeDa/+m6eRiivBJqdAiARKowUkPK1ltoPn3fBzPX176VZYXFs9yVq6CpigGjm1A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9769,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdZ3xKCRA9TVsSAnZWagAAqusP/jl9/3tgVe7/k9bHF+Sg\n1Dznb6ZmiL+weTPNEni9loh2Ptmk9BKd1FqAEeEChuY4OwcSpmGYH966L3ST\nERh2ZsDpNptPxVCWP54mGNVIQzfq0g8ko2jUoZofQrcT48lShnuu9YfMHtgc\nnhcGVbkxSIwxwOedlADJ/pfTqIQkPjyaBGnlaqE8Hc3Kk06AXuaRdsAIJq+Y\nxLLKMzowW4whW68aQgewZIMNUvJZlagSypOv5/axfILO3WjGxv96z1I8W6lw\nXBl9pQIZab/QP1e53Rv1++F53okYRVPzpq55gM+lt3sT4SaoMGfz38f2x+t+\nyc9/RfTo/QqRuRy5zYWrFNw3IRPn+oXcSwm3MAXKUmPjAIOx/ajvzSHjCPRr\nrPHlKWgfapYybfBGlRbHDLdQEkmtxK4sDZbjSkfjekUzVd0tNVmeKp3khu3D\nFWChQYreX51mSYeJdKvc+wshzjZRMLeAEasJuGP1ibW9hAujb9VSd0vuOZRm\ntaFi4ATn/EQxj6Mi9OfAlejs0TJ9QdxfV2RzDEkUtvEGvnodM+hSmWWH1vtw\nS7sDC49J4JoYfOsjOE7EiGowvRxzUrGZRWe4Xu0pS0NFPnxceWJmxgLy7DzD\nSqrz5mz1hF49Gbv8HkEhhRRTYotswgA645Pq6kMfEDxuF32GKTJKWXHi0yLu\nDGWK\r\n=y+UB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","husky":{"hooks":{"pre-push":"npm run test","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"569af3984dfa02bad919df637e268675a9f316a0","scripts":{"test":"jest"},"_npmUser":{"name":"dazn-lambda-powertools","email":"a3003b9b.performgroup.onmicrosoft.com@emea.teams.ms"},"_npmVersion":"6.10.2","description":"Records metrics with Datadog, supports both synchronous (via HTTP) and asynchronous (via Datadog's Lambda integration) modes. Defaults to asynchronous mode.","directories":{},"_nodeVersion":"12.9.0","dependencies":{"datadog-metrics":"^0.8.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^23.1.0","husky":"^3.0.4","@commitlint/cli":"^8.1.0","cz-conventional-changelog":"^3.0.2","@commitlint/config-conventional":"^8.1.0"},"_npmOperationalInternal":{"tmp":"tmp/datadog-metrics_1.4.0_1567063113327_0.06813294656278779","host":"s3://npm-registry-packages"}},"1.5.0":{"name":"@dazn/datadog-metrics","version":"1.5.0","author":{"name":"DAZN"},"_id":"@dazn/datadog-metrics@1.5.0","maintainers":[{"name":"automation-drone","email":"sre@dazn.com"},{"name":"carlosbaraza","email":"carlos+npm@baraza.io"},{"name":"cirpo","email":"alessandro.cinelli@gmail.com"},{"name":"dazn-lambda-powertools","email":"a3003b9b.performgroup.onmicrosoft.com@emea.teams.ms"},{"name":"dazn.builder.frontend","email":"builder.frontend@dazn.com"},{"name":"rick-burgess-dazn","email":"rick.burgess@dazn.com"}],"dist":{"shasum":"1d2f445cbe2f31e1eed2c0fd36c0970d0d4b1d76","tarball":"https://registry.npmjs.org/@dazn/datadog-metrics/-/datadog-metrics-1.5.0.tgz","fileCount":5,"integrity":"sha512-KKuV3fedJD+FyCzq9+Rcnbt+6gD8P+Ma3PLENsSIGlWzkaEaCR2iRSkh8DCcO7xTbrYF8YAPnpojipNgfzYxZQ==","signatures":[{"sig":"MEYCIQCG65Rq40kfm9U9VO7l4+oQu+uXih4OH+pBM4IEWZ1I6wIhAMTLu6Wa1GMJLC75M2kltrNgqG+LYZm9P2HC54urpelo","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10483,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdaPCuCRA9TVsSAnZWagAAhEUQAJSO0Nh9k0GkcZKiLeyb\niskN0VOKtJy5azXs1x86q5LuUsj1YaOUdvYm11Eq64tYI1A9mxtSm57XGrcT\nNl7nk9WV+fQJzNg0gzyC+/jxczukDJAHW/0zNofGz0/n9luULN9FHqjxZNLn\n15gIoqd78r7jNJFU7UPXG9VqHrIRa14vpTOh5yJDY8W6HUDPQTf00hfpPMc4\ng6uFUM2lmXmRqvjdafnvIlfoDZlYauHnkPQvM1lDfUSk7xYtl69B5CfuJr/Z\nQ+HROQ69tlEY23TWXFvW0X2z5DTUQDiTRsQA0isW0kQjanByeqzQX+M7FaG+\nYLsMzohfSNBZdBfRJgTJss4VYhrSeG3Kft53VFfFZD0sq7MBZ6NLJAuBPnko\nejHcZ0gYxFnCXv6PQ6JU3g5NnAkaQAX3F0rs3+VhNfbQRkG3Wad4YDYgXliP\nvQ6B5oZCXuyZcb7BgykXoqxzE6qarR13qu9hnP4726AbY6cTUsftySPzwYsU\nt93oHLpk7AIxs0YXVEvsS38Bc2O+1jcTbEp8NT6OPMXqMq2NF73roWSVIsd1\nvlGEEXmqir5f2arP8pk1eH7B5C68dQVD8yWkfiwKqIbOm24RVoN8UVEHmPKU\nL871GLkVydPoq+y3Szntiz1wBzKZOUndh1jfOLlnZ8ZWuZk2/zTjaHjVZYUe\nQu1K\r\n=rusU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","husky":{"hooks":{"pre-push":"npm run test","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"4b8bc52d289afde6851b304e8731fe347d4e08ad","scripts":{"test":"jest"},"_npmUser":{"name":"dazn-lambda-powertools","email":"a3003b9b.performgroup.onmicrosoft.com@emea.teams.ms"},"_npmVersion":"6.10.2","description":"Records metrics with Datadog, supports both synchronous (via HTTP) and asynchronous (via Datadog's Lambda integration) modes. Defaults to asynchronous mode.","directories":{},"_nodeVersion":"12.9.1","dependencies":{"datadog-metrics":"^0.8.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^23.1.0","husky":"^3.0.4","@commitlint/cli":"^8.1.0","cz-conventional-changelog":"^3.0.2","@commitlint/config-conventional":"^8.1.0"},"_npmOperationalInternal":{"tmp":"tmp/datadog-metrics_1.5.0_1567158446190_0.3979995239904539","host":"s3://npm-registry-packages"}}},"time":{"created":"2019-07-23T15:51:24.894Z","modified":"2025-12-04T09:06:56.022Z","1.3.1":"2019-07-23T15:51:25.329Z","1.4.0":"2019-08-29T07:18:33.457Z","1.5.0":"2019-08-30T09:47:26.342Z"},"author":{"name":"DAZN"},"description":"Records metrics with Datadog, supports both synchronous (via HTTP) and asynchronous (via Datadog's Lambda integration) modes. Defaults to asynchronous mode.","maintainers":[{"email":"builder.frontend@dazn.com","name":"dazn.builder.frontend"},{"email":"DL-CODX@dazn.com","name":"automation-drone"},{"email":"m.bazalik@gmail.com","name":"m.bazalik"},{"email":"gabriela.nowicka@dazn.com","name":"gabriela_nowicka"},{"email":"david.rubiovidal@dazn.com","name":"davidrv87"},{"email":"fishermansfriend1451@gmail.com","name":"gideonparanoid"},{"email":"jaroslaw.czerwinski@dazn.com","name":"jarekcze"},{"email":"devops.adityaagrawal@gmail.com","name":"ara-dazn"},{"email":"vishalramani91@gmail.com","name":"vishalramani91"}],"readme":"# DAZN Datadog Metrics\n\nHelper module for recording metrics with Datadog. It supports both synchronous (via HTTP) and asynchronous (via Datadog's Lambda integration) modes. **Defaults to asynchronous mode.**\n\nMain features:\n\n* Supports both sync and async methods of collecting metrics. Mode can be configured via the `DATADOG_METRICS_MODE` environment variable, use `sync` for sync mode, `async` for async mode\n\n* Supports `gauge`, `histogram` and `increment`\n\n* Supports tracking of a function's execution time (see below for more details)\n\n* Support namespacing. You can specify prefix for all metrics with the `DATADOG_PREFIX` environment variable\n\n* Support default tags. You can specify default tags for all metrics with the `DATADOG_TAGS` environment variable, which should be a comma-separated value, e.g. `environment:dev,awsRegion:us-east-1,load_test`\n\nConfiguration options (environment variables):\n\n* `DATADOG_METRICS_MODE`: `async` | `sync`\n\n* `DATADOG_PREFIX`: `string` (optional), used to provide namespacing, e.g. `giftcodes.`\n\n* `DATADOG_TAGS`: `string` (optional), default tags in comma-separate format, e.g. `environment:dev,awsRegion:us-east-1,load_test`\n\n## Getting Started\n\nInstall from NPM: `npm install @dazn/datadog-metrics`\n\n## API\n\nBasic usage looks like this:\n\n```js\n// if process.env.DATADOG_METRICS_MODE === 'sync' then this will be recording\n// metrics with the 'datadog-metrics' package, and would require flushing\n// you can use @perform/lambda-powertools-middleware-flush-datadog-metrics to\n// take care of that\n// if process.env.DATADOG_METRICS_MODE === 'async' then metrics would be\n// sent to stdout, using the DogStatsD format\nconst Datadog = require('@dazn/datadog-metrics')\n\nDatadog.gauge('key', 42)                        // guage without tags\nDatadog.gauge('key', 42, [ 'tag1', 'tag2:42' ]) // gauge with tags\nDatadog.gauge('key', 42, [], Date.now())        // guage with timestamp override\n\nDatadog.increment('key')                            // increment by 1, no tags\nDatadog.increment('key', 42)                        // increment by 42, no tags\nDatadog.increment('key', 42, [ 'tag1', 'tag2:42' ]) // increment by 42, with tags\nDatadog.increment('key', 42, [], Date.now())        // increment with timestamp override\n\nDatadog.histogram('key', 42)                        // histogram without tags\nDatadog.histogram('key', 42, [ 'tag1', 'tag2:42' ]) // histogram with tags\nDatadog.histogram('key', 42, [], Date.now())        // histogram with timestamp override\n\nconst f = () => {\n  // ...\n}\n\nDatadog.trackExecTime(f, 'key')                        // track execution time without tags\nDatadog.trackExecTime(f, 'key', [ 'tag1', 'tag2:42' ]) // track execution time with tags\n// by default, timestamp of the metric is the time when the function finishes, but you can\n// override the timestamp yourself\nDatadog.trackExecTime(f, 'key', [], Date.now())\n\nconst asyncF = async () => {\n  // ...\n}\n\n// track async function execution time without tags\nDatadog.trackExecTime(asyncF, 'key')\n\n// track async function execution time with tags\nDatadog.trackExecTime(asyncF, 'key', [ 'tag1', 'tag2:42' ])\n\n// track async function execution time with timestamp override\nDatadog.trackExecTime(asyncF, 'key', [], Date.now())\n```\n\n## Disabling console output\nSometimes you won't want the console output to be displayed (e.g. when running your unit tests) when running in async mode. In order to do this, you can set the environment variable `DISABLE_METRICS=true`; this will disable console logging output. Note: Only set this for scenarios you don't want metrics to be recorded, as setting this will stop any metrics from being recorded.\n\nFor example, your scripts section in `package.json` may look like this:\n```json\n  \"scripts\": {\n    \"unit:test\": \"DISABLE_METRICS=true jest\",\n    ...\n  }\n```","readmeFilename":"README.md"}