{"_id":"@alpha-lambda/cloudwatch-telemetry","_rev":"7-84de46ba27007f008ed676210950c064","name":"@alpha-lambda/cloudwatch-telemetry","dist-tags":{"latest":"4.0.0"},"versions":{"1.0.0":{"name":"@alpha-lambda/cloudwatch-telemetry","version":"1.0.0","keywords":["aws","function","lambda","serverless","cloudwatch","telemetry","alpha","metrics","util"],"author":{"url":"https://github.com/AntonBazhal","name":"Anton Bazhal","email":"am.bazhal@gmail.com"},"license":"MIT","_id":"@alpha-lambda/cloudwatch-telemetry@1.0.0","maintainers":[{"name":"bdgamble","email":"bryan.d.gamble@gmail.com"},{"name":"dougmoscrop","email":"doug.moscrop@gmail.com"},{"name":"antonbazhal","email":"am.bazhal@gmail.com"},{"name":"tradigan","email":"todd.radigan@d2l.com"}],"homepage":"https://github.com/alpha-lambda/cloudwatch-telemetry#readme","bugs":{"url":"https://github.com/alpha-lambda/cloudwatch-telemetry/issues"},"dist":{"shasum":"723eb5a8b469efa2a1502aebf7a2ecda7818953a","tarball":"https://registry.npmjs.org/@alpha-lambda/cloudwatch-telemetry/-/cloudwatch-telemetry-1.0.0.tgz","fileCount":33,"integrity":"sha512-XsFZnrtSqI4X73V5MQQseEi7crur5C25wkwAdgbRJdPVQ77C1cMlVVG+tmBbafNyycAqxWfRUlsJTAKXLTyktw==","signatures":[{"sig":"MEUCIB8zAWALcG7OTBrggXbI71wlqkADV4tUurE66xLiJCvzAiEAzky95FheUGrowCj9A4K0IWvHZYDbmcToPBBlf9f/ikA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":81788,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdzwpWCRA9TVsSAnZWagAAhwUP/RuKbj3CZ0LDm7SRetMv\nGiz1NWJvrsG/tgm9289K6MBurGV8kH29i7Xwd4ObMp8qEzFApGsZ2ROsgFGI\nB9NFdyI46T0yoeEPpfSzWYw+8asenkWiCFfbrdimd3oglFnCbub3qVxrB9DZ\nyBa4+Qb6ORiX8g0HWEg5Vd16qRs5T+noO44J5abp2s7oE6803aG41OD3Fgpf\n/Xwhr+J7oPMPnOJp3KO4ZktIXv8mlJtvYYxgxXVvjv5AxJCH6FJH4MMgPWJ+\n/dndu7Rdjqm2U/nqRWsDrugQL+6AxYsGDjHucZ1VjKnGHU3+5I/mIYkBUsR+\nuVv/qBhRcDKbXyTCd6kvkE6Zjx3fPJtb3PmobkKY6S+x9WBcDnFinS3Os7Cm\nhgqAwYRKgYNTXh3XkLIAZa3Yh0RoyRW9A83B/tvCKH/11CA6JFi9ZE0V6ulp\n0IMnX0jig5TmD0Q6q4FMbHam7AeaucziWrL8CjkWygB8tTLIQPvAsEPuL62L\nMTmv5xplFdMfSLkmtn9Qm4OMiFb3CNGwPdWdNOznN2rSmdarsx/qxxByyQCn\nNMtq3jUt1jCRMmCW7yra2HgO+jQ3GfnfsPPHwTUBFPlaFUVLyOcNxUgllQdJ\nD36Ekz8eyTiVt2Ohw30WxOuOxIPubIUNug7dyllztso+EZUL/uOO4plmljvo\nS8qT\r\n=epAo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"src/DatapointsCollector.js","gitHead":"d4997b2aa430a53401bc25b3a0096574273bb9fd","scripts":{"lint":"eslint .","test":"npm run test:unit && npm run test:integration","deploy":"sls deploy","remove":"sls remove","package":"sls package","test:unit":"env-cmd -f test/.env --no-override nyc mocha --opts test/unit/mocha.opts test/unit","test:integration":"env-cmd -f test/.env --no-override mocha --opts test/integration/mocha.opts test/integration","coverage:coveralls":"nyc report --reporter=text-lcov | coveralls"},"_npmUser":{"name":"antonbazhal","email":"am.bazhal@gmail.com"},"repository":{"url":"git+https://github.com/alpha-lambda/cloudwatch-telemetry.git","type":"git"},"_npmVersion":"6.9.0","description":"Store custom CloudWatch metrics in a cost-effective way","directories":{},"_nodeVersion":"10.16.0","dependencies":{"yn":"^3.1.1","ajv":"^6.10.2","pino":"^5.13.6","aws-sdk":"^2.570.0","lodash.chunk":"^4.2.0","@alpha-lambda/handler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^14.1.1","chai":"^4.2.0","uuid":"^3.3.3","mocha":"^6.2.2","sinon":"^7.5.0","eslint":"^6.6.0","relcov":"^1.0.6","env-cmd":"^10.0.1","coveralls":"^3.0.7","proxyquire":"^2.1.3","serverless":"^1.57.0","chai-subset":"^1.6.0","lambda-tester":"^3.6.0","chai-as-promised":"^7.1.1","eslint-plugin-mocha":"^6.2.1","eslint-plugin-import":"^2.18.2","serverless-prune-plugin":"^1.4.1","eslint-config-airbnb-base":"^14.0.0","serverless-plugin-aws-alerts":"^1.4.0","serverless-plugin-common-excludes":"^3.0.0","serverless-plugin-include-dependencies":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cloudwatch-telemetry_1.0.0_1573849685754_0.8498399449289793","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"@alpha-lambda/cloudwatch-telemetry","version":"1.0.1","keywords":["aws","function","lambda","serverless","cloudwatch","telemetry","alpha","metrics","util"],"author":{"url":"https://github.com/AntonBazhal","name":"Anton Bazhal","email":"am.bazhal@gmail.com"},"license":"MIT","_id":"@alpha-lambda/cloudwatch-telemetry@1.0.1","maintainers":[{"name":"antonbazhal","email":"am.bazhal@gmail.com"},{"name":"bdgamble","email":"bryan.d.gamble@gmail.com"},{"name":"dougmoscrop","email":"doug.moscrop@gmail.com"},{"name":"tradigan","email":"todd.radigan@d2l.com"}],"homepage":"https://github.com/alpha-lambda/cloudwatch-telemetry#readme","bugs":{"url":"https://github.com/alpha-lambda/cloudwatch-telemetry/issues"},"dist":{"shasum":"0ef24baada998a6e131d9b8f82c09ec4c321e770","tarball":"https://registry.npmjs.org/@alpha-lambda/cloudwatch-telemetry/-/cloudwatch-telemetry-1.0.1.tgz","fileCount":35,"integrity":"sha512-Buvs73n5IHDGITcj+NH8i1svor0qsnX9WYN3q9wsxneUb9vYo+oCxGva7j5F0HecSKbgE3JiY4FBraz4NPfqAQ==","signatures":[{"sig":"MEUCIQDgoiUI6sGkhzBTpCKNILDSbOFKraFAFuPRF23GFWE66AIgZncS0+hj8SomB3j8qTdGTeyimmM4zj0GzAbs8gfrrAU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":406579,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeLy2pCRA9TVsSAnZWagAA4mMP/1AfiRo8FfAuhvWIC42d\nPeildSk3aT7tP9iALhSRdDMMwkAD1zu2SFmuSDtZLikZeTwS9wvHniP9U6HN\nZ5V/NsSIgE+t2GJhnGvKKMHvXbmhZjrJn5dFyrI9uXLhuJn9xR1RjX/qKOp0\nSyTEuCYzLwWrUpGEO/lmyabAPHD1XsEw7pwozqUHHrW1g62gzE6dgLfl9+UK\nmDuv9rJOb3kZMey4LXrXAfK8D9jrlXjzgwX9vfjF7+sfyxiKp4KGpXu+roOd\nQGR5dDSl6wMgylFGrnzNMvsW2e8Gg2D1HA8V+4LBfqaWAmwiEnncWGbr+xCs\nks3VimxEpugRr43ycifZmYgEZbTqqEPWbpHzMii0N0v14qxOSh865Tmj/6Hx\nPINf17WJfR5fnwCGNnv6b2adYAwyE5qI5AnXf9oIt9pi/c4wl2LJoBgqB5xt\n7zAOyxi9/hm9JijhknJdQCXy2KiKOFhSZgyI4/o+HFejxWol31PMbsdMjV2Z\nr+cj8/qtGHgrGKFEOlcW9KTIvFvzp3wpC2vVs/LTxRrHeZYxiICwdH9heeXT\nUdT+/fbT/v5VsW6kPr1rqlOym2OUiyH1VbsQS35CmL0G4QQRouxZCIQ+8ucI\nknl6K1o0ga1EO68QFzbjVv30X5pmnfM7P1Fr9YWHphoSxYn3h9ZVXTm9ckgC\nBJMl\r\n=fy/I\r\n-----END PGP SIGNATURE-----\r\n"},"main":"src/DatapointsCollector.js","_from":".","_shasum":"0ef24baada998a6e131d9b8f82c09ec4c321e770","gitHead":"7663c1e79e3605108bf9e918530d6f9e500cf08f","scripts":{"lint":"eslint .","test":"npm run test:unit && npm run test:integration","deploy":"sls deploy","remove":"sls remove","package":"sls package","test:unit":"env-cmd -f test/.env --no-override nyc mocha --opts test/unit/mocha.opts test/unit","test:integration":"env-cmd -f test/.env --no-override mocha --opts test/integration/mocha.opts test/integration","coverage:coveralls":"nyc report --reporter=text-lcov | coveralls"},"_npmUser":{"name":"antonbazhal","email":"am.bazhal@gmail.com"},"repository":{"url":"git+https://github.com/alpha-lambda/cloudwatch-telemetry.git","type":"git"},"_npmVersion":"2.15.12","description":"Store custom CloudWatch metrics in a cost-effective way","directories":{},"_nodeVersion":"10.18.1","dependencies":{"yn":"^3.1.1","ajv":"^6.10.2","pino":"^5.13.6","aws-sdk":"^2.570.0","lodash.chunk":"^4.2.0","@alpha-lambda/handler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^14.1.1","chai":"^4.2.0","uuid":"^3.3.3","mocha":"^6.2.2","sinon":"^7.5.0","eslint":"^6.6.0","relcov":"^1.0.6","env-cmd":"^10.0.1","coveralls":"^3.0.7","proxyquire":"^2.1.3","serverless":"^1.57.0","chai-subset":"^1.6.0","lambda-tester":"^3.6.0","chai-as-promised":"^7.1.1","eslint-plugin-mocha":"^6.2.1","eslint-plugin-import":"^2.18.2","serverless-prune-plugin":"^1.4.1","eslint-config-airbnb-base":"^14.0.0","serverless-plugin-aws-alerts":"^1.4.0","serverless-plugin-common-excludes":"^3.0.0","serverless-plugin-include-dependencies":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cloudwatch-telemetry_1.0.1_1580150184527_0.34111006424589485","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"@alpha-lambda/cloudwatch-telemetry","version":"1.0.2","keywords":["aws","function","lambda","serverless","cloudwatch","telemetry","alpha","metrics","util"],"author":{"url":"https://github.com/AntonBazhal","name":"Anton Bazhal","email":"am.bazhal@gmail.com"},"license":"MIT","_id":"@alpha-lambda/cloudwatch-telemetry@1.0.2","maintainers":[{"name":"antonbazhal","email":"am.bazhal@gmail.com"},{"name":"bdgamble","email":"bryan.d.gamble@gmail.com"},{"name":"dougmoscrop","email":"doug.moscrop@gmail.com"},{"name":"tradigan","email":"todd.radigan@d2l.com"}],"homepage":"https://github.com/alpha-lambda/cloudwatch-telemetry#readme","bugs":{"url":"https://github.com/alpha-lambda/cloudwatch-telemetry/issues"},"dist":{"shasum":"17930c2f3b817b60cfdfd561572cb3f550287ec0","tarball":"https://registry.npmjs.org/@alpha-lambda/cloudwatch-telemetry/-/cloudwatch-telemetry-1.0.2.tgz","fileCount":34,"integrity":"sha512-yPFnK7JGOrJx8ASz0TofmOkmqQEDMq9BJjM7S02O10f1gG2qn7lHP64Uw6i+q32JfcJ5q6R94AmY71ng0bQY0g==","signatures":[{"sig":"MEQCIDjTSulxcse3gyrR3qkst5/1K03jmDjM4MAEYmueNQMpAiAg417OxJB2TxgYqIpYrkrE7iYI9X71i6cV6vYoMX5K6w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":406493,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeOKNbCRA9TVsSAnZWagAAKQEP/1fz/bsduTkixqpPUH3N\nZYW1i5htAbNA+ch93OZyMcpxvGLQEajriz3CpIhIhNUfFRYP5WikCU+UAXbP\nKpcK47tRLY+fZ+aIjWMx/3gOrXmDSazZPcnBFNZtuEyGqhM1Vf6qUP/GNUuo\nikSzK8fZ/dJBKpHYEko88kpw2Uj9BvBp8f8V8C2dokn5rkYOC/HYdi6VY2Pt\nLXj7LI/k6Ci9Bb0dnHITK0o5RyRe2pcYfbWyfAGyC29S5TuBqPxHGy01++Kx\nm79hwq+iJaRFRc7gOH4TtHirA11cDj7HHxmIZNTqAxFB3+02LTfg7hq2Kr0A\nCQ9H8WRuwOZPSY4SqyYxBfj62Nnkgq71vesbzPyk1jEbZhDFfsCiuo/ouU7k\nYy/5/76wN/trI8loWtfMGZpWsf2Mm3UTBPFlEYNfm4s+VKZ/ZKUXj2EatR7b\n9qO7SLFJTwe3us3C5NDOPeerebn2AVAvmq/MMv/3out1pI1ggBIiJFcCI6xw\n0u1rXPQW83X+T60nNKM7vhXq9iB4lnXWaAJf8Xevsm4UFFTbdeq6dJ9sRuWC\nGL85urprZHtshT9HgqRHcJAY8WcygZvpsbeOU3mZTgH/rL3AlUR/G5T8YZ/g\n8Up1kyEyHH0i3xSThn0n6jq0qeKffgasDOOTFh8WwIju0G8u7vjddm9NlnGl\nMkes\r\n=E2Lh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"src/DatapointsCollector.js","_from":".","_shasum":"17930c2f3b817b60cfdfd561572cb3f550287ec0","gitHead":"ef5bcf816749e12dd33cb7b97bec02b487b1a775","scripts":{"lint":"eslint .","test":"npm run test:unit && npm run test:integration","deploy":"sls deploy","remove":"sls remove","package":"sls package","test:unit":"env-cmd -f test/.env --no-override nyc mocha --opts test/unit/mocha.opts test/unit","test:integration":"env-cmd -f test/.env --no-override mocha --opts test/integration/mocha.opts test/integration","coverage:coveralls":"nyc report --reporter=text-lcov | coveralls"},"_npmUser":{"name":"antonbazhal","email":"am.bazhal@gmail.com"},"repository":{"url":"git+https://github.com/alpha-lambda/cloudwatch-telemetry.git","type":"git"},"_npmVersion":"2.15.12","description":"Store custom CloudWatch metrics in a cost-effective way","directories":{},"_nodeVersion":"10.18.1","dependencies":{"yn":"^3.1.1","ajv":"^6.10.2","pino":"^5.13.6","aws-sdk":"^2.570.0","lodash.chunk":"^4.2.0","@alpha-lambda/handler":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^14.1.1","chai":"^4.2.0","uuid":"^3.3.3","mocha":"^6.2.2","sinon":"^7.5.0","eslint":"^6.6.0","relcov":"^1.0.6","env-cmd":"^10.0.1","coveralls":"^3.0.7","proxyquire":"^2.1.3","serverless":"^1.57.0","chai-subset":"^1.6.0","lambda-tester":"^3.6.0","chai-as-promised":"^7.1.1","eslint-plugin-mocha":"^6.2.1","eslint-plugin-import":"^2.18.2","serverless-prune-plugin":"^1.4.1","eslint-config-airbnb-base":"^14.0.0","serverless-plugin-aws-alerts":"^1.4.0","serverless-plugin-common-excludes":"^3.0.0","serverless-plugin-include-dependencies":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cloudwatch-telemetry_1.0.2_1580770139381_0.990852762142685","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"@alpha-lambda/cloudwatch-telemetry","version":"2.0.0","keywords":["aws","function","lambda","serverless","cloudwatch","telemetry","alpha","metrics","util"],"author":{"url":"https://github.com/AntonBazhal","name":"Anton Bazhal","email":"am.bazhal@gmail.com"},"license":"MIT","_id":"@alpha-lambda/cloudwatch-telemetry@2.0.0","maintainers":[{"name":"bdgamble","email":"bryan.d.gamble@gmail.com"},{"name":"dougmoscrop","email":"doug.moscrop@gmail.com"},{"name":"antonbazhal","email":"am.bazhal@gmail.com"},{"name":"tradigan","email":"todd.radigan@d2l.com"}],"homepage":"https://github.com/alpha-lambda/cloudwatch-telemetry#readme","bugs":{"url":"https://github.com/alpha-lambda/cloudwatch-telemetry/issues"},"dist":{"shasum":"cba3c3fdba3bddcbf7e7d5adba3ca40dcd06f093","tarball":"https://registry.npmjs.org/@alpha-lambda/cloudwatch-telemetry/-/cloudwatch-telemetry-2.0.0.tgz","fileCount":34,"integrity":"sha512-B+mEa5Q/oQkxzPtJlA6rgxXMYzPQJnXcyHTP+YA5LUN2Bb01/7m17aDnvEdWAYtQ0DpdYKZv0A3j4dtbdcJVqw==","signatures":[{"sig":"MEUCIQCWtSR5as8khDW6T4ywpNVDr0rdY6N+Nivm+5k7mGSDbwIgBSqjD28ZjTxrL7O5VvOh0Iyg9UKcJeaNzjhC6TSRp1Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":473276,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhG70vCRA9TVsSAnZWagAAhY8P/3xmdwkqO0ejvfHGm3OF\nQdR2SeSdS7N2ttrTR+s4UYKHlDdEHgE7u2aXUd+MBIwbVGmpVtIfu40IyEET\nVsMxFUToYqHPwt19FScH9RwbwAzOQ3CbGU/ZpFyMV63FnDLHxZFon+Z1y/dd\nRiujww5g3SvxJCUykaZo2t801g+r5s3QRMSSQTn+UhZYeo/F2mS4iSyMOHtD\nyUljxqehOxNmQA9s1u9YS52RyY6pfQP9ApzEeC4jFbgRsMbC/UWdBFP8wjPb\nqqasa/K2e/0PXOkWG/Y9EQSKf7FGzf8ic6EKXTQ8Heqtv6SkWEzzBvo4xvLx\n/GeqgZ52vlJDt7ctVfXJhzPSuDOT13GHvD2anO9sPhWgPcTIEuMjc3vSqYfY\nr6P0i4Z7deauyLAZV0KRX2wQR5QOnhXJNw94YfoD7NckqPFhDxLFjUrVuvxD\nwmNAg2+VWF37zx992zY/I55JNqyBCeqEE6dQKY2i1QaE0AN+BG2nO7JMmw/5\nPjVSvcH5ssSuuw99jCpr2KEnCWK9W4mRJ/HdVkQlinQP0QZ9dGsQsrO9lM80\nFmABTQWwP+8KkCFIh7pjuFMMhwxEjaybEggb3cMbPOIAWm0VVt/XzzAYJUJv\nePgvgAtvgh3GHnQrh+aixzSELpoYZMHBqX0M43fOeBuY22coJctZ3/et6tcY\nQfT7\r\n=d5zC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"src/DatapointsCollector.js","_from":".","_shasum":"cba3c3fdba3bddcbf7e7d5adba3ca40dcd06f093","gitHead":"b241543f4309da1abe47ea8e0840d71575c34979","scripts":{"lint":"eslint .","test":"npm run test:unit && npm run test:integration","deploy":"sls deploy","remove":"sls remove","package":"sls package","test:unit":"env-cmd -f test/.env --no-override nyc mocha --opts test/unit/mocha.opts test/unit","test:integration":"env-cmd -f test/.env --no-override mocha --opts test/integration/mocha.opts test/integration","coverage:coveralls":"nyc report --reporter=text-lcov | coveralls"},"_npmUser":{"name":"antonbazhal","email":"am.bazhal@gmail.com"},"repository":{"url":"git+https://github.com/alpha-lambda/cloudwatch-telemetry.git","type":"git"},"_npmVersion":"2.15.12","description":"Store custom CloudWatch metrics in a cost-effective way","directories":{},"_nodeVersion":"14.17.5","dependencies":{"yn":"^3.1.1","ajv":"^6.10.2","pino":"^5.13.6","aws-sdk":"^2.570.0","lodash.chunk":"^4.2.0","@alpha-lambda/handler":"^1.3.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^14.1.1","chai":"^4.2.0","uuid":"^8.3.2","mocha":"^6.2.2","sinon":"^11.1.2","eslint":"^6.6.0","relcov":"^1.0.6","env-cmd":"^10.0.1","coveralls":"^3.0.7","proxyquire":"^2.1.3","serverless":"^2.54.0","chai-subset":"^1.6.0","lambda-tester":"^4.0.1","chai-as-promised":"^7.1.1","eslint-plugin-mocha":"^6.2.1","eslint-plugin-import":"^2.18.2","serverless-prune-plugin":"^1.5.1","eslint-config-airbnb-base":"^14.0.0","serverless-plugin-aws-alerts":"^1.7.3","serverless-plugin-common-excludes":"^4.0.0","serverless-plugin-include-dependencies":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cloudwatch-telemetry_2.0.0_1629207855411_0.8553878203674643","host":"s3://npm-registry-packages"}},"3.0.0":{"name":"@alpha-lambda/cloudwatch-telemetry","version":"3.0.0","keywords":["aws","function","lambda","serverless","cloudwatch","telemetry","alpha","metrics","util"],"author":{"url":"https://github.com/AntonBazhal","name":"Anton Bazhal","email":"am.bazhal@gmail.com"},"license":"MIT","_id":"@alpha-lambda/cloudwatch-telemetry@3.0.0","maintainers":[{"name":"bdgamble","email":"bryan.d.gamble@gmail.com"},{"name":"dougmoscrop","email":"doug.moscrop@gmail.com"},{"name":"antonbazhal","email":"am.bazhal@gmail.com"},{"name":"tradigan","email":"todd.radigan@d2l.com"}],"homepage":"https://github.com/alpha-lambda/cloudwatch-telemetry#readme","bugs":{"url":"https://github.com/alpha-lambda/cloudwatch-telemetry/issues"},"dist":{"shasum":"fce4eab0e5beedf83d8768ef4151676290fccde7","tarball":"https://registry.npmjs.org/@alpha-lambda/cloudwatch-telemetry/-/cloudwatch-telemetry-3.0.0.tgz","fileCount":35,"integrity":"sha512-PwF+fYhmUxXlLJetu7se8lcLv/2Jiy7oE3HAeOr5TyrW+rIwf4rSPCMeTgrN7l2UPpq/RlqIB5WkvE9rv5Qulg==","signatures":[{"sig":"MEYCIQCJe7QRPehdKokd9eElt1JRO9G6xFNEHdVMbIoI3UFpNQIhAOX+lAxdPZmeRHrfqWqgcD0cqIIXQZwVTQtqFROSngPh","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":469493,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkUAysACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrNuA//Vdst4fPihdMQZiVNU7j1DnQvCSwsW8ucbGqySHqBV6Jl8pOu\r\nC5PlGel6pkGSZZ9y8U6vbRON8nBhN3TBqTxfw15UhkNgP4cyfTlwSH3ohyRS\r\nfcb6Yp9mUU92X7vfxgcoYq5ruVM0A3Iofx7L0t6/mW56bFxfIrinaW+X+snX\r\n5fMNOcnq5qwgFncvYiPFwxSTFRqeIuHxCg6fuiJr75ae6U+jUOYTw55pTgzm\r\n64pJ3Ffqo3TTm1eE5PkJS+T9PzJ9YzGAsLJ2c7ZW/jaOo55+ydLhuZw+BRdZ\r\nAwPWDKp2Hrol5gxIb4VBVDJ6XcLVRJCTWGltRpY0mELUsx87T6NHrVyHuR+3\r\n2mWFAGwgCiQPRitpU4V9Xy2QWMhT3/DYJ4+WxPd+nqK+pPBPtG46BNO8mPdW\r\nQ8FACJWtVPbIFv+4SzTYrh3lk8TieMIPoI8jADFymwlTpmV2g290Q1R07qDF\r\n410HFkK5B750wEsHqT2axz/cSiTz7nDryD7x0eMW95r5GEB5WnVi2TAJ6Dr1\r\nmZOF6Ae23RVjx0OblAHR1WsBkSOzuPFF8YgifBq8rncDzhkn9MbZSCI4ZXyG\r\ny7zLMZUBrbAFwVHrONvrn769y3xY9kGcA35b0HOCmTHqnv3JZZLkDHa3tFQC\r\nHPRcxS8BJyEiD2JGEQLGNlHn33yKRJmJh7U=\r\n=yug5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"src/DatapointsCollector.js","_from":".","_shasum":"fce4eab0e5beedf83d8768ef4151676290fccde7","gitHead":"ac5ad9cbbd1f8cce4f08da229e68490610d0f277","scripts":{"lint":"eslint .","test":"npm run test:unit && npm run test:integration","deploy":"./sls.js deploy","remove":"./sls.js remove","package":"./sls.js package","posttest":"npm run lint","test:unit":"env-cmd -f test/.env --no-override nyc mocha --config test/unit/.mocharc.yml test/unit","test:integration":"env-cmd -f test/.env --no-override mocha --config test/integration/.mocharc.yml test/integration","coverage:coveralls":"nyc report --reporter=text-lcov | coveralls"},"_npmUser":{"name":"antonbazhal","email":"am.bazhal@gmail.com"},"repository":{"url":"git+https://github.com/alpha-lambda/cloudwatch-telemetry.git","type":"git"},"_npmVersion":"2.15.12","description":"Store custom CloudWatch metrics in a cost-effective way","directories":{},"_nodeVersion":"18.16.0","dependencies":{"ajv":"^8.12.0","pino":"^8.11.0","aws-sdk":"^2.1368.0","shelljs":"^0.8.5","minimist":"^1.2.8","lodash.chunk":"^4.2.0","@alpha-lambda/handler":"^1.3.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","chai":"^4.3.7","uuid":"^9.0.0","mocha":"^10.2.0","sinon":"^15.0.4","eslint":"^8.39.0","relcov":"^1.0.6","env-cmd":"^10.1.0","coveralls":"^3.1.1","proxyquire":"^2.1.3","serverless":"^3.30.1","chai-subset":"^1.6.0","lambda-tester":"^4.0.1","chai-as-promised":"^7.1.1","eslint-plugin-mocha":"^10.1.0","eslint-plugin-import":"^2.27.5","serverless-prune-plugin":"^2.0.2","eslint-config-airbnb-base":"^15.0.0","serverless-plugin-aws-alerts":"^1.7.5","serverless-plugin-common-excludes":"^4.0.0","serverless-plugin-include-dependencies":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cloudwatch-telemetry_3.0.0_1682967724261_0.23617494577030262","host":"s3://npm-registry-packages"}},"4.0.0":{"name":"@alpha-lambda/cloudwatch-telemetry","version":"4.0.0","description":"Store custom CloudWatch metrics in a cost-effective way","main":"src/DatapointsCollector.js","scripts":{"deploy":"./sls.js deploy","lint":"eslint .","package":"./sls.js package","posttest":"npm run lint","remove":"./sls.js remove","test":"npm run test:unit && npm run test:integration","test:unit":"env-cmd -f test/.env --no-override nyc mocha --config test/unit/.mocharc.yml test/unit","test:integration":"env-cmd -f test/.env --no-override mocha --config test/integration/.mocharc.yml test/integration"},"keywords":["aws","function","lambda","serverless","cloudwatch","telemetry","alpha","metrics","util"],"repository":{"type":"git","url":"git+https://github.com/alpha-lambda/cloudwatch-telemetry.git"},"author":{"name":"Anton Bazhal","email":"am.bazhal@gmail.com","url":"https://github.com/AntonBazhal"},"license":"MIT","dependencies":{"@alpha-lambda/handler":"^1.3.0","ajv":"^8.12.0","aws-sdk":"^2.1368.0","lodash.chunk":"^4.2.0","minimist":"^1.2.8","pino":"^8.11.0","shelljs":"^0.8.5"},"devDependencies":{"chai":"^4.3.7","chai-as-promised":"^7.1.1","chai-subset":"^1.6.0","env-cmd":"^10.1.0","eslint":"^8.39.0","eslint-config-airbnb-base":"^15.0.0","eslint-plugin-import":"^2.27.5","eslint-plugin-mocha":"^10.1.0","lambda-tester":"^4.0.1","mocha":"^10.2.0","nyc":"^15.1.0","proxyquire":"^2.1.3","relcov":"^1.0.6","serverless":"^3.38.0","serverless-plugin-aws-alerts":"^1.7.5","serverless-plugin-common-excludes":"^4.0.0","serverless-plugin-include-dependencies":"^5.0.0","serverless-prune-plugin":"^2.0.2","sinon":"^15.0.4","uuid":"^9.0.0"},"gitHead":"53f60d229204503d9e2ab1a961f2b5d97015f1fa","bugs":{"url":"https://github.com/alpha-lambda/cloudwatch-telemetry/issues"},"homepage":"https://github.com/alpha-lambda/cloudwatch-telemetry#readme","_id":"@alpha-lambda/cloudwatch-telemetry@4.0.0","_shasum":"e505ca48e76590bcb12468cd26ce68121a25cc87","_from":".","_npmVersion":"2.15.12","_nodeVersion":"20.12.2","_npmUser":{"name":"antonbazhal","email":"am.bazhal@gmail.com"},"dist":{"shasum":"e505ca48e76590bcb12468cd26ce68121a25cc87","tarball":"https://registry.npmjs.org/@alpha-lambda/cloudwatch-telemetry/-/cloudwatch-telemetry-4.0.0.tgz","integrity":"sha512-pOcEub4ci03GukQ+aF/1vYp95vbd6SVdYTqXwi4iQ7qOdX2qyj1S58b/rKjpOMKkszx5G6b0W/bYZKPPJrpaCA==","fileCount":35,"unpackedSize":611402,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCA4pAmCCJR/Bn5PJodwJfCLu3njQvOsDXlo8dGuscxHgIgZ9bxuNg5VVh/NB1UyKQfrils/Gx1pywfKTM5iyOjVT8="}]},"directories":{},"maintainers":[{"name":"bdgamble","email":"bryan.d.gamble@gmail.com"},{"name":"dougmoscrop","email":"doug.moscrop@gmail.com"},{"name":"antonbazhal","email":"am.bazhal@gmail.com"},{"name":"tradigan","email":"todd.radigan@d2l.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cloudwatch-telemetry_4.0.0_1758747814366_0.07865155443920524"},"_hasShrinkwrap":false}},"time":{"created":"2019-11-15T20:28:05.658Z","modified":"2025-09-24T21:03:34.812Z","1.0.0":"2019-11-15T20:28:05.894Z","1.0.1":"2020-01-27T18:36:25.102Z","1.0.2":"2020-02-03T22:48:59.598Z","2.0.0":"2021-08-17T13:44:15.558Z","3.0.0":"2023-05-01T19:02:04.459Z","4.0.0":"2025-09-24T21:03:34.592Z"},"bugs":{"url":"https://github.com/alpha-lambda/cloudwatch-telemetry/issues"},"author":{"name":"Anton Bazhal","email":"am.bazhal@gmail.com","url":"https://github.com/AntonBazhal"},"license":"MIT","homepage":"https://github.com/alpha-lambda/cloudwatch-telemetry#readme","keywords":["aws","function","lambda","serverless","cloudwatch","telemetry","alpha","metrics","util"],"repository":{"type":"git","url":"git+https://github.com/alpha-lambda/cloudwatch-telemetry.git"},"description":"Store custom CloudWatch metrics in a cost-effective way","maintainers":[{"name":"bdgamble","email":"bryan.d.gamble@gmail.com"},{"name":"dougmoscrop","email":"doug.moscrop@gmail.com"},{"name":"antonbazhal","email":"am.bazhal@gmail.com"},{"name":"tradigan","email":"todd.radigan@d2l.com"}],"readme":"# cloudwatch-telemetry\n\n[![Build Status][ci-image]][ci-url]\n[![Coverage Status][coverage-image]][coverage-url]\n[![NPM version][npm-image]][npm-url]\n[![Dependencies Status][dependencies-image]][dependencies-url]\n[![DevDependencies Status][devdependencies-image]][devdependencies-url]\n\n[Serverless][serverless-url] app to store custom `CloudWatch` metrics in a cost-effective way. The app works as follows:\n\n```\nCloudWatch logs with datapoints --> Kinesis Stream --> Lambda function --> CloudWatch metrics\n```\n\n## Deployment\n\nTo deploy an instance of the app, run the following commands:\n```shell\nnvm use\nnpm ci\nnpm run deploy -- [--stage STAGE] [--region REGION] [--alarmAction ALARM_ACTION] [--insufficientDataAction INSUFFICIENT_DATA_ACTION] [--okAction OK_ACTION] [--logLevel LOG_LEVEL] [--batchSize BATCH_SIZE] [--retentionHours RETENTION_HOURS] [--shardCount SHARD_COUNT]\n```\n\n- `REGION`: (Optional) AWS region to deploy the app to. Defaults to `us-east-1`.\n- `STAGE`: (Optional) Environment to deploy the app to. Defaults to `dev`.\n- `ALARM_ACTION`: (Optional) ARN of an action to execute (e.g. `SNS` topic) when any alarm transitions into an `ALARM` state.\n- `INSUFFICIENT_DATA_ACTION`: (Optional) ARN of an action to execute (e.g. `SNS` topic) when any alarm transitions into an `INSUFFICIENT_DATA` state.\n- `OK_ACTION`: (Optional) ARN of an action to execute (e.g. `SNS` topic) when any alarm transitions into an `OK` state.\n- `LOG_LEVEL`: (Optional) Logger level (`trace`, `debug`, `info`, `warn`, `error`, `fatal`). Defaults to `info`.\n- `BATCH_SIZE`: (Optional) The largest number of records that Lambda function retrieves from the `Kinesis` stream. Defaults to `1000`.\n- `RETENTION_HOURS`: (Optional) The number of hours for the data records that are stored in shards to remain accessible. Defaults to `24`.\n- `SHARD_COUNT`: (Optional) The number of shards that the stream uses. Defaults to `1`.\n\n## Tearing Down\n\nTo remove an instance of the app, run the following commands:\n```shell\nnvm use\nnpm ci\nnpm run remove -- [--stage STAGE] [--region REGION]\n```\n\n## Integration\n\n### CloudFormation stack\n\nThe app is deployed to the specified region using `CloudFormation` stack called `cw-telemetry-<STACK>`. Stack outputs:\n\nKey|Name|Description|Value\n--|---|---|--\nIngestionStreamArn|`cw-telemetry-<STAGE>-ingestion-stream-arn`|The ARN for the `Kinesis` stream to forward logs to|`arn:aws:kinesis:<REGION>:<ACCOUNT_ID>:stream/cw-telemetry-<STAGE>-ingestion-stream`\nServiceRoleArn|`cw-telemetry-<STAGE>-service-role-arn`|The ARN for the `IAM` role to assume|`arn:aws:iam::<ACCOUNT_ID>:role/cw-telemetry-<STAGE>-<REGION>-role`\n\n### Log Format\n\nLog records need to be in a `JSON` format and contain `datapoints` property. Each datapoint needs to contain the following:\n\n- `name`: (String [1..] / Required) The name of the metric\n- `namespace`: (String [1..] / Required) The namespace for the metric data\n- `dimensions`: (Object / Required) The dimensions associated with the metric (key-value pairs)\n- `points`: (Object[] / Required) One or more `value`/`timestamp` pairs, where:\n  - `value`: (Float [0..] / Required) The value for the datapoint\n  - `timestamp`: (Integer / Required) The time the datapoint data was received, expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC\n- `unit`: (String [[valid values][metric-datum-url]] / Optional) The unit of the metric\n\nSample log record:\n\n```json\n{\n  \"awsRequestId\": \"a669b165-ea14-11e8-8246-4d697629d57f\",\n  \"requestId\": \"a669b165-ea14-11e8-8246-4d697629d57f\",\n  \"level\": 30,\n  \"datapoints\": [\n      {\n          \"namespace\": \"big-service-test\",\n          \"name\": \"invocationCount\",\n          \"dimensions\": {\n              \"functionName\": \"createEntity\",\n              \"customerId\": \"00000000-0000-0000-0000-000000000000\"\n          },\n          \"points\": [{\n            \"timestamp\": 1542423506412,\n            \"value\": 1\n          }],\n          \"unit\": \"Count\"\n      },\n      {\n          \"namespace\": \"big-service-test\",\n          \"timestamp\": 1542423508235,\n          \"name\": \"capacityUsed\",\n          \"dimensions\": {\n              \"tableName\": \"mainTable\"\n          },\n          \"points\": [\n            {\n              \"timestamp\": 1542423508235,\n              \"value\": 23\n            },\n            {\n              \"timestamp\": 1542423406280,\n              \"value\": 18\n            }\n          ],\n          \"unit\": \"Count\"\n      }\n  ],\n  \"time\": \"2018-11-17T02:58:27.596Z\",\n  \"message\": \"datapoints for cw-telemetry\"\n}\n```\n\n### DatapointCollector\n\n`DatapointCollector` class makes it easier to aggregate datapoints.\n\n#### new DatapointCollector([options])\nCreates a new instance, where:\n- **options** - { Object } - a config object with the following keys:\n\t- **log** - { Function } - logger function to use for printing out datapoints\n\t- **namespace** - { String [1..] } - namespace for the metric data\n\t- **[auto]** - { Boolean } - enables automatic mode when aggregated datapoints are flushed at defined interval [defaults to `false`]\n\t- **[flushFrequency]** - { Number [1..] } - flush frequency for the automatic mode defined in milliseconds [defaults to `20000`]\n\t- **[maxDatapointsPerFlush]** - { Number [1..] } - max number of datapoints to include in a single log record [defaults to `500`]\n\n##### Example\n```js\nconst bunyan = require('bunyan');\nconst DatapointCollector = require('cloudwatch-telemetry');\n\nvar log = bunyan.createLogger({ name: 'service' });\nconst datapointCollector = new DatapointCollector({\n  log: log.info.bind(log),\n  namespace: 'service-prod'\n});\n```\n\n#### add(datapoints)\nStores datapoints, where:\n- **datapoints** - { Object | Object[]} - an object or collection that contains datapoints:\n\t- **name** - { String [1..] } - name of the metric\n  - **dimensions** - { Object } - dimensions associated with the metric (key-value pairs)\n  - **value** - { Number [0..] } value for the datapoint\n  - **[unit]** - { String } - unit of the metric ([valid values][metric-datum-url])\n\n#### clear()\nDeletes all the stored datapoints\n\n#### flush()\nFlushes all the stored datapoints\n\n#### getAll()\nRetrieves all the stored datapoints\n\n#### stop()\nStops datapoints collector in the automatic mode and flushes all the stored datapoints\n\n#### UNITS\nList of all the [units supported][metric-datum-url]:\n  - `BITS`\n  - `BITS_SECOND`\n  - `BYTES`\n  - `BYTES_SECOND`\n  - `COUNT`\n  - `COUNT_SECOND`\n  - `GIGABITS`\n  - `GIGABITS_SECOND`\n  - `GIGABYTES`\n  - `GIGABYTES_SECOND`\n  - `KILOBITS`\n  - `KILOBITS_SECOND`\n  - `KILOBYTES`\n  - `KILOBYTES_SECOND`\n  - `MEGABITS`\n  - `MEGABITS_SECOND`\n  - `MEGABYTES`\n  - `MEGABYTES_SECOND`\n  - `MICROSECONDS`\n  - `MILLISECONDS`\n  - `NONE`\n  - `PERCENT`\n  - `SECONDS`\n  - `TERABITS`\n  - `TERABITS_SECONDS`\n  - `TERABYTES`\n  - `TERABYTES_SECOND`\n\n### Log Forwarding\n\nLog records need to be forwarded to the `Kinesis` stream using [Subscription Filter][subscription-filter-url]. If you are using [Serverless framework][serverless-url] in your app, the easiest way would be to use [serverless-plugin-log-subscription][serverless-plugin-log-subscription-url].\n\n## License\n\nThe MIT License (MIT)\n\nCopyright (c) 2019 Anton Bazhal\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n[ci-image]: https://circleci.com/gh/alpha-lambda/cloudwatch-telemetry.svg?style=shield&circle-token=4873550a7f86ecf93fe8870f86944aa535250ec2\n[ci-url]: https://circleci.com/gh/alpha-lambda/cloudwatch-telemetry\n[coverage-image]: https://coveralls.io/repos/github/alpha-lambda/cloudwatch-telemetry/badge.svg?branch=master\n[coverage-url]: https://coveralls.io/github/alpha-lambda/cloudwatch-telemetry?branch=master\n[dependencies-url]: https://david-dm.org/alpha-lambda/cloudwatch-telemetry\n[dependencies-image]: https://david-dm.org/alpha-lambda/cloudwatch-telemetry/status.svg\n[devdependencies-url]: https://david-dm.org/alpha-lambda/cloudwatch-telemetry?type=dev\n[devdependencies-image]: https://david-dm.org/alpha-lambda/cloudwatch-telemetry/dev-status.svg\n[npm-url]: https://www.npmjs.org/package/@alpha-lambda/cloudwatch-telemetry\n[npm-image]: https://img.shields.io/npm/v/@alpha-lambda/cloudwatch-telemetry.svg\n[metric-datum-url]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html\n[serverless-plugin-log-subscription-url]: https://github.com/dougmoscrop/serverless-plugin-log-subscription\n[serverless-url]: https://serverless.com/\n[subscription-filter-url]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-subscriptionfilter.html\n","readmeFilename":"README.md"}