{"_id":"kuzzle-plugin-prometheus","_rev":"14-8d0ea668e6f9737f7516398d69880264","name":"kuzzle-plugin-prometheus","dist-tags":{"latest":"4.2.1"},"versions":{"3.0.0":{"name":"kuzzle-plugin-prometheus","version":"3.0.0","keywords":["kuzzle","plugin","monitoring","prometheus"],"author":{"name":"The Kuzzle Team","email":"support@kuzzle.io"},"license":"Apache-2.0","_id":"kuzzle-plugin-prometheus@3.0.0","maintainers":[{"name":"kuzzle","email":"support@kuzzle.io"}],"homepage":"https://github.com/kuzzleio/kuzzle-plugin-prometheus#readme","bugs":{"url":"https://github.com/kuzzleio/kuzzle-plugin-prometheus/issues"},"dist":{"shasum":"f75021f92066585e7af101843ede33363ff9d60b","tarball":"https://registry.npmjs.org/kuzzle-plugin-prometheus/-/kuzzle-plugin-prometheus-3.0.0.tgz","fileCount":5,"integrity":"sha512-k7BgC9fyjx+obqWT27+d7N2omN1HzWgm3Q6ORY1qPa1r/iinJHKsrp/fkOfT43z8pf3RYw2cxNUap7/oe4ZT9g==","signatures":[{"sig":"MEQCIANIuBrb7N/hv6IVj40FGf/5zANpfocik8s2z2sj0u6lAiAJizyD5SlduVUPn8w5+Pe3zh6zeQbFAXGL0xa9CdC69Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18901,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgwHNaCRA9TVsSAnZWagAALX0QAKOYj3G3C9q6IszMqP5t\ntSNDXTgablP2Gnzx5E2lTwiMFOnnxAjXVkV8w4wLK19iR7/s6h4vsHyFIqqe\nrZaXx+R9ckxM/0Uzsqv1/ROeBbaDMkw2keLZL6l+4E+KRIHqDJtgn2NB2l+5\ngdRqTa51PvDnkkyKMlq4hk9LJwuZ7j8+HsV9YgkQD2SaSFsiI/CrLvo7Tx1N\naIWgpASa9OShVvOPnOzzRD5MKC2/oa8082cdCu98XtdLeas5e/maOS28HI8G\nv9xX7a5jvGujz3MoEuwMb6lshcm1A81RgHlP4CWOMATQTPiW7Drn2zTf84I8\n3xSG9L+yK/Cg2detqc9Og3RrLJfzR8X9bGX/qR02jACop4Kq8qPRprm/ozz9\n1o8xjuNjY1AYvD1UQjdxZZlIXXgvx74OlSIUgGAVbXr3XESI27mJ9uRJXnKh\nKpOhOGtahJDS9zOmNGP8Wi0hKQoz+PUfxa0xsE9ryCG20FccN/vbznGr9Y2Z\nYF6BoHyRwop005oVHppieyAkiq+eMZ0Eq6lScgFN+k4WkzB+bcKFXZWAoUdI\nBjf8w+GIrNizs5XjVF9e3cvtCWF6F69lFMXN6rosCRrG1IyD+VFIX8JQ+IGT\nF2bp9rFDiAMtD2uiJF3np3XHp2jLfYovWTqtIvVABICH5x+vCL1ogRvK0uBk\n0aLT\r\n=z3wi\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.ts","issues":"https://github.com/kuzzleio/kuzzle-plugin-prometheus/issues","gitHead":"3757db3be4031e83d6c5955d243183ff9f9b80b5","scripts":{"dev":"NODE_ENV=development npx nodemon --ignore features/step_definitions --ignore frontend --ignore frontend-dev --ext 'js,json,ts' --inspect=0.0.0.0:9229 --exec node -r ts-node/register application/app.ts","prod":"node application/app.js","test":"npm run test:lint && npm run test:unit && npm run test:functional","build":"tsc --build tsconfig.json","clean":"touch index.ts && npm run build | grep TSFILE | cut -d' ' -f 2 | xargs rm","doc:dev":"npx kuzdoc repo:dev -d /official-plugins/workflows/1/ -v 1","services":"npx kourou app:start-services","doc:build":"npx kuzdoc repo:build -d /official-plugins/workflows/1/ -v 1","test:lint":"eslint ./lib --ext .ts --config .eslintrc.json","test:unit":"mocha","dev:docker":"docker-compose up","doc:deploy":"npm run doc:upload && npm run doc:cloudfront","doc:upload":"npx kuzdoc repo:deploy -d /official-plugins/workflows/1/ -v 1","npm:docker":"docker-compose run kuzzle npm","doc:prepare":"npx kuzdoc framework:install","test:lint:fix":"eslint ./lib --ext .ts --config .eslintrc.json --fix","doc:cloudfront":"npx kuzdoc repo:cloudfront -d /official-plugins/workflows/1/*","install:docker":"npm run npm:docker install kuzzle","package:create":"npm run build && npm pack","test:functional":"cucumber-js --exit --fail-fast"},"_npmUser":{"name":"kuzzle","email":"support@kuzzle.io"},"repository":{"url":"git+https://github.com/kuzzleio/kuzzle-plugin-prometheus.git","type":"git"},"_npmVersion":"6.14.12","description":"Kuzzle plugin: monitoring Kuzzle using Prometheus","directories":{},"_nodeVersion":"12.22.1","dependencies":{"macaddress":"^0.2.9","prom-client":"^11.3.0"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"8.0.1","sinon":"^9.0.3","eslint":"^7.7.0","kuzzle":"^2.11.0","rewire":"^5.0.0","should":"13.2.3","nodemon":"^2.0.7","ts-node":"^8.10.2","cucumber":"^6.0.5","typescript":"^3.9.7","@types/node":"^14.6.0","mock-require":"^3.0.3","should-sinon":"0.0.6","eslint-loader":"^4.0.2","@typescript-eslint/parser":"^3.9.1","eslint-friendly-formatter":"^4.0.1","@typescript-eslint/eslint-plugin":"^3.9.1"},"peerDependencies":{"kuzzle":"^2.11.0"},"_npmOperationalInternal":{"tmp":"tmp/kuzzle-plugin-prometheus_3.0.0_1623225178257_0.4188522705269566","host":"s3://npm-registry-packages"}},"3.0.1":{"name":"kuzzle-plugin-prometheus","version":"3.0.1","keywords":["kuzzle","plugin","monitoring","prometheus"],"author":{"name":"The Kuzzle Team","email":"support@kuzzle.io"},"license":"Apache-2.0","_id":"kuzzle-plugin-prometheus@3.0.1","maintainers":[{"name":"kuzzle","email":"support@kuzzle.io"}],"homepage":"https://github.com/kuzzleio/kuzzle-plugin-prometheus#readme","bugs":{"url":"https://github.com/kuzzleio/kuzzle-plugin-prometheus/issues"},"dist":{"shasum":"5b6e20a1a205ba9307c44a32c70094fa24d8b926","tarball":"https://registry.npmjs.org/kuzzle-plugin-prometheus/-/kuzzle-plugin-prometheus-3.0.1.tgz","fileCount":13,"integrity":"sha512-iB/+nwLP94ArHNnYTauianZExfMinHssvqNtyARnrgzhJx8xSzSxxEq4rHlXD72+M2Cp/CVgo6AvTsYZoCFCXg==","signatures":[{"sig":"MEQCIEMhCx73sa0FTbhse+vnmaQIc+N9/IZlpoeu4KCghKWHAiBNNbzuR5PsPOrCzwaOBW4cXlCqpwWmcZ1kMRST1GNmuw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33494,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg5GE1CRA9TVsSAnZWagAA0UkP/2Qam/FdbLSHPMnX49Z3\nDkUOhTrrHGBXxV+SHh+aRYp9ZySk2XBOL133MrwRcnfZdIYZne7m9edfYLh0\n9QEgQWgWb9IB3carrgKaRG4QP6uWeCNHJKOHedBRCz7Hp1e4bmtOF6SuTvfB\nB0Vtm0vBOiB9lgHjuMIxDhT7AkK9PNrEp2+0iH9rzqHzPELU5o5A09o9xmZL\nQAE7AryNVmCGj0pZ6zmuqXze6SxcKRTuvtJ/3C4OGWFU3rF0LvdaontLTtr5\njTbVw3mKMbtgEGQyH9272C4KudpsnjJn2RQJbgFILTwoFSMJVVdmAP+oaYyQ\nl8l2Rt9ejUblOEyTIvf7iCHAr+oFvxoEZIGDdaUe6y0UHaFrc3krrvPp9wGG\njxoIOPjBQ58QLkwP0qAOHrPi0V3WY3SULyeIG0EdFBF2iAKgbnjsTgN80Qsu\ndgCDkQBflnLKKSgKtk7p4Xq5WOQ3EMNKGgem/T2vt8Cq0Dp3v1Nm+gr6RXOl\nJp63+0Qg9elXR9hHQtNlmlfpscnBx4nZ68Y+6Kyw69rQIQZe9crj2BTiHFGq\n+/Z4uo1NaRHrJx3yarbezvYKeF+JkqVHlX+ZCK6RsmhEsT9TudWlsyQluWxf\nDluA7b6aPaqgX2KpHQ5D6hu0oYKZlRd7rqSXPKpMZJ73KMXenO4OsTWcH3P7\nuwSN\r\n=6514\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.ts","issues":"https://github.com/kuzzleio/kuzzle-plugin-prometheus/issues","gitHead":"d40985ed681c681ad657331592071f8f22d55e84","scripts":{"dev":"NODE_ENV=development npx nodemon --ignore features/step_definitions --ignore frontend --ignore frontend-dev --ext 'js,json,ts' --inspect=0.0.0.0:9229 --exec node -r ts-node/register application/app.ts","prod":"node application/app.js","test":"npm run test:lint && npm run test:unit && npm run test:functional","build":"tsc --build tsconfig.json","clean":"touch index.ts && npm run build | grep TSFILE | cut -d' ' -f 2 | xargs rm","doc:dev":"npx kuzdoc repo:dev -d /official-plugins/workflows/1/ -v 1","prepack":"npm run build","services":"npx kourou app:start-services","doc:build":"npx kuzdoc repo:build -d /official-plugins/workflows/1/ -v 1","test:lint":"eslint ./lib --ext .ts --config .eslintrc.json","test:unit":"mocha","dev:docker":"docker-compose up","doc:deploy":"npm run doc:upload && npm run doc:cloudfront","doc:upload":"npx kuzdoc repo:deploy -d /official-plugins/workflows/1/ -v 1","npm:docker":"docker-compose run kuzzle npm","doc:prepare":"npx kuzdoc framework:install","test:lint:fix":"eslint ./lib --ext .ts --config .eslintrc.json --fix","doc:cloudfront":"npx kuzdoc repo:cloudfront -d /official-plugins/workflows/1/*","install:docker":"npm run npm:docker install kuzzle","package:create":"npm run build && npm pack","test:functional":"cucumber-js --exit --fail-fast"},"_npmUser":{"name":"kuzzle","email":"support@kuzzle.io"},"repository":{"url":"git+https://github.com/kuzzleio/kuzzle-plugin-prometheus.git","type":"git"},"_npmVersion":"6.14.12","description":"Kuzzle plugin: monitoring Kuzzle using Prometheus","directories":{},"_nodeVersion":"12.22.1","dependencies":{"macaddress":"^0.2.9","prom-client":"^11.3.0"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"8.0.1","sinon":"^9.0.3","eslint":"^7.7.0","kuzzle":"^2.13.3","rewire":"^5.0.0","should":"13.2.3","nodemon":"^2.0.7","ts-node":"^8.10.2","cucumber":"^6.0.5","typescript":"^3.9.7","@types/node":"^14.6.0","mock-require":"^3.0.3","should-sinon":"0.0.6","eslint-loader":"^4.0.2","@typescript-eslint/parser":"^3.9.1","eslint-friendly-formatter":"^4.0.1","@typescript-eslint/eslint-plugin":"^3.9.1"},"peerDependencies":{"kuzzle":"^2.11.0"},"_npmOperationalInternal":{"tmp":"tmp/kuzzle-plugin-prometheus_3.0.1_1625579829030_0.13771661360041332","host":"s3://npm-registry-packages"}},"3.0.2":{"name":"kuzzle-plugin-prometheus","version":"3.0.2","keywords":["kuzzle","plugin","monitoring","prometheus"],"author":{"name":"The Kuzzle Team","email":"support@kuzzle.io"},"license":"Apache-2.0","_id":"kuzzle-plugin-prometheus@3.0.2","maintainers":[{"name":"kuzzle","email":"support@kuzzle.io"}],"homepage":"https://github.com/kuzzleio/kuzzle-plugin-prometheus#readme","bugs":{"url":"https://github.com/kuzzleio/kuzzle-plugin-prometheus/issues"},"dist":{"shasum":"4fdd9a2815e1741502d6f1948f8c23a10da212ef","tarball":"https://registry.npmjs.org/kuzzle-plugin-prometheus/-/kuzzle-plugin-prometheus-3.0.2.tgz","fileCount":11,"integrity":"sha512-IoWazNOu+dsLZtOMrYj9l9UGh6zyFdT7coOK8csN+HdNAMcc8HtlPzExxjOgvkxiUuyuFqdYbrO9XsEkoxL0Hg==","signatures":[{"sig":"MEQCIFbGOrBYoqrba6GOW7QLS4V4bcV7R4vMtRH+5ku91Y1OAiAnB3EQyS5i3DkMiVjkceAB1yZSfy1PhkF0oj0IbwlPcQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33416,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg5GuMCRA9TVsSAnZWagAAZ9wQAJ/5MvCwY9CGpC0N9Y8a\n4mJcAFRF57AjplTKoPsXFzT0WA+qDsOgZns0pwJ0n41A9HdbEuWXI6IFwv8P\n0gmaSKXrJTz1MnVQ1VwizSIFOCPdcK3SL6IVnFkBYH+nzCMWlNQBVEZjU3Dp\nqqKVifb9sF4nRW4+7J+BdyBplUHEJyL6sN6ebAXAbPdXFtqb9Yjey+iF5+8Q\nCow8rUyD+M0PDQZta2jBxdi6k/NzjQPFlCPrha8w6XaWhPD0Xe1fvVgqzGvS\niSmIPdBqa6PtLObyfDe5+DICbXIbcdR2zm8HSUJHUDjB5wM1MnOFc71d8iIB\nc8xFQQsnprGbApmd+Vg8G+Gs4CWIjlyReST+bDJDu0Bdrk4wMfgrpYMhPiyp\nJRv52B4L5omYdLZBVbuTk3Du6WHCilorQtXwk5cSHR86nicRm1QlUwF7Afzx\nGBGkCaFL2Eu3S5R8G+VGTHc/79VQPYPxa9+zmz6wRlpazgig+dogNrzxEGnV\nSRxm9W0j/QF1jzdwHhlU+2v7cTd+hoDcjzIIAdP/a/LAJf8ur5p2Ccpdqsst\nWX+AqxLtASES1X92wePVZrDJMyQspDc8WbwZPQGQwaRboAYWZXcIxUATZsYI\nj+BW1SFxd4yGe04UJRKhfxBlpHyjWYfAnOWc7nQmKXV2rNUJ4y5KDWbk0AAt\ne8vt\r\n=5Mw8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","issues":"https://github.com/kuzzleio/kuzzle-plugin-prometheus/issues","gitHead":"73fb676d06dda335d9353398e7734b3533c4a004","scripts":{"dev":"NODE_ENV=development npx nodemon --ignore features/step_definitions --ignore frontend --ignore frontend-dev --ext 'js,json,ts' --inspect=0.0.0.0:9229 --exec node -r ts-node/register application/app.ts","prod":"node application/app.js","test":"npm run test:lint && npm run test:unit && npm run test:functional","build":"tsc --build tsconfig.json","clean":"touch index.ts && npm run build | grep TSFILE | cut -d' ' -f 2 | xargs rm","doc:dev":"npx kuzdoc repo:dev -d /official-plugins/workflows/1/ -v 1","prepack":"npm run build","services":"npx kourou app:start-services","doc:build":"npx kuzdoc repo:build -d /official-plugins/workflows/1/ -v 1","test:lint":"eslint ./lib --ext .ts --config .eslintrc.json","test:unit":"mocha","dev:docker":"docker-compose up","doc:deploy":"npm run doc:upload && npm run doc:cloudfront","doc:upload":"npx kuzdoc repo:deploy -d /official-plugins/workflows/1/ -v 1","npm:docker":"docker-compose run kuzzle npm","doc:prepare":"npx kuzdoc framework:install","test:lint:fix":"eslint ./lib --ext .ts --config .eslintrc.json --fix","doc:cloudfront":"npx kuzdoc repo:cloudfront -d /official-plugins/workflows/1/*","install:docker":"npm run npm:docker install kuzzle","package:create":"npm run build && npm pack","test:functional":"cucumber-js --exit --fail-fast"},"_npmUser":{"name":"kuzzle","email":"support@kuzzle.io"},"repository":{"url":"git+https://github.com/kuzzleio/kuzzle-plugin-prometheus.git","type":"git"},"_npmVersion":"6.14.12","description":"Kuzzle plugin: monitoring Kuzzle using Prometheus","directories":{},"_nodeVersion":"12.22.1","dependencies":{"macaddress":"^0.2.9","prom-client":"^11.3.0"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"8.0.1","sinon":"^9.0.3","eslint":"^7.7.0","kuzzle":"^2.13.3","rewire":"^5.0.0","should":"13.2.3","nodemon":"^2.0.7","ts-node":"^8.10.2","cucumber":"^6.0.5","typescript":"^3.9.7","@types/node":"^14.6.0","mock-require":"^3.0.3","should-sinon":"0.0.6","eslint-loader":"^4.0.2","@typescript-eslint/parser":"^3.9.1","eslint-friendly-formatter":"^4.0.1","@typescript-eslint/eslint-plugin":"^3.9.1"},"peerDependencies":{"kuzzle":"^2.13.3"},"_npmOperationalInternal":{"tmp":"tmp/kuzzle-plugin-prometheus_3.0.2_1625582475831_0.801012614827564","host":"s3://npm-registry-packages"}},"3.0.3":{"name":"kuzzle-plugin-prometheus","version":"3.0.3","keywords":["kuzzle","plugin","monitoring","prometheus"],"author":{"name":"The Kuzzle Team","email":"support@kuzzle.io"},"license":"Apache-2.0","_id":"kuzzle-plugin-prometheus@3.0.3","maintainers":[{"name":"kuzzle","email":"support@kuzzle.io"}],"homepage":"https://github.com/kuzzleio/kuzzle-plugin-prometheus#readme","bugs":{"url":"https://github.com/kuzzleio/kuzzle-plugin-prometheus/issues"},"dist":{"shasum":"4d9fc18d7963f74ec4c6840e88e800edf8f9d014","tarball":"https://registry.npmjs.org/kuzzle-plugin-prometheus/-/kuzzle-plugin-prometheus-3.0.3.tgz","fileCount":11,"integrity":"sha512-bmbWmYKQwPN/luPYlV1Y70NdocTxpfRB3bZXhnmTJT4nLe04UaB1BVa/39+T4R4sknuw4SGZ5ve9GiO3nyQz6w==","signatures":[{"sig":"MEUCIHjiIW4sp1AjUab58HYDl5eqYO8j2H+00MN+AMh+ZBfPAiEAn4BZ5lsjCZyWHOpy4AzbxZnap07FQwaT8djYPsA1nSI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33542,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg5XLiCRA9TVsSAnZWagAApKMQAI1tZNCS5TJM36ShwK1p\ntRZvqTI/b9LbZq3y+XpBE/T5UL58tdTKXE/ibvtz5hsQaSjQ2wmTij7duqNM\nWwY9j0oWcjQSWFxLA5TTe1u6DF9xs/uE9295FyWjL8oVoUlkwNKkmkd5seds\nVLjfeU0xMLEtJej0EYx7LsktPTQen5vgdDRzVIrUZU+R63WkEbc2j7w8f9V1\n3wNOe3NBhFEbfXsFmAbwRqqHJkxB6NUW6j32XKetiAKWhNxYGMiWAygbvlzA\nWHdekxxFlMOyR3e3/uu96HLCzHzWnhwSDt4ySCg9SDvQEsf+QKeLkVvgM3Rl\nDVGdxaY9HObXoBxtfHojlHP44EISNp0I4fM41ohd9UuPMobgBdZXAMcR1H+L\nqLIbO0xVto4KzetFP8S+AE9ESUk2Q7I8GHFEgwc2wJli05uZ7AbwsygvG7PO\nO/WYAwZpkULxj0Nwf1STGrRkKqV04KbqkiPDdWo8S6C38lNbvK5sYqQ5POvn\nBksfJ2hNCH7rkAtAdVNozOzggFCEWzhuUNQxIJ3LgW3+wR0mGmKMPQfUGQxZ\nJNblWDx7tzofTCI+YF3W5amq8jvMDTjOPQ2A+ryI2HQ18YQLxrp90W/3a4+q\nkn3zU/fHOsWWgG3gk9Eaggd5fFA2umzGbXvQ64zr4IfaVOyN1XMq4tbO17mz\nrf0D\r\n=1560\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","issues":"https://github.com/kuzzleio/kuzzle-plugin-prometheus/issues","gitHead":"b49c547c0cfd97e4dfed8a89977e2d68f72e8019","scripts":{"dev":"NODE_ENV=development npx nodemon --ignore features/step_definitions --ignore frontend --ignore frontend-dev --ext 'js,json,ts' --inspect=0.0.0.0:9229 --exec node -r ts-node/register application/app.ts","prod":"node application/app.js","test":"npm run test:lint && npm run test:unit && npm run test:functional","build":"tsc --build tsconfig.json","clean":"touch index.ts && npm run build | grep TSFILE | cut -d' ' -f 2 | xargs rm","doc:dev":"npx kuzdoc repo:dev -d /official-plugins/workflows/1/ -v 1","prepack":"npm run build","services":"npx kourou app:start-services","doc:build":"npx kuzdoc repo:build -d /official-plugins/workflows/1/ -v 1","test:lint":"eslint ./lib --ext .ts --config .eslintrc.json","test:unit":"mocha","dev:docker":"docker-compose up","doc:deploy":"npm run doc:upload && npm run doc:cloudfront","doc:upload":"npx kuzdoc repo:deploy -d /official-plugins/workflows/1/ -v 1","npm:docker":"docker-compose run kuzzle npm","doc:prepare":"npx kuzdoc framework:install","test:lint:fix":"eslint ./lib --ext .ts --config .eslintrc.json --fix","doc:cloudfront":"npx kuzdoc repo:cloudfront -d /official-plugins/workflows/1/*","install:docker":"npm run npm:docker install kuzzle","package:create":"npm run build && npm pack","test:functional":"cucumber-js --exit --fail-fast"},"_npmUser":{"name":"kuzzle","email":"support@kuzzle.io"},"repository":{"url":"git+https://github.com/kuzzleio/kuzzle-plugin-prometheus.git","type":"git"},"_npmVersion":"6.14.12","description":"Kuzzle plugin: monitoring Kuzzle using Prometheus","directories":{},"_nodeVersion":"12.22.1","dependencies":{"macaddress":"^0.2.9","prom-client":"^11.3.0"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"8.0.1","sinon":"^9.0.3","eslint":"^7.7.0","kuzzle":"^2.13.3","rewire":"^5.0.0","should":"13.2.3","nodemon":"^2.0.7","ts-node":"^8.10.2","cucumber":"^6.0.5","typescript":"^3.9.7","@types/node":"^14.6.0","mock-require":"^3.0.3","should-sinon":"0.0.6","eslint-loader":"^4.0.2","@typescript-eslint/parser":"^3.9.1","eslint-friendly-formatter":"^4.0.1","@typescript-eslint/eslint-plugin":"^3.9.1"},"peerDependencies":{"kuzzle":"^2.13.3"},"_npmOperationalInternal":{"tmp":"tmp/kuzzle-plugin-prometheus_3.0.3_1625649889820_0.2103015773868362","host":"s3://npm-registry-packages"}},"3.0.4":{"name":"kuzzle-plugin-prometheus","version":"3.0.4","keywords":["kuzzle","plugin","monitoring","prometheus"],"author":{"name":"The Kuzzle Team","email":"support@kuzzle.io"},"license":"Apache-2.0","_id":"kuzzle-plugin-prometheus@3.0.4","maintainers":[{"name":"kuzzle","email":"support@kuzzle.io"}],"homepage":"https://github.com/kuzzleio/kuzzle-plugin-prometheus#readme","bugs":{"url":"https://github.com/kuzzleio/kuzzle-plugin-prometheus/issues"},"dist":{"shasum":"73c2e9b12f5d8b897e897ebffa779e86f1bf0898","tarball":"https://registry.npmjs.org/kuzzle-plugin-prometheus/-/kuzzle-plugin-prometheus-3.0.4.tgz","fileCount":11,"integrity":"sha512-ORhgZ3sWQA538IZ03bAaGH8v4CKtwzZ/hrUAsCLBu0rRnY3SY/4peleFNLyKyWwk2sdExM+Ma7KO9anK3QLzBA==","signatures":[{"sig":"MEYCIQDOs3663yAWvtl+XqHW1GrktqrKwiCMGVdpbYjUMHpHxgIhAJj/9dq1oIAbWcjIVbxtYWkB1Ho4Yqt6wEq9ShME2Zan","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":34078,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhNzEcCRA9TVsSAnZWagAASfkP/12zApYQjW3ehp+F9F03\nrAtw0V1dRXuUwMt6d9SXBaCsJ8/98Xoz4s2VJ4D+z6uO6xrHQvFO4BOtdy4n\nF6tuiMNOY2+6IQUFT/dJFoPL7dg5Wh7ugLccQQBfWNctH3/XKeYqGoqe5LO5\n7eO8mTYG/vL9X+JkQLlxirzbW+NMO2BdBC1irLAbrZLkXygZjEKvnw+GocjJ\nUXuHdsIA0xiyk6wrUSucI2j273M+nnBGTXAhEdzIRAl7nR6v8RTpfUjauYD9\nUbuIWoz+VtR6Tzu/H97/qd8zBfF++3uEV2MN+UOVoZETuZIqpJi3v/BF/zXA\n36olQsn5VIIdvBEBv5sJOu3TM6OCBvdD1w1QCzOAMnMStVJrwpTpVGDUR2Ap\nbM+7eqvGLxkIJRCCrz9zUHST8U+RVuIfmL+eSU+5yZWV4Cau4UZVIS2UQmz9\n5+IO/Kimbh46+EgQkIsHd6hwWAzWG18DIRZZ7AUYTVRyLYBvjzKkWaoZrexr\nBIjUZdLje7Jtn4S9bi/6XlJnSAZn8L4duK5CA/6qavNZhFWD7qNg7h/Z7OmF\n+xWtsoP76HDzKVNbZYWT+uDQatKNT4JMhqKxbgpWldTQm29C8qKKD83F2kPB\neOmiLWmpaKAIjZplqJP7gxBxyHFRsmtM/5Az+X69RLZMBtVaAkbBuuDvP6bP\nzSKk\r\n=nz91\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","issues":"https://github.com/kuzzleio/kuzzle-plugin-prometheus/issues","gitHead":"845e08cae276a3a43bd00e3129a0fae2e9dd9cf4","scripts":{"dev":"NODE_ENV=development npx nodemon --ignore features/step_definitions --ignore frontend --ignore frontend-dev --ext 'js,json,ts' --inspect=0.0.0.0:9229 --exec node -r ts-node/register application/app.ts","prod":"node application/app.js","test":"npm run test:lint && npm run test:unit && npm run test:functional","build":"tsc --build tsconfig.json","clean":"touch index.ts && npm run build | grep TSFILE | cut -d' ' -f 2 | xargs rm","doc:dev":"npx kuzdoc repo:dev -d /official-plugins/workflows/1/ -v 1","prepack":"npm run build","services":"npx kourou app:start-services","doc:build":"npx kuzdoc repo:build -d /official-plugins/workflows/1/ -v 1","test:lint":"eslint ./lib --ext .ts --config .eslintrc.json","test:unit":"mocha","dev:docker":"docker-compose up","doc:deploy":"npm run doc:upload && npm run doc:cloudfront","doc:upload":"npx kuzdoc repo:deploy -d /official-plugins/workflows/1/ -v 1","npm:docker":"docker-compose run kuzzle npm","doc:prepare":"npx kuzdoc framework:install","test:lint:fix":"eslint ./lib --ext .ts --config .eslintrc.json --fix","doc:cloudfront":"npx kuzdoc repo:cloudfront -d /official-plugins/workflows/1/*","install:docker":"npm run npm:docker install kuzzle","package:create":"npm run build && npm pack","test:functional":"cucumber-js --exit --fail-fast"},"_npmUser":{"name":"kuzzle","email":"support@kuzzle.io"},"repository":{"url":"git+https://github.com/kuzzleio/kuzzle-plugin-prometheus.git","type":"git"},"_npmVersion":"6.14.15","description":"Kuzzle plugin: monitoring Kuzzle using Prometheus","directories":{},"_nodeVersion":"12.22.6","dependencies":{"macaddress":"^0.2.9","prom-client":"^11.3.0"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"8.0.1","sinon":"^9.0.3","eslint":"^7.7.0","kuzzle":"^2.13.3","rewire":"^5.0.0","should":"13.2.3","nodemon":"^2.0.7","ts-node":"^8.10.2","cucumber":"^6.0.5","typescript":"^3.9.7","@types/node":"^14.6.0","mock-require":"^3.0.3","should-sinon":"0.0.6","eslint-loader":"^4.0.2","@typescript-eslint/parser":"^3.9.1","eslint-friendly-formatter":"^4.0.1","@typescript-eslint/eslint-plugin":"^3.9.1"},"peerDependencies":{"kuzzle":"^2.13.3"},"_npmOperationalInternal":{"tmp":"tmp/kuzzle-plugin-prometheus_3.0.4_1631007004670_0.8695196755514967","host":"s3://npm-registry-packages"}},"3.1.0":{"name":"kuzzle-plugin-prometheus","version":"3.1.0","keywords":["kuzzle","plugin","monitoring","prometheus"],"author":{"name":"The Kuzzle Team","email":"support@kuzzle.io"},"license":"Apache-2.0","_id":"kuzzle-plugin-prometheus@3.1.0","maintainers":[{"name":"kuzzle","email":"support@kuzzle.io"}],"homepage":"https://github.com/kuzzleio/kuzzle-plugin-prometheus#readme","bugs":{"url":"https://github.com/kuzzleio/kuzzle-plugin-prometheus/issues"},"dist":{"shasum":"de5ce1512c5ce3fd2dbb9e4a42dac47c2c1c9f1d","tarball":"https://registry.npmjs.org/kuzzle-plugin-prometheus/-/kuzzle-plugin-prometheus-3.1.0.tgz","fileCount":11,"integrity":"sha512-I25D/faeMRsh0OsNGRw5+yfbfTo9LyHQPUNaV1swOwBOvj43OsxSUsEB51EuhsXVjHdVXnC09lG30orezYeGlQ==","signatures":[{"sig":"MEQCIAELHCaVOrTGH/1Bt9frpy+3w7PPxaz1XA2eo2ZGozAfAiACV3Sv54Za9KrDiWvQ6326VO5BWhjCWbkNatUpXfulfw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":34078,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh2xbcCRA9TVsSAnZWagAAnYMP/RQRHHTAt3SD+Sc5WhAI\nqVacX62XBVT1Y3YlTyBkXCuBSG9FqdfqpoOltvAGxk7mBTwDqrFvWe3Y/98p\nurYfhpE69SAqC8vXiVqvYOp+DyTJRWGu0fp5mzON8c57a8mAPjl7Uxpy0QMb\n9fzBV0f3Mt1ZxgKAISidCYytwWgf3Dnztjmkq4Q6CGrDNqdZUfbXFkvor9HL\na+S4PpGiZ5kbWQZTC45RvNwsndaEOjwFTuBu9AwU50kEdHuG3cpS22oqPvIu\nsQpCZueWU4E2Pmhr96MGIS4i78zPCeJwpSkhJo4txYZ+UgvPqT4m2d3lza30\nww8z+6T4eRnXVZ6ynuTsLnYGrhh3zAMtdUKD15GY9gXJtvp+YvmZs73XuMFt\nj3XbMW4esmqZCn3ZiW3LpOgRaDeCuBbaA57yDbKayEUDDsURTkTnYII/mUkA\nQ0DmpM0HjQapFEjazFg19SlUKoSbqgKuYNoMASqVb8DoXS+0BiIIx2og9nuX\n4dEqw89/S70rFlO8vJoOE7DiqIA0/aKMFnDJKgcxLavvVwNoLn61NBlZCuWE\nBQp1jZ0OzgfN0f4frmK2y2e8RJNlt6+UAgUq7xuLkAamzofWGuAuY7lbeDU3\ns++wBYd76DzX+ujsWY2cqVCf2Ln+eSnbUmbfrswX/tW/BetsoehIv+j80hy3\nwpth\r\n=tsGD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","issues":"https://github.com/kuzzleio/kuzzle-plugin-prometheus/issues","gitHead":"169f5345029693012b8d965fb618483662978147","scripts":{"dev":"NODE_ENV=development npx nodemon --ignore features/step_definitions --ignore frontend --ignore frontend-dev --ext 'js,json,ts' --inspect=0.0.0.0:9229 --exec node -r ts-node/register application/app.ts","prod":"node application/app.js","test":"npm run test:lint && npm run test:unit && npm run test:functional","build":"tsc --build tsconfig.json","clean":"touch index.ts && npm run build | grep TSFILE | cut -d' ' -f 2 | xargs rm","doc:dev":"npx kuzdoc repo:dev -d /official-plugins/workflows/1/ -v 1","prepack":"npm run build","services":"npx kourou app:start-services","doc:build":"npx kuzdoc repo:build -d /official-plugins/workflows/1/ -v 1","test:lint":"eslint ./lib --ext .ts --config .eslintrc.json","test:unit":"mocha","dev:docker":"docker-compose up","doc:deploy":"npm run doc:upload && npm run doc:cloudfront","doc:upload":"npx kuzdoc repo:deploy -d /official-plugins/workflows/1/ -v 1","npm:docker":"docker-compose run kuzzle npm","doc:prepare":"npx kuzdoc framework:install","test:lint:fix":"eslint ./lib --ext .ts --config .eslintrc.json --fix","doc:cloudfront":"npx kuzdoc repo:cloudfront -d /official-plugins/workflows/1/*","install:docker":"npm run npm:docker install kuzzle","package:create":"npm run build && npm pack","test:functional":"cucumber-js --exit --fail-fast"},"_npmUser":{"name":"kuzzle","email":"support@kuzzle.io"},"repository":{"url":"git+https://github.com/kuzzleio/kuzzle-plugin-prometheus.git","type":"git"},"_npmVersion":"6.14.15","description":"Kuzzle plugin: monitoring Kuzzle using Prometheus","directories":{},"_nodeVersion":"12.22.7","dependencies":{"macaddress":"^0.2.9","prom-client":"^11.3.0"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"8.0.1","sinon":"^9.0.3","eslint":"^7.7.0","kuzzle":"^2.13.3","rewire":"^5.0.0","should":"13.2.3","nodemon":"^2.0.7","ts-node":"^8.10.2","cucumber":"^6.0.5","typescript":"^3.9.7","@types/node":"^14.6.0","mock-require":"^3.0.3","should-sinon":"0.0.6","eslint-loader":"^4.0.2","@typescript-eslint/parser":"^3.9.1","eslint-friendly-formatter":"^4.0.1","@typescript-eslint/eslint-plugin":"^3.9.1"},"peerDependencies":{"kuzzle":"^2.13.3"},"_npmOperationalInternal":{"tmp":"tmp/kuzzle-plugin-prometheus_3.1.0_1636038593973_0.8136346259216418","host":"s3://npm-registry-packages"}},"4.0.0":{"name":"kuzzle-plugin-prometheus","version":"4.0.0","keywords":["kuzzle","plugin","monitoring","prometheus"],"author":{"name":"The Kuzzle Team","email":"support@kuzzle.io"},"license":"Apache-2.0","_id":"kuzzle-plugin-prometheus@4.0.0","maintainers":[{"name":"kuzzle","email":"support@kuzzle.io"}],"homepage":"https://github.com/kuzzleio/kuzzle-plugin-prometheus#readme","bugs":{"url":"https://github.com/kuzzleio/kuzzle-plugin-prometheus/issues"},"dist":{"shasum":"19735e63ef842c8062830584694f1aa7840b5797","tarball":"https://registry.npmjs.org/kuzzle-plugin-prometheus/-/kuzzle-plugin-prometheus-4.0.0.tgz","fileCount":9,"integrity":"sha512-wRpUNEd0GeLuqd61mE3WzZD4C9fWyECxfp6kV+SOltzo1vgucGoFRU8lCfrJ1iW9A7bOYPRQo/8r1I0CWKpTnQ==","signatures":[{"sig":"MEUCIAapASiDwkt4W/zoOzxoV2bcnfwDH2TogQtOL1YoAnAJAiEAqv80KwUxqVyfqlo9bz5MWWkkNTVto4NiBqhVqOyvXU8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":41976,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh8DUuCRA9TVsSAnZWagAA0AEQAIlZaveguq9+XFA0huC0\nHBWnm33m6XAt0/4VcU+K1SwDFeS2s1Kc61ef/yTFyweoods5ZuevcJpXuma8\nqKOU0nMpCX8YYoHLseVWSY7JoKftocnStDJB4QDek6pjNDrjuBUX03rWPjnd\n3pQUbUXBILG0swQ1h5thOl1WzdI2RbsvnrZoGeP0zxHDVBCeKkRlq1jBRjVb\nMoK7BY19NWvvz0ff6w7KCgUMkiqU4O8h2ITh++MkMxiwQpBlWkm4IdXyB2CW\nSrUC6xiG5qMM8JGT2vvfZESejknU715tpeqUqbMAGaapTbwra47w1b+JrHRi\nyOamjNFm7SaNi8xuZq9S2Hyo3Tnxa8IGoQmj5fTbt34AEwIUUdb8P9DNS4KA\n8ZCWXBGO6dKLig9NRfOreFIZavCw1eq3QVfmroOsyJRUCWo/O95NDHuXso6O\neivzwvl8UgPgTpDmhw1XMHv2Sq23JNvcUJlkIW0IzUez6z0/HZYxr4uUlmoK\n5meBsO8z4lWj4KUsihJfXDkGI3yZ0V5aALkSRlDqhfnxZn2iuXoJ130Vw7iq\nMBDpwlVZxQUwm+ykRko15oL2bQ95ZrGBCo1U9rO+s8+/SFUd6nS7uVE/HRvT\nPrAxhigSbCY6cdfspfFXKQaSqznbhJBD92ysNrwZVBxIKK29XaybA+wv3rke\nHyCm\r\n=bwVR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","issues":"https://github.com/kuzzleio/kuzzle-plugin-prometheus/issues","gitHead":"9585f54baa9aa53a686388d9be08a4d7e188ddc7","scripts":{"dev":"npx ergol application/app.ts -c ./config/ergol.json","prod":"node application/app.js","test":"npm run test:lint && npm run test:unit && npm run test:functional","build":"tsc --build tsconfig.json","clean":"touch index.ts && npm run build | grep TSFILE | cut -d' ' -f 2 | xargs rm","prepack":"npm run build","services":"npx kourou app:start-services","test:lint":"eslint ./lib --ext .ts --config .eslintrc.json","test:unit":"mocha","dev:docker":"docker-compose up","npm:docker":"docker-compose run kuzzle npm","test:lint:fix":"eslint ./lib --ext .ts --config .eslintrc.json --fix","install:docker":"npm run npm:docker install kuzzle","package:create":"npm run build && npm pack","test:functional":"cucumber-js --require-module ts-node/register -r features/step_definitions/*.ts --exit --fail-fast"},"_npmUser":{"name":"kuzzle","email":"support@kuzzle.io"},"repository":{"url":"git+https://github.com/kuzzleio/kuzzle-plugin-prometheus.git","type":"git"},"_npmVersion":"6.14.15","description":"Kuzzle plugin: monitoring Kuzzle using Prometheus","directories":{},"_nodeVersion":"14.18.3","dependencies":{"lodash":"^4.17.15","prom-client":"^14.0.1"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.4.2","nyc":"^15.1.0","chai":"^4.3.4","ergol":"^1.0.1","mocha":"^9.1.3","sinon":"^9.0.3","eslint":"^7.7.0","kuzzle":"^2.16.0","lodash":"^4.17.15","rewire":"^6.0.0","should":"13.2.3","ts-node":"^8.10.2","cucumber":"^6.0.5","kuzzle-sdk":"^7.8.1","node-fetch":"^2.0.0","typescript":"^3.9.10","@types/chai":"^4.3.0","@types/node":"^14.6.0","@types/mocha":"^9.0.0","mock-require":"^3.0.3","should-sinon":"0.0.6","eslint-loader":"^4.0.2","@types/cucumber":"^7.0.0","cucumber-tsflow":"^3.0.0","@typescript-eslint/parser":"^3.9.1","eslint-friendly-formatter":"^4.0.1","@typescript-eslint/eslint-plugin":"^3.9.1"},"peerDependencies":{"kuzzle":"^2.16.0"},"_npmOperationalInternal":{"tmp":"tmp/kuzzle-plugin-prometheus_4.0.0_1643132206055_0.9759311970296702","host":"s3://npm-registry-packages"}},"4.1.0":{"name":"kuzzle-plugin-prometheus","version":"4.1.0","keywords":["kuzzle","plugin","monitoring","prometheus"],"author":{"name":"The Kuzzle Team","email":"support@kuzzle.io"},"license":"Apache-2.0","_id":"kuzzle-plugin-prometheus@4.1.0","maintainers":[{"name":"kuzzle","email":"support@kuzzle.io"}],"homepage":"https://github.com/kuzzleio/kuzzle-plugin-prometheus#readme","bugs":{"url":"https://github.com/kuzzleio/kuzzle-plugin-prometheus/issues"},"dist":{"shasum":"733986148834087a37a2b8c64970ef6d026c62c5","tarball":"https://registry.npmjs.org/kuzzle-plugin-prometheus/-/kuzzle-plugin-prometheus-4.1.0.tgz","fileCount":9,"integrity":"sha512-skxAC6Ja71WjzvTH46sGduiGqxYIC3y4PayxX49TJiSkKjC/DzoAUer8nc3nUuLgvOCS+PUZmCimsEYgoTMyFA==","signatures":[{"sig":"MEUCIQCRLBded0K7eeOEdZNfoqVoSTki5MUsDYhehEJ97BuYwQIgas3VUAJGiWQ5re9cBzXV8seq0Jhp2OGTYe3Q+tXwMgw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":43906,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiBScFCRA9TVsSAnZWagAA334P/2H/RUN8TQz8h+mU7SQ0\nxqg9Qe+wdSyn49jHcZglaY0t4F83Hc3/elpl3K8L0wSHH6MhF8Zlje7Chy8q\nbk/gMTWe0z6Voi71shihr9ItDCmoU+QLG3pamUVQWvFqIJuI1+0cgnQ/gGb6\nDlbWbnJjwT9EnIw1rSvPQgy4+oVNYvlhfScyP35MdSHru1Dv9KWdpYRMMmot\nPgygy5lkYeCxXlrSAsQjv/g7UnJBnAb/iIiGVUmf5jBKoHJDcse7aRN7GFDH\nRFHCpKR6votI/76zg5L/JfRj2UAtaznmjk/VK/W0qMwGtvcp0kew6PRHVVK+\nSniVGXWAHpi9VxbieCdk3tCQTJLmNSsD0OAIbU6tE7fkzOU55Hf+cX4tvJ7w\nl+aP2XMJfHCononUVVjzKZiXNVLjuTHPJhIZWNd/OnOwTnUN/SNhLTL7lr68\nhrp6fHSDW2aJfkFPk738+u434lWmXKHkOI32Xprdbb1ANZrfbM2pM7w+vUn1\nvVc5WJ+298O2TIz7A8NfLnRbKDYRVu3h7PCgOiqV/GZUJs4+axVHlNFbULDR\nowaAgVJwADfZQgi40MJdZuUKLZVnPlZ+tsZhNm3qUZYJ3IfUNf7UeECKMwpp\n8oIF38Z6Oc4L4J6Jn6OcNUlIPk1/QKtIry+tFFwZXoIOMvxL30nmpgoZJx44\nLcpF\r\n=NLF/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","issues":"https://github.com/kuzzleio/kuzzle-plugin-prometheus/issues","gitHead":"3077982d3b3036a5ec7e484f36ea8aa3e6b10e17","scripts":{"dev":"npx ergol application/app.ts -c ./config/ergol.json","prod":"node application/app.js","test":"npm run test:lint && npm run test:unit && npm run test:functional","build":"tsc --build tsconfig.json","clean":"touch index.ts && npm run build | grep TSFILE | cut -d' ' -f 2 | xargs rm","prepack":"npm run build","services":"npx kourou app:start-services","test:lint":"eslint ./lib --ext .ts --config .eslintrc.json","test:unit":"mocha","dev:docker":"docker-compose up","npm:docker":"docker-compose run kuzzle npm","test:lint:fix":"eslint ./lib --ext .ts --config .eslintrc.json --fix","install:docker":"npm run npm:docker install kuzzle","package:create":"npm run build && npm pack","test:functional":"cucumber-js --require-module ts-node/register -r features/step_definitions/*.ts --exit --fail-fast"},"_npmUser":{"name":"kuzzle","email":"support@kuzzle.io"},"repository":{"url":"git+https://github.com/kuzzleio/kuzzle-plugin-prometheus.git","type":"git"},"_npmVersion":"6.14.16","description":"Kuzzle plugin: monitoring Kuzzle using Prometheus","directories":{},"_nodeVersion":"14.19.0","dependencies":{"lodash":"^4.17.15","prom-client":"^14.0.1"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.4.2","nyc":"^15.1.0","chai":"^4.3.4","ergol":"^1.0.1","mocha":"^9.1.3","sinon":"^9.0.3","eslint":"^7.7.0","kuzzle":"^2.16.0","lodash":"^4.17.15","rewire":"^6.0.0","should":"13.2.3","ts-node":"^8.10.2","cucumber":"^6.0.5","kuzzle-sdk":"^7.8.1","node-fetch":"^2.0.0","typescript":"^3.9.10","@types/chai":"^4.3.0","@types/node":"^14.6.0","@types/mocha":"^9.0.0","mock-require":"^3.0.3","should-sinon":"0.0.6","eslint-loader":"^4.0.2","@types/cucumber":"^7.0.0","cucumber-tsflow":"^3.0.0","@typescript-eslint/parser":"^3.9.1","eslint-friendly-formatter":"^4.0.1","@typescript-eslint/eslint-plugin":"^3.9.1"},"peerDependencies":{"kuzzle":"^2.16.0"},"_npmOperationalInternal":{"tmp":"tmp/kuzzle-plugin-prometheus_4.1.0_1644504837752_0.2399580754285091","host":"s3://npm-registry-packages"}},"4.1.1":{"name":"kuzzle-plugin-prometheus","version":"4.1.1","keywords":["kuzzle","plugin","monitoring","prometheus"],"author":{"name":"The Kuzzle Team","email":"support@kuzzle.io"},"license":"Apache-2.0","_id":"kuzzle-plugin-prometheus@4.1.1","maintainers":[{"name":"kuzzle","email":"support@kuzzle.io"}],"homepage":"https://github.com/kuzzleio/kuzzle-plugin-prometheus#readme","bugs":{"url":"https://github.com/kuzzleio/kuzzle-plugin-prometheus/issues"},"dist":{"shasum":"6d6436537ceb23714fcadad9de61a19107e5937e","tarball":"https://registry.npmjs.org/kuzzle-plugin-prometheus/-/kuzzle-plugin-prometheus-4.1.1.tgz","fileCount":9,"integrity":"sha512-V/99+7BkOTj9YqkJ5aML4VmXDRcj3EHNJ1seoQdEVYk9j3yW2oT8sZNkl4kgNyceFD7c/o02Bi4UKCePfUkJcA==","signatures":[{"sig":"MEYCIQC25DFqfnoy25qU78nWgzG7JLHoL85TxS7CfYNYwkaDHQIhAOg98GMnfWHAniNgeZFZeVLTuHDbxzs+2O5PF2XjvRpW","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44186,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj15uoACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqn+BAAoSCtTsZ6k6OqC6kruTTS6RMRhNi42+GP6/ZFLSP5Mp1KGtXV\r\nSYbujaUkf1the6C83fB2ue/g4gmbdWR6Ow/YmttkE9mL4huldQNvGSTG8ocf\r\nP3XahoZPvaIuYiy68pRVTWnQBFUdpN1LgJRwwnFKy8EBMdp2H35f1f4OmX5N\r\nzr+Jcg8RX1e7OHQPNYLHJ15An2JeT4SlDuFkxw2Tk221gC1JyX51Z73Qz5Q9\r\ntV7eN9jHOE8D4IGIdT65HAz3/fb0FFdPk9fE4IK9/An/gMLVmH4tw4G6qW+0\r\n9GnHFw6PvxEGrikllFBKCTFQfAkchAXy7ZnjZczeW/ruTXJeJOtl8r84zv0q\r\nJEz/RNCLMsdyn0JdedtFOUXFI2si8zYgyVIOEL0+89+CnCIAhnwnzARW1dpm\r\nQZ92SVI6CHDQIlP26djuBJsv/e/8B8fMTiPsS7ChOaAuwrjT9RaAPX7lhTHw\r\nbzGaryL/YVydvzzeo4sTOPR8Jz//pcWpoEKozfo7kdMFK2mCnfNO7GuKMeBX\r\nSTIL5NXE85DKxnkJf/ZhSR1bf1syHcycGELN/vlTRtME4N69bs2g7BWygkZW\r\nxPpgRCxhWO03SMipv6QyqdLkBlPjYcvhGoGBxTq64gq72x9oLAxTYUwshhe6\r\nZ9uhdxBA3IEUcE8vHVNCBh2k/42uFSPu8Kw=\r\n=Pq/+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","issues":"https://github.com/kuzzleio/kuzzle-plugin-prometheus/issues","gitHead":"9239ada45e9aa5ac21da6088e59a0a28cf9c2c90","scripts":{"dev":"npx ergol application/app.ts -c ./config/ergol.json","prod":"node application/app.js","test":"npm run test:lint && npm run test:unit && npm run test:functional","build":"tsc --build tsconfig.json","clean":"touch index.ts && npm run build | grep TSFILE | cut -d' ' -f 2 | xargs rm","prepack":"npm run build","services":"npx kourou app:start-services","test:lint":"eslint ./lib --ext .ts --config .eslintrc.json","test:unit":"mocha","dev:docker":"docker-compose up","npm:docker":"docker-compose run kuzzle npm","test:lint:fix":"eslint ./lib --ext .ts --config .eslintrc.json --fix","install:docker":"npm run npm:docker install kuzzle","package:create":"npm run build && npm pack","test:functional":"jest"},"_npmUser":{"name":"kuzzle","email":"support@kuzzle.io"},"repository":{"url":"git+https://github.com/kuzzleio/kuzzle-plugin-prometheus.git","type":"git"},"_npmVersion":"6.14.17","description":"Kuzzle plugin: monitoring Kuzzle using Prometheus","directories":{},"_nodeVersion":"14.21.2","dependencies":{"lodash":"^4.17.15","prom-client":"^14.0.1"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.4.2","nyc":"^15.1.0","chai":"^4.3.4","jest":"^29.3.1","ergol":"^1.0.1","mocha":"^9.1.3","sinon":"^9.0.3","kuzzle":"^2.16.9","lodash":"^4.17.15","rewire":"^6.0.0","should":"13.2.3","ts-jest":"^29.0.5","ts-node":"^10.4.0","kuzzle-sdk":"^7.8.1","node-fetch":"^2.0.0","typescript":"^4.5.5","@types/chai":"^4.3.4","@types/jest":"^29.2.5","@types/node":"^14.6.0","@types/mocha":"^9.0.0","mock-require":"^3.0.3","should-sinon":"0.0.6","@jest/globals":"^29.3.1","eslint-plugin-kuzzle":"^0.0.6"},"peerDependencies":{"kuzzle":"^2.16.9"},"_npmOperationalInternal":{"tmp":"tmp/kuzzle-plugin-prometheus_4.1.1_1675074472118_0.8548337423798424","host":"s3://npm-registry-packages"}},"4.2.0":{"name":"kuzzle-plugin-prometheus","version":"4.2.0","keywords":["kuzzle","plugin","monitoring","prometheus"],"author":{"name":"The Kuzzle Team","email":"support@kuzzle.io"},"license":"Apache-2.0","_id":"kuzzle-plugin-prometheus@4.2.0","maintainers":[{"name":"kuzzle","email":"support@kuzzle.io"}],"homepage":"https://github.com/kuzzleio/kuzzle-plugin-prometheus#readme","bugs":{"url":"https://github.com/kuzzleio/kuzzle-plugin-prometheus/issues"},"dist":{"shasum":"d799fad4e606ed5f5668142cccec0f2343a9e8b1","tarball":"https://registry.npmjs.org/kuzzle-plugin-prometheus/-/kuzzle-plugin-prometheus-4.2.0.tgz","fileCount":9,"integrity":"sha512-ppudTEnHYFW9MrQVg0yDV6FxpUj1nwPz9nEYSA5e3XXc5Z63reM365llXy1YGEzY4jj7CvEduCgJi0/c4n/ImA==","signatures":[{"sig":"MEYCIQCnxRN8+kIQYT+09m4NQ274Ah6lE7n2SK8ggXIdEyLnYgIhAIRvWKL4/Xa0aJymCqB4F+iNECHJ/xTDPvA4YCm+C9CV","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44186,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj2+E6ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpnlBAAjG9XVk+rteU73ivbJFssWsD7y6q4n7/zmLqBDdtT1xqer3kI\r\nZItBNYAKzBTqlNyZcPMwpGLxQQIgYG4otpOaSWgRdFIfgg2/PnXIr1BqFe37\r\ncip9qFInNyttAlHCcDMWXLrDBYaix827W93TGh6OrBsfrj6hl7DDjKxWWkY9\r\npnXtS5HkNVwdU8zqD9E36WQe8Zhq2XWT/Ye3/NFbHo4xaVORj6OpxijVPMaJ\r\nRexdFzuM8bWMI6WvVCRJrnmaDt6lX5K9iz/skC7U6NFNxFQGzRa6iguHpwzH\r\n+jAk4EYBkrmZehNb8Vwk/sVJakI6kMmxqdLujQc1lFshtuOd4NVIS7nWSuIc\r\nOzsRiVZjoP1S0J8Vu8ZKBkTPL/1BcE3pN+PBIpBIaWM9NuG6iK35NDrL51Wk\r\npr6WyBMRaAS1qokpgf4rulGJ5A7vn/pY7jcCIiOZhr27oGNF1LjxrTpJAuBC\r\nnz52fn2QnJ2+3ytCNiiewhJYDXlGMWZRkUnjTifDyHVnSGETlK2KtQSG9Xs3\r\nZLfQDhPV7q6rg6d7G9xrQOlmS8Yof1PuTUgH2btrXaKoRyst3thUIyyjNiJY\r\nJCtzESwXSVO+8Cgx6RVmVx4TEK6n7l0+DYmImN62uCacJa6lTg3G+bIhCT1Y\r\nyvogBtTILOHW/ldeEIgymxspRiVJTv5K0IA=\r\n=O3v3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","issues":"https://github.com/kuzzleio/kuzzle-plugin-prometheus/issues","gitHead":"f47ad0cfb13d6e82bd842ef2cde0e47a32a54ef2","scripts":{"dev":"npx ergol application/app.ts -c ./config/ergol.json","prod":"node application/app.js","test":"npm run test:lint && npm run test:unit && npm run test:functional","build":"tsc --build tsconfig.json","clean":"touch index.ts && npm run build | grep TSFILE | cut -d' ' -f 2 | xargs rm","prepack":"npm run build","services":"npx kourou app:start-services","test:lint":"eslint ./lib --ext .ts --config .eslintrc.json","test:unit":"mocha","dev:docker":"docker-compose up","npm:docker":"docker-compose run kuzzle npm","test:lint:fix":"eslint ./lib --ext .ts --config .eslintrc.json --fix","install:docker":"npm run npm:docker install kuzzle","package:create":"npm run build && npm pack","test:functional":"jest"},"_npmUser":{"name":"kuzzle","email":"support@kuzzle.io"},"repository":{"url":"git+https://github.com/kuzzleio/kuzzle-plugin-prometheus.git","type":"git"},"_npmVersion":"6.14.17","description":"Kuzzle plugin: monitoring Kuzzle using Prometheus","directories":{},"_nodeVersion":"14.21.2","dependencies":{"lodash":"^4.17.15","prom-client":"^14.0.1"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.4.2","nyc":"^15.1.0","chai":"^4.3.4","jest":"^29.3.1","ergol":"^1.0.1","mocha":"^9.1.3","sinon":"^9.0.3","kuzzle":"^2.16.9","lodash":"^4.17.15","rewire":"^6.0.0","should":"13.2.3","ts-jest":"^29.0.5","ts-node":"^10.4.0","kuzzle-sdk":"^7.8.1","node-fetch":"^2.0.0","typescript":"^4.5.5","@types/chai":"^4.3.4","@types/jest":"^29.2.5","@types/node":"^14.6.0","@types/mocha":"^9.0.0","mock-require":"^3.0.3","should-sinon":"0.0.6","@jest/globals":"^29.3.1","eslint-plugin-kuzzle":"^0.0.6"},"peerDependencies":{"kuzzle":"^2.16.9"},"_npmOperationalInternal":{"tmp":"tmp/kuzzle-plugin-prometheus_4.2.0_1675354425795_0.9247761231770679","host":"s3://npm-registry-packages"}},"4.2.1":{"name":"kuzzle-plugin-prometheus","version":"4.2.1","keywords":["kuzzle","plugin","monitoring","prometheus"],"author":{"name":"The Kuzzle Team","email":"support@kuzzle.io"},"license":"Apache-2.0","_id":"kuzzle-plugin-prometheus@4.2.1","maintainers":[{"name":"kuzzle","email":"support@kuzzle.io"}],"homepage":"https://github.com/kuzzleio/kuzzle-plugin-prometheus#readme","bugs":{"url":"https://github.com/kuzzleio/kuzzle-plugin-prometheus/issues"},"dist":{"shasum":"8ebe9655c3458c57fa86cecb83d25b46f079133c","tarball":"https://registry.npmjs.org/kuzzle-plugin-prometheus/-/kuzzle-plugin-prometheus-4.2.1.tgz","fileCount":9,"integrity":"sha512-Bxu+MOQUtNuNoveKdPWu+CQo8pxO8be3nCtjPuZV1jzV31YEwzvjbmZ1comGkpa66uLSQU9fAvDeV88dsLAtRA==","signatures":[{"sig":"MEUCIFmeWM1pDNpzWtRANINPjZkiNZs+6N/PvsbfWlqxICkJAiEA6ulXhE0pqDLf5Eiw67TpC9yoyKAfPlYUNTmNaC4BRvg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44119},"main":"index.js","types":"./index.d.ts","issues":"https://github.com/kuzzleio/kuzzle-plugin-prometheus/issues","gitHead":"990166d6b19187999afab95bf6926d8fe41fff86","scripts":{"dev":"npx ergol application/app.ts -c ./config/ergol.json","prod":"node application/app.js","test":"npm run test:lint && npm run test:unit && npm run test:functional","build":"tsc --build tsconfig.json","clean":"touch index.ts && npm run build | grep TSFILE | cut -d' ' -f 2 | xargs rm","prepack":"npm run build","services":"npx kourou app:start-services","test:lint":"eslint ./lib --ext .ts --config .eslintrc.json","test:unit":"mocha","dev:docker":"docker-compose up","npm:docker":"docker-compose run kuzzle npm","test:lint:fix":"eslint ./lib --ext .ts --config .eslintrc.json --fix","install:docker":"npm run npm:docker install kuzzle","package:create":"npm run build && npm pack","test:functional":"jest"},"_npmUser":{"name":"kuzzle","email":"support@kuzzle.io"},"repository":{"url":"git+https://github.com/kuzzleio/kuzzle-plugin-prometheus.git","type":"git"},"_npmVersion":"9.6.7","description":"Kuzzle plugin: monitoring Kuzzle using Prometheus","directories":{},"_nodeVersion":"18.17.1","dependencies":{"lodash":"4.17.21","prom-client":"15.1.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"8.16.0","nyc":"15.1.0","chai":"4.3.4","jest":"29.7.0","ergol":"1.0.2","mocha":"10.2.0","sinon":"17.0.1","kuzzle":"2.28.0","lodash":"4.17.21","rewire":"7.0.0","should":"13.2.3","ts-jest":"29.1.2","ts-node":"10.9.2","kuzzle-sdk":"7.11.2","node-fetch":"2.0.0","typescript":"5.3.3","@types/chai":"4.3.11","@types/jest":"29.5.11","@types/node":"20.11.15","@types/mocha":"10.0.6","mock-require":"3.0.3","should-sinon":"0.0.6","@jest/globals":"29.7.0","eslint-plugin-kuzzle":"0.0.12"},"_npmOperationalInternal":{"tmp":"tmp/kuzzle-plugin-prometheus_4.2.1_1706797764115_0.3378155742993827","host":"s3://npm-registry-packages"}}},"time":{"created":"2021-06-09T07:52:58.257Z","modified":"2026-06-22T16:10:27.800Z","3.0.0":"2021-06-09T07:52:58.390Z","3.0.1":"2021-07-06T13:57:09.129Z","3.0.2":"2021-07-06T14:41:16.035Z","3.0.3":"2021-07-07T09:24:49.962Z","3.0.4":"2021-09-07T09:30:04.820Z","3.1.0":"2021-11-04T15:09:54.131Z","4.0.0":"2022-01-25T17:36:46.237Z","4.1.0":"2022-02-10T14:53:57.968Z","4.1.1":"2023-01-30T10:27:52.321Z","4.2.0":"2023-02-02T16:13:45.988Z","4.2.1":"2024-02-01T14:29:24.285Z"},"bugs":{"url":"https://github.com/kuzzleio/kuzzle-plugin-prometheus/issues"},"author":{"name":"The Kuzzle Team","email":"support@kuzzle.io"},"license":"Apache-2.0","homepage":"https://github.com/kuzzleio/kuzzle-plugin-prometheus#readme","keywords":["kuzzle","plugin","monitoring","prometheus"],"repository":{"url":"git+https://github.com/kuzzleio/kuzzle-plugin-prometheus.git","type":"git"},"description":"Kuzzle plugin: monitoring Kuzzle using Prometheus","maintainers":[{"email":"nriquelmebareiro@kuzzle.io","name":"kuzzle-ricky"},{"email":"etrousset@kuzzle.io","name":"eric-kuzzle"},{"email":"abouthinon@kuzzle.io","name":"abouthinon"}],"readme":"<p align=\"center\">\n  <img src=\"https://user-images.githubusercontent.com/7868838/58807296-115aa100-8618-11e9-910f-8e2e1f3a893d.png\"/>\n</p>\n<p align=\"center\">\n  <a href=\"https://david-dm.org/kuzzleio/kuzzle-plugin-prometheus\">\n    <img src=\"https://david-dm.org/kuzzleio/kuzzle-plugin-prometheus.svg\" />\n  </a>\n  <a href=\"https://travis-ci.com/kuzzleio/kuzzle-plugin-prometheus\">\n    <img alt=\"undefined\" src=\"https://travis-ci.com/kuzzleio/kuzzle-plugin-prometheus.svg?branch=master\">\n  </a>\n  <a href=\"https://codecov.io/gh/kuzzleio/kuzzle-plugin-prometheus\">\n    <img src=\"https://codecov.io/gh/kuzzleio/kuzzle-plugin-prometheus/branch/master/graph/badge.svg\" />\n  </a>\n  <a href=\"https://github.com/kuzzleio/kuzzle-plugin-prometheus/blob/master/LICENSE\">\n    <img alt=\"undefined\" src=\"https://img.shields.io/github/license/kuzzleio/kuzzle-plugin-prometheus.svg?style=flat\">\n  </a>\n</p>\n\n- [About](#about)\n  - [Kuzzle Prometheus Plugin](#kuzzle-prometheus-plugin)\n  - [Kuzzle](#kuzzle)\n  - [Compatibility matrix](#compatibility-matrix)\n- [Installation](#installation)\n- [Configuration](#configuration)\n  - [Plugin](#plugin)\n  - [Prometheus](#prometheus)\n    - [With only one Kuzzle node](#with-only-one-kuzzle-node)\n    - [With an authentified user](#with-an-authentified-user)\n    - [With multiple Kuzzle nodes and using Docker Compose](#with-multiple-kuzzle-nodes-and-using-docker-compose)\n    - [Using Kubernetes annotations](#using-kubernetes-annotations)\n  - [Dashboards](#dashboards)\n    - [Features](#features)\n    - [Screenshots](#screenshots)\n- [Local development](#local-development)\n- [Migrations](#migrations)\n  - [From version 3.x to 4.x](#from-version-3x-to-4x)\n    - [Migration steps](#migration-steps)\n\n# About\n\n## Kuzzle Prometheus Plugin\n\nThis is the official Prometheus monitoring plugin for the free and open-source backend Kuzzle.\nIt provides you features such as:\n\n* [Kuzzle cluster mode](https://github.com/kuzzleio/kuzzle-plugin-cluster) compatibility.\n* Event based monitoring using [Kuzzle Events](https://docs.kuzzle.io/core/1/plugins/guides/events/intro/).\n* System metrics (CPU, RAM, I/O...).\n\n## Kuzzle\n\nKuzzle is an open-source backend that includes a scalable server, a multiprotocol API,\nan administration console and a set of plugins that provide advanced functionalities like real-time pub/sub, blazing fast search and geofencing.\n\n* :octocat: __[Github](https://github.com/kuzzleio/kuzzle)__\n* :earth_africa: __[Website](https://kuzzle.io)__\n* :books: __[Documentation](https://docs.kuzzle.io)__\n* :email: __[Gitter](https://gitter.im/kuzzleio/kuzzle)__\n\n## Compatibility matrix\n\n| Kuzzle Version | Plugin Version |\n| -------------- | -------------- |\n| 1.10.x         | 1.x.x          | \n| 2.x.x          | 2.x.x          |\n| 3.x.x          | >= 2.11.x      |\n| 4.x.x          | >= 2.16.9      |\n\n# Installation\n\nTo install this plugin on your Kuzzle stack (for each of your Kuzzle nodes),\nyou will first need a Kuzzle Application like so. (see [Getting Started](/core/2/guides/getting-started))\n\n```typescript\nimport { Backend } from 'kuzzle';\n\nconst app = new Backend('kuzzle');\n\napp.start()\n  .then(() => {\n    app.log.info('Application started');\n  })\n  .catch(console.error);\n```\n\nOnce you have it, you will need to:\n- Import the Prometheus plugin,\n- Create a new instance of the plugin\n- And then use it in your application.\n  \nYou will end up with something like this:\n\n```typescript\nimport { Backend } from 'kuzzle';\nimport { PrometheusPlugin } from 'kuzzle-plugin-prometheus'; // Import the prometheus plugin\n\nconst app = new Backend('kuzzle');\n\nconst prometheusPlugin = new PrometheusPlugin(); // Create a new instance of the prometheus plugin\n\napp.plugin.use(prometheusPlugin); // Add the plugin to your application\n\napp.start()\n  .then(() => {\n    app.log.info('Application started');\n  })\n  .catch(console.error);\n```\n\n# Configuration\n\nYou can find sample configuration files for this plugin and the Prometheus scraping job in the `demo` folder.\n\n## Plugin\n\nThis plugin is configurable using the `kuzzlerc` Kuzzle configuration file.\n\n```json\n {\n \"plugins\": {\n    \"prometheus\": {\n      \"default\": {\n        \"enabled\": true,\n        \"prefix\": \"\",\n        \"eventLoopMonitoringPrecision\": 10,\n        \"gcDurationBuckets\": [0.001, 0.01, 0.1, 1, 2, 5]\n      },\n      \"core\": {\n        \"monitorRequestDuration\": true,\n        \"prefix\": \"kuzzle_\"\n      },\n      \"labels\": {\n        \"project\": \"mySuperProject\",\n        \"environment\": \"development\"\n      }\n    }\n  }\n}\n```\n\n* `default`: Default Node.js metrics retrieved by [the Prom Client library](https://github.com/siimon/prom-client/tree/master/lib/metrics)\n  * `enabled`: Enable/Disable the default Node.js metrics (default: `true`)\n  * `prefix`: String to use to prefix metrics name (default: an empty string to avoid conflicts when using official Grafana dashboards)\n  * `eventLoopMonitoringPrecision`: Node.js Event Loop sampling rate in milliseconds. Must be greater than zero (default: `10`)\n  * `gcDurationBuckets`: Custom Prometheus buckets for Node.js GC duration histogram in seconds (default: `[0.001, 0.01, 0.1, 1, 2, 5]`)\n* `core`: Kuzzle Core metrics directly extract from the `server:metrics` API action or from plugin inner logic.\n  * `monitorRequestDuration`: Enable/Disable request duration sampling (default: `true`)\n  * `prefix`: String to use to prefix metrics name (default: `kuzzle_`) \n* `labels`: Additional labels to apply on all the different metrics (default: `{}`)\n\n## Prometheus\n\n### With only one Kuzzle node\n\n```yaml\nglobal:\n  scrape_interval:     10s # Set the scrape interval to every 10 seconds. Default is every 1 minute.\n  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.\n\nscrape_configs:\n  - job_name: 'kuzzle'\n    metrics_path: /_metrics\n    params:\n      format: ['prometheus']\n    static_configs:\n      - targets: ['kuzzle:7512'] # the address of an application that exposes metrics for prometheus\n```\n\n### With an authentified user\nIf you use an other user than `anonymous` to expose the `server:metrics` API action, you will need to create a Kuzzle API Key (see [API Keys](https://docs.kuzzle.io/core/2/guides/advanced/api-keys/)) and use it to authentify the Prometheus scaper:\n\n```yaml\nglobal:\n  scrape_interval:     10s # Set the scrape interval to every 10 seconds. Default is every 1 minute.\n  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.\n\nscrape_configs:\n  - job_name: 'kuzzle'\n    metrics_path: /_metrics\n    params:\n      format: ['prometheus']\n    authorization:\n      type: 'Bearer'\n      credentials: 'my-api-key'\n    static_configs:\n      - targets: ['kuzzle:7512'] # the address of an application that exposes metrics for prometheus\n```\n\n### With multiple Kuzzle nodes and using Docker Compose\nIf you use Docker Compose you'll need to provide the IP/Docker DNS name of each Kuzzle node as `targets`:\n\n```yaml\nglobal:\n  scrape_interval:     10s # Set the scrape interval to every 10 seconds. Default is every 1 minute.\n  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.\n\nscrape_configs:\n  - job_name: 'kuzzle'\n    metrics_path: /_metrics\n    params:\n      format: ['prometheus']\n    static_configs:\n      - targets: \n        - 'kuzzle-plugin-prometheus-kuzzle-1:7512' \n        - 'kuzzle-plugin-prometheus-kuzzle-2:7512'\n        - 'kuzzle-plugin-prometheus-kuzzle-3:7512'\n```\n\n### Using Kubernetes annotations\n\nIf your Prometheus inside a Kubernetes cluster, you must use the helper HTTP route `/_/metrics` since Prometheus `params` configuration is not supported.\nYour Pods annotations should look like this:\n\n```yaml\nmetadata:\n  annotations:\n    prometheus.io/scrape: \"true\"\n    prometheus.io/path: /_/metrics\n    prometheus.io/port: \"7512\"\nspec:\n...\n```\n\n## Dashboards\n\n### Features\n\nYou could find two dashboards in the `config/grafana/dashboards` folder:\n- `kuzzle.json`: a dashboard with all the metrics exposed by the `server:metrics` API action with a `nodeId` filter and including:\n  - Active connections\n  - Active Realtime subscriptions\n  - Concurrent requests\n  - Pending requests\n  - Request per second\n  - Request duration\n  - Internal Errors\n\n- `nodejs.json`: Node.js metrics dashboard with a `nodeId` filter and including:\n  - Process CPU Usage\n  - Process Memory Usage\n  - Process Restarts\n  - Event Loop Latency\n  - Heap Usage\n\nYou can import them both using the Grafana API, Web UI or the provisionning system (see the `docker-compose.yml` file).\n\n### Screenshots\n<p align=center>\n<b>Kuzzle dashboard</b>\n<img width=\"1994\" alt=\"image\" src=\"https://user-images.githubusercontent.com/7868838/150335493-413808e8-d65a-4de9-a01f-34634c751e45.png\">\n</p>\n<p align=center>\n<b>Node.js dashboard</b>\n<img width=\"1973\" alt=\"image\" src=\"https://user-images.githubusercontent.com/7868838/150334423-5763ac48-f6ea-444f-ab78-2f776a9925a6.png\">\n</p>\n\n\n# Local development\n\nYou can run a local development stack using Docker Compose\n\n```\n$ docker-compose up\n```\n\nThis will start a demonstration stack composed with:\n* A Kuzzle server proxified by a Traefik router\n* A Prometheus container configured to scrap metrics.\n* A Grafana container.\n\nOnce started, go to `http://localhost:3000` and log in with the default Grafana credentials:\n* username: `admin`\n* password: `admin`\n\nMake several requests using Kuzzle's HTTP API or SDKs, or by using the Admin Console.\n\n> NOTE: You can also increase the number of Kuzzle nodes to test a cluster configuration.\n> Use the Docker Compose `--scale` option to increase the number of replicas:\n> ```\n> docker-compose up -d --scale kuzzle=<number-of-replicas>\n> ```\n> Notice that you need to update the `config/prometheus.yml` file to reflect the new number of nodes and restart the prometheus container using `docker restart <prometheus-container-id>`\n\n# Migrations\n\n## From version 3.x to 4.x\n\nThis new version 4.0.0 introduce numerous changes in the way metrics are collected and reported:\n- The plugin now uses the `server:metrics` API action to retrieve metrics from Kuzzle Core. Calling the `server:metrics` API action with the `format` parameter set to `prometheus` will return metrics in the Prometheus format.\n- The configuration of the plugin is now more flexible (see [Configuration](#configuration) section for more details):\n  - More control on the default Node.js metrics (set the Event Loop sample precision to custom value or adapt the Garbage Collector Prometheus bucket rates to fit your usecase).\n  - You can set different prefixes for Kuzzle Core metrics and Node.js metrics.\n  - The `nodeIP`, `nodeMAC` and `nodeHost` labels have beem removed in favor of the `nodeId` label.\n  - You can now disable the request recording job.\n- Most of the metric names have been changed to be more consistent with Kuzzle Core metrics.\n\n### Migration steps\n\n<details>\n  <summary>\n    Allow the user used by Prometheus to access <code>server:metrics</code> API action\n  </summary>\n  <p>\n    Add the following rule to your user role to allow the user <code>anonymous</code> to access the <code>server:metrics</code> API action:\n  </p>\n  <pre>\n{\n  \"controllers\": {\n    // Your others controllers rules\n    \"server\": {\n      \"actions\": {\n        \"metrics\": true,\n        // ...\n      }\n    }\n  }\n}\n  </pre>\n</details>\n\n<details>\n  <summary>\n    Update the plugin configuration\n  </summary> \n  <p>\n    Here is the new default configuration file:\n  </p>\n  <pre>\n {\n \"plugins\": {\n    \"prometheus\": {\n      \"default\": {\n        \"enabled\": true,\n        \"prefix\": \"\",\n        \"eventLoopMonitoringPrecision\": 10,\n        \"gcDurationBuckets\": [0.001, 0.01, 0.1, 1, 2, 5]\n      },\n      \"core\": {\n        \"monitorRequestDuration\": true,\n        \"prefix\": \"kuzzle_\"\n      }\n    }\n  }\n}\n  </pre>\n</details>\n\n<details>\n  <summary>\n    Update your dashboards\n  </summary>\n  <p>\n    If you have previously imported the example Grafana dashboard, you will have to update it to use the new metrics names or use the new ones located in <code>config/grafana/dashboards</code>.\n  </p>\n</details>\n","readmeFilename":"README.md"}