{"_id":"@julr/adonisjs-prometheus","_rev":"11-837bd61c63dab9ea34b8d55c86ac0bd1","name":"@julr/adonisjs-prometheus","dist-tags":{"latest":"2.1.0","next":"2.0.0-next.1"},"versions":{"1.0.0":{"name":"@julr/adonisjs-prometheus","version":"1.0.0","keywords":["adonisjs","adonis","prometheus","adonis-prometheus","monitoring","grafana"],"author":{"name":"Julien Ripouteau","email":"julien@ripouteau.com"},"license":"MIT","_id":"@julr/adonisjs-prometheus@1.0.0","maintainers":[{"name":"julien-r44","email":"julien@ripouteau.com"}],"homepage":"https://github.com/Julien-R44/adonis5-prometheus#readme","bugs":{"url":"https://github.com/Julien-R44/adonis5-prometheus/issues"},"c8":{"exclude":["tests/**"],"reporter":["text","html"]},"dist":{"shasum":"49dc303044f6b92290f2cb9448e2758126c82ddb","tarball":"https://registry.npmjs.org/@julr/adonisjs-prometheus/-/adonisjs-prometheus-1.0.0.tgz","fileCount":40,"integrity":"sha512-Q1URyu7JH28rqvEUPXmmqDVR6niNVf+WsnIqHJXjC4ViIHkVEAfnzHVWuKamXJOzyvf/ZjKJs+emDcgSg7wY/A==","signatures":[{"sig":"MEUCIQChdBpYcv9p2dLDY1DMHN1bCxfVFVGazIBUdd2rq6xB0QIgN62nRd0DBM7kt+5Grhv1eXIqT6rBW5q2SchtNvWLDeI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":37367},"type":"module","exports":{".":"./build/index.js","./types":"./build/src/types.js","./collectors/*":"./build/src/collectors/*.js","./prometheus_provider":"./build/providers/prometheus_provider.js","./collect_http_metrics_middleware":"./build/src/middleware/collect_http_metrics_middleware.js"},"gitHead":"5d1ec6c6c1e449274fbfb3c6340482e14de17348","scripts":{"lint":"eslint .","test":"c8 npm run quick:test","build":"npm run compile","clean":"del-cli build","format":"prettier --write .","compile":"npm run lint && npm run clean && tsc && npm run copy:templates","pretest":"npm run lint","release":"pnpm build && pnpm release-it","version":"npm run build","typecheck":"tsc --noEmit","quick:test":"node --enable-source-maps --import=ts-node-maintained/register/esm bin/test.ts","copy:templates":"copyfiles \"stubs/**/*.stub\" build","prepublishOnly":"npm run build"},"_npmUser":{"name":"julien-r44","email":"julien@ripouteau.com"},"prettier":"@julr/tooling-configs/prettier","release-it":{"git":{"tagName":"@julr/adonisjs-prometheus@${version}","commitMessage":"chore(release): @julr/adonisjs-prometheus@${version}","tagAnnotation":"release ${version}"},"github":{"web":true,"release":true,"releaseName":"@julr/adonisjs-prometheus@${version}"}},"repository":{"url":"git+https://github.com/Julien-R44/adonis5-prometheus.git","type":"git"},"_npmVersion":"10.9.0","description":"Prometheus wrapper for AdonisJS","directories":{},"_nodeVersion":"22.11.0","dependencies":{"prom-client":"^15.1.3"},"publishConfig":{"tag":"latest","access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.14.2+sha512.6e2baf77d06b9362294152c851c4f278ede37ab1eba3a55fda317a4a17b209f4dbb973fb250a77abc463a341fcb1f17f17cfa24091c4eb319cda0d9b84278387","devDependencies":{"c8":"^10.1.2","defu":"^6.1.4","eslint":"^9.15.0","del-cli":"^6.0.0","ts-node":"^10.9.2","prettier":"^3.4.1","@swc/core":"^1.9.3","copyfiles":"^2.4.1","release-it":"^17.10.0","typescript":"^5.7.2","@types/node":"^22.10.1","@japa/assert":"^3.0.0","@japa/runner":"^3.1.4","@adonisjs/core":"^6.15.1","@adonisjs/mail":"^9.2.2","@adonisjs/cache":"1.0.0-4","@adonisjs/lucid":"^21.4.0","@japa/api-client":"^2.0.4","@japa/file-system":"^2.3.0","@adonisjs/tsconfig":"^1.4.0","ts-node-maintained":"^10.9.4","@adonisjs/assembler":"7.8.2","@julr/tooling-configs":"^3.0.0"},"peerDependencies":{"@adonisjs/core":"^6.15.1","@adonisjs/mail":"^9.2.2","@adonisjs/cache":"1.0.0-4","@adonisjs/lucid":"^21.4.0","@adonisjs/assembler":"7.8.2"},"peerDependenciesMeta":{"@adonisjs/mail":{"optional":true},"@adonisjs/cache":{"optional":true},"@adonisjs/lucid":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/adonisjs-prometheus_1.0.0_1732985682994_0.7523703719258232","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"@julr/adonisjs-prometheus","version":"1.0.1","keywords":["adonisjs","adonis","prometheus","adonis-prometheus","monitoring","grafana"],"author":{"name":"Julien Ripouteau","email":"julien@ripouteau.com"},"license":"MIT","_id":"@julr/adonisjs-prometheus@1.0.1","maintainers":[{"name":"julien-r44","email":"julien@ripouteau.com"}],"homepage":"https://github.com/Julien-R44/adonis5-prometheus#readme","bugs":{"url":"https://github.com/Julien-R44/adonis5-prometheus/issues"},"c8":{"exclude":["tests/**"],"reporter":["text","html"]},"dist":{"shasum":"bc8768d6240921114de9c0461d7ea25b7dd12a68","tarball":"https://registry.npmjs.org/@julr/adonisjs-prometheus/-/adonisjs-prometheus-1.0.1.tgz","fileCount":40,"integrity":"sha512-3BnWeCTfCqe44tmhTmESN/jpPM20XiCaebRomdynEjOVAtCSKtM2/duHN8eQQDoG1Bzz9DCBA+KQltbIXqD+Qw==","signatures":[{"sig":"MEYCIQDxqJ2o25gwV/q2qvhPXMTcxM21nIEyEqrfLC4gdn3cdgIhAP8ZRztxAUNh+9KHgRajU5VHQXBn99rrpvc0caXsbMhS","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":37080},"type":"module","exports":{".":"./build/index.js","./types":"./build/src/types.js","./collectors/*":"./build/src/collectors/*.js","./prometheus_provider":"./build/providers/prometheus_provider.js","./collect_http_metrics_middleware":"./build/src/middleware/collect_http_metrics_middleware.js"},"gitHead":"1cb63893ebd7a596704f97ed0d11ac6d0db681cc","scripts":{"lint":"eslint .","test":"c8 npm run quick:test","build":"npm run compile","clean":"del-cli build","format":"prettier --write .","compile":"npm run lint && npm run clean && tsc && npm run copy:templates","pretest":"npm run lint","release":"pnpm build && pnpm release-it","version":"npm run build","typecheck":"tsc --noEmit","quick:test":"node --enable-source-maps --import=ts-node-maintained/register/esm bin/test.ts","copy:templates":"copyfiles \"stubs/**/*.stub\" build","prepublishOnly":"npm run build"},"_npmUser":{"name":"julien-r44","email":"julien@ripouteau.com"},"prettier":"@julr/tooling-configs/prettier","release-it":{"git":{"tagName":"@julr/adonisjs-prometheus@${version}","commitMessage":"chore(release): @julr/adonisjs-prometheus@${version}","tagAnnotation":"release ${version}"},"github":{"web":true,"release":true,"releaseName":"@julr/adonisjs-prometheus@${version}"}},"repository":{"url":"git+https://github.com/Julien-R44/adonis5-prometheus.git","type":"git"},"_npmVersion":"10.9.0","description":"Prometheus wrapper for AdonisJS","directories":{},"_nodeVersion":"22.11.0","dependencies":{"prom-client":"^15.1.3"},"publishConfig":{"tag":"latest","access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.14.2+sha512.6e2baf77d06b9362294152c851c4f278ede37ab1eba3a55fda317a4a17b209f4dbb973fb250a77abc463a341fcb1f17f17cfa24091c4eb319cda0d9b84278387","devDependencies":{"c8":"^10.1.2","defu":"^6.1.4","eslint":"^9.15.0","del-cli":"^6.0.0","ts-node":"^10.9.2","prettier":"^3.4.1","@swc/core":"^1.9.3","copyfiles":"^2.4.1","release-it":"^17.10.0","typescript":"^5.7.2","@types/node":"^22.10.1","@japa/assert":"^3.0.0","@japa/runner":"^3.1.4","@adonisjs/core":"^6.15.1","@adonisjs/mail":"^9.2.2","@adonisjs/cache":"1.0.0-4","@adonisjs/lucid":"^21.4.0","@japa/api-client":"^2.0.4","@japa/file-system":"^2.3.0","@adonisjs/tsconfig":"^1.4.0","ts-node-maintained":"^10.9.4","@adonisjs/assembler":"7.8.2","@julr/tooling-configs":"^3.0.0"},"peerDependencies":{"@adonisjs/core":"^6.15.1","@adonisjs/mail":"^9.2.2","@adonisjs/cache":"1.0.0-4","@adonisjs/lucid":"^21.4.0","@adonisjs/assembler":"7.8.2"},"peerDependenciesMeta":{"@adonisjs/mail":{"optional":true},"@adonisjs/cache":{"optional":true},"@adonisjs/lucid":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/adonisjs-prometheus_1.0.1_1733054518772_0.24775661092078294","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"@julr/adonisjs-prometheus","version":"1.0.2","keywords":["adonisjs","adonis","prometheus","adonis-prometheus","monitoring","grafana"],"author":{"name":"Julien Ripouteau","email":"julien@ripouteau.com"},"license":"MIT","_id":"@julr/adonisjs-prometheus@1.0.2","maintainers":[{"name":"julien-r44","email":"julien@ripouteau.com"}],"homepage":"https://github.com/Julien-R44/adonis5-prometheus#readme","bugs":{"url":"https://github.com/Julien-R44/adonis5-prometheus/issues"},"c8":{"exclude":["tests/**"],"reporter":["text","html"]},"dist":{"shasum":"87304c1a6ebcef8748e85d8e33d843412441be8e","tarball":"https://registry.npmjs.org/@julr/adonisjs-prometheus/-/adonisjs-prometheus-1.0.2.tgz","fileCount":40,"integrity":"sha512-ox1loZjbV1V3St+Op8IbZlh5dhMzJ4pHxAr5px9O4y7guA6LWY6L+Q6X8re5KN1+K9tKz/aY99rO/JxG2B1VpQ==","signatures":[{"sig":"MEUCIQCDL6/R4rjeia9EKAopAfR46DJt1iqoA1aQDwqzRhBTqwIgbaGmN2Hn8VVFomy/8AZUGduT6c/ffpAc9/4LiGA1Kts=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36898},"type":"module","exports":{".":"./build/index.js","./types":"./build/src/types.js","./collectors/*":"./build/src/collectors/*.js","./prometheus_provider":"./build/providers/prometheus_provider.js","./collect_http_metrics_middleware":"./build/src/middleware/collect_http_metrics_middleware.js"},"gitHead":"6a90ec922eee00c5822c68e9cd7672b09a151cd0","scripts":{"lint":"eslint .","test":"c8 pnpm quick:test","build":"pnpm compile","clean":"del-cli build","format":"prettier --write .","compile":"pnpm lint && pnpm clean && tsc && npm run copy:templates","pretest":"pnpm lint","release":"pnpm build && pnpm release-it","version":"pnpm build","typecheck":"tsc --noEmit","quick:test":"node --enable-source-maps --import=ts-node-maintained/register/esm bin/test.ts","copy:templates":"copyfiles \"stubs/**/*.stub\" build","prepublishOnly":"pnpm build"},"_npmUser":{"name":"julien-r44","email":"julien@ripouteau.com"},"prettier":"@julr/tooling-configs/prettier","release-it":{"git":{"tagName":"@julr/adonisjs-prometheus@${version}","commitMessage":"chore(release): @julr/adonisjs-prometheus@${version}","tagAnnotation":"release ${version}"},"github":{"web":true,"release":true,"releaseName":"@julr/adonisjs-prometheus@${version}"}},"repository":{"url":"git+https://github.com/Julien-R44/adonis5-prometheus.git","type":"git"},"_npmVersion":"10.9.0","description":"Prometheus wrapper for AdonisJS","directories":{},"_nodeVersion":"22.11.0","dependencies":{"prom-client":"^15.1.3"},"publishConfig":{"tag":"latest","access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.2.0","devDependencies":{"c8":"^10.1.3","defu":"^6.1.4","eslint":"^9.19.0","del-cli":"^6.0.0","prettier":"^3.4.2","@swc/core":"^1.10.14","copyfiles":"^2.4.1","release-it":"^18.1.2","typescript":"^5.7.3","@types/node":"^22.13.1","@japa/assert":"^4.0.1","@japa/runner":"^4.2.0","@adonisjs/core":"^6.17.1","@adonisjs/mail":"^9.2.2","@adonisjs/cache":"1.0.0-4","@adonisjs/lucid":"^21.6.0","@japa/api-client":"^3.0.3","@japa/file-system":"^2.3.2","@adonisjs/tsconfig":"^1.4.0","ts-node-maintained":"^10.9.5","@adonisjs/assembler":"7.8.2","@julr/tooling-configs":"^4.0.0"},"peerDependencies":{"@adonisjs/core":"^6.15.1","@adonisjs/mail":"^9.2.2","@adonisjs/cache":"^1.0.0","@adonisjs/lucid":"^21.4.0","@adonisjs/assembler":"^7.8.2"},"peerDependenciesMeta":{"@adonisjs/mail":{"optional":true},"@adonisjs/cache":{"optional":true},"@adonisjs/lucid":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/adonisjs-prometheus_1.0.2_1738865448897_0.5393121037246731","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@julr/adonisjs-prometheus","version":"1.1.0","keywords":["adonisjs","adonis","prometheus","adonis-prometheus","monitoring","grafana"],"author":{"name":"Julien Ripouteau","email":"julien@ripouteau.com"},"license":"MIT","_id":"@julr/adonisjs-prometheus@1.1.0","maintainers":[{"name":"julien-r44","email":"julien@ripouteau.com"}],"homepage":"https://github.com/Julien-R44/adonis5-prometheus#readme","bugs":{"url":"https://github.com/Julien-R44/adonis5-prometheus/issues"},"c8":{"exclude":["tests/**"],"reporter":["text","html"]},"dist":{"shasum":"f479954ad3a8a040fb6b49608d048b8362d49b49","tarball":"https://registry.npmjs.org/@julr/adonisjs-prometheus/-/adonisjs-prometheus-1.1.0.tgz","fileCount":40,"integrity":"sha512-rMa2mqe1DkNE5k8jWH+sUQhLu2XJylA1fhNNg/URDtzfSVYaw1zAEpP+dkeavKAaYjWF33YQG4p5SPU3pxyG4g==","signatures":[{"sig":"MEYCIQD3V4gGvzidj4Tw23TitKi7YC56JYByxij1+1nSicnvQgIhAMIyS8wDV7Uy6EjT5irb+7Wg9ixFZDtJMNsWcYZNZ991","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37008},"type":"module","exports":{".":"./build/index.js","./types":"./build/src/types.js","./collectors/*":"./build/src/collectors/*.js","./prometheus_provider":"./build/providers/prometheus_provider.js","./collect_http_metrics_middleware":"./build/src/middleware/collect_http_metrics_middleware.js","./controllers/prometheus_metric_controller":"./build/src/controllers/prometheus_metric_controller.js"},"gitHead":"55ae27d74dd7438c5c26a5f90ebdb13c8c4716b0","scripts":{"lint":"eslint .","test":"c8 pnpm quick:test","build":"pnpm compile","clean":"del-cli build","format":"prettier --write .","compile":"pnpm lint && pnpm clean && tsc && npm run copy:templates","pretest":"pnpm lint","release":"pnpm build && pnpm release-it","version":"pnpm build","typecheck":"tsc --noEmit","quick:test":"node --enable-source-maps --import=ts-node-maintained/register/esm bin/test.ts","copy:templates":"copyfiles \"stubs/**/*.stub\" build","prepublishOnly":"pnpm build"},"_npmUser":{"name":"julien-r44","email":"julien@ripouteau.com"},"prettier":"@julr/tooling-configs/prettier","release-it":{"git":{"tagName":"@julr/adonisjs-prometheus@${version}","commitMessage":"chore(release): @julr/adonisjs-prometheus@${version}","tagAnnotation":"release ${version}"},"github":{"web":true,"release":true,"releaseName":"@julr/adonisjs-prometheus@${version}"}},"repository":{"url":"git+https://github.com/Julien-R44/adonis5-prometheus.git","type":"git"},"_npmVersion":"11.3.0","description":"Prometheus wrapper for AdonisJS","directories":{},"_nodeVersion":"24.0.2","dependencies":{"prom-client":"^15.1.3"},"publishConfig":{"tag":"latest","access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.13.1","devDependencies":{"c8":"^10.1.3","defu":"^6.1.4","eslint":"^9.31.0","del-cli":"^6.0.0","prettier":"^3.6.2","@swc/core":"^1.12.14","copyfiles":"^2.4.1","release-it":"^19.0.3","typescript":"^5.8.3","@types/node":"^24.0.13","@japa/assert":"^4.0.1","@japa/runner":"^4.2.0","@adonisjs/core":"^6.19.0","@adonisjs/mail":"^9.2.2","@adonisjs/cache":"1.0.0-4","@adonisjs/lucid":"^21.7.0","@japa/api-client":"^3.1.0","@japa/file-system":"^2.3.2","@adonisjs/tsconfig":"^1.4.1","ts-node-maintained":"^10.9.5","@adonisjs/assembler":"7.8.2","@julr/tooling-configs":"^4.0.0"},"peerDependencies":{"@adonisjs/core":"^6.15.1","@adonisjs/mail":"^9.2.2","@adonisjs/cache":"^1.0.0","@adonisjs/lucid":"^21.4.0","@adonisjs/assembler":"^7.8.2"},"peerDependenciesMeta":{"@adonisjs/mail":{"optional":true},"@adonisjs/cache":{"optional":true},"@adonisjs/lucid":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/adonisjs-prometheus_1.1.0_1752511241524_0.8501614508327835","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@julr/adonisjs-prometheus","version":"1.2.0","keywords":["adonisjs","adonis","prometheus","adonis-prometheus","monitoring","grafana"],"author":{"name":"Julien Ripouteau","email":"julien@ripouteau.com"},"license":"MIT","_id":"@julr/adonisjs-prometheus@1.2.0","maintainers":[{"name":"julien-r44","email":"julien@ripouteau.com"}],"homepage":"https://github.com/Julien-R44/adonis5-prometheus#readme","bugs":{"url":"https://github.com/Julien-R44/adonis5-prometheus/issues"},"c8":{"exclude":["tests/**"],"reporter":["text","html"]},"dist":{"shasum":"100b8bf3b08c51a0cb68de693b6562902995e0ca","tarball":"https://registry.npmjs.org/@julr/adonisjs-prometheus/-/adonisjs-prometheus-1.2.0.tgz","fileCount":42,"integrity":"sha512-pmDVzfeHFEcIJ5B0TQGtmgf9mCbIRc7y/xDp7DxafvnLNwS1HM/aow5Kf/DrwKF6mp76p/fgdSpEPP+UrPR0BQ==","signatures":[{"sig":"MEQCIHdFjQv61iIrrhAylmA/IQyTVXsXMjYCemjDHOj0R9/EAiBNaVxp+OBYIgFOgZ3wICvsTEF1OlQzu3yvNz5Nsi8RUw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":44831},"type":"module","exports":{".":"./build/index.js","./types":"./build/src/types.js","./collectors/*":"./build/src/collectors/*.js","./prometheus_provider":"./build/providers/prometheus_provider.js","./collect_http_metrics_middleware":"./build/src/middleware/collect_http_metrics_middleware.js","./controllers/prometheus_metric_controller":"./build/src/controllers/prometheus_metric_controller.js"},"gitHead":"5f4ca2241058bcc3375d5a19af5479defbee0447","scripts":{"lint":"eslint .","test":"c8 pnpm quick:test","build":"pnpm compile","clean":"del-cli build","format":"prettier --write .","compile":"pnpm lint && pnpm clean && tsc && npm run copy:templates","pretest":"pnpm lint","release":"pnpm build && pnpm release-it","version":"pnpm build","typecheck":"tsc --noEmit","quick:test":"node --enable-source-maps --import=ts-node-maintained/register/esm bin/test.ts","copy:templates":"copyfiles \"stubs/**/*.stub\" build","prepublishOnly":"pnpm build"},"_npmUser":{"name":"julien-r44","email":"julien@ripouteau.com"},"prettier":"@julr/tooling-configs/prettier","release-it":{"git":{"tagName":"@julr/adonisjs-prometheus@${version}","commitMessage":"chore(release): @julr/adonisjs-prometheus@${version}","tagAnnotation":"release ${version}"},"github":{"web":true,"release":true,"releaseName":"@julr/adonisjs-prometheus@${version}"}},"repository":{"url":"git+https://github.com/Julien-R44/adonis5-prometheus.git","type":"git"},"_npmVersion":"11.4.2","description":"Prometheus wrapper for AdonisJS","directories":{},"_nodeVersion":"24.4.0","dependencies":{"prom-client":"^15.1.3"},"publishConfig":{"tag":"latest","access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.13.1","devDependencies":{"c8":"^10.1.3","defu":"^6.1.4","eslint":"^9.31.0","del-cli":"^6.0.0","prettier":"^3.6.2","@swc/core":"^1.12.14","copyfiles":"^2.4.1","release-it":"^19.0.3","typescript":"^5.8.3","@types/node":"^24.0.13","@japa/assert":"^4.0.1","@japa/runner":"^4.2.0","@adonisjs/core":"^6.19.0","@adonisjs/mail":"^9.2.2","@adonisjs/cache":"1.0.0-4","@adonisjs/lucid":"^21.7.0","@japa/api-client":"^3.1.0","@japa/file-system":"^2.3.2","@adonisjs/tsconfig":"^1.4.1","ts-node-maintained":"^10.9.5","@adonisjs/assembler":"7.8.2","@julr/tooling-configs":"^4.0.0"},"peerDependencies":{"@adonisjs/core":"^6.15.1","@adonisjs/mail":"^9.2.2","@adonisjs/cache":"^1.0.0","@adonisjs/lucid":"^21.4.0","@adonisjs/assembler":"^7.8.2"},"peerDependenciesMeta":{"@adonisjs/mail":{"optional":true},"@adonisjs/cache":{"optional":true},"@adonisjs/lucid":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/adonisjs-prometheus_1.2.0_1752536533892_0.6683427895012892","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@julr/adonisjs-prometheus","version":"1.3.0","keywords":["adonisjs","adonis","prometheus","adonis-prometheus","monitoring","grafana"],"author":{"name":"Julien Ripouteau","email":"julien@ripouteau.com"},"license":"MIT","_id":"@julr/adonisjs-prometheus@1.3.0","maintainers":[{"name":"julien-r44","email":"julien@ripouteau.com"}],"homepage":"https://github.com/Julien-R44/adonis5-prometheus#readme","bugs":{"url":"https://github.com/Julien-R44/adonis5-prometheus/issues"},"c8":{"exclude":["tests/**"],"reporter":["text","html"]},"dist":{"shasum":"7b554ac5cda6212ac0a9d6277863bc51a7ecad63","tarball":"https://registry.npmjs.org/@julr/adonisjs-prometheus/-/adonisjs-prometheus-1.3.0.tgz","fileCount":50,"integrity":"sha512-HDrMuW2267ftytWzH03nFFSrrcOawwm6qrJ0GnNDHbmIGE0c/GM0LWwfGnVhQE1hApQHPvlao4URgPg63nv/fg==","signatures":[{"sig":"MEQCIC+xpmyjyGb23VLj6vvTW95cms187cpam/bU1F1CRbFmAiBgrJX53cnmsTdMOkexgkBJ74v5WM8odhiV6jnchgQYMA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":76059},"type":"module","exports":{".":"./build/index.js","./types":"./build/src/types.js","./collectors/*":"./build/src/collectors/*.js","./prometheus_provider":"./build/providers/prometheus_provider.js","./collect_http_metrics_middleware":"./build/src/middleware/collect_http_metrics_middleware.js","./controllers/prometheus_metric_controller":"./build/src/controllers/prometheus_metric_controller.js"},"gitHead":"8bee914f6cf77402b77e875ca75143dafabc48ba","scripts":{"lint":"eslint .","test":"c8 pnpm quick:test","build":"pnpm compile","clean":"del-cli build","format":"prettier --write .","compile":"pnpm lint && pnpm clean && tsc && npm run copy:templates","pretest":"pnpm lint","release":"pnpm build && pnpm release-it","version":"pnpm build","typecheck":"tsc --noEmit","quick:test":"node --enable-source-maps --import=ts-node-maintained/register/esm bin/test.ts","copy:templates":"copyfiles \"stubs/**/*.stub\" build","prepublishOnly":"pnpm build"},"_npmUser":{"name":"julien-r44","email":"julien@ripouteau.com"},"prettier":"@julr/tooling-configs/prettier","release-it":{"git":{"tagName":"@julr/adonisjs-prometheus@${version}","commitMessage":"chore(release): @julr/adonisjs-prometheus@${version}","tagAnnotation":"release ${version}"},"github":{"web":true,"release":true,"releaseName":"@julr/adonisjs-prometheus@${version}"}},"repository":{"url":"git+https://github.com/Julien-R44/adonis5-prometheus.git","type":"git"},"_npmVersion":"11.6.0","description":"Prometheus wrapper for AdonisJS","directories":{},"_nodeVersion":"24.9.0","dependencies":{"ipaddr.js":"^2.3.0","prom-client":"^15.1.3"},"publishConfig":{"tag":"latest","access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.24.0","devDependencies":{"c8":"^10.1.3","defu":"^6.1.4","eslint":"^9.39.1","del-cli":"^7.0.0","prettier":"^3.7.3","@swc/core":"^1.15.3","copyfiles":"^2.4.1","release-it":"^19.0.6","typescript":"^5.9.3","@types/node":"^24.10.1","@japa/assert":"^4.1.1","@japa/runner":"^4.4.0","@adonisjs/core":"^6.19.1","@adonisjs/mail":"^9.2.2","@adonisjs/cache":"1.0.0-4","@adonisjs/lucid":"^21.8.1","@japa/api-client":"^3.1.0","@japa/file-system":"^2.3.2","@adonisjs/tsconfig":"^1.4.1","@opentelemetry/api":"^1.9.0","ts-node-maintained":"^10.9.6","@adonisjs/assembler":"7.8.2","@julr/tooling-configs":"^4.0.0"},"peerDependencies":{"@adonisjs/core":"^6.15.1","@adonisjs/mail":"^9.2.2","@adonisjs/cache":"^1.0.0","@adonisjs/lucid":"^21.4.0","@opentelemetry/api":"^1.0.0","@adonisjs/assembler":"^7.8.2"},"peerDependenciesMeta":{"@adonisjs/mail":{"optional":true},"@adonisjs/cache":{"optional":true},"@adonisjs/lucid":{"optional":true},"@opentelemetry/api":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/adonisjs-prometheus_1.3.0_1764730153676_0.24815596663821826","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@julr/adonisjs-prometheus","version":"1.4.0","keywords":["adonisjs","adonis","prometheus","adonis-prometheus","monitoring","grafana"],"author":{"name":"Julien Ripouteau","email":"julien@ripouteau.com"},"license":"MIT","_id":"@julr/adonisjs-prometheus@1.4.0","maintainers":[{"name":"julien-r44","email":"julien@ripouteau.com"}],"homepage":"https://github.com/Julien-R44/adonis5-prometheus#readme","bugs":{"url":"https://github.com/Julien-R44/adonis5-prometheus/issues"},"c8":{"exclude":["tests/**"],"reporter":["text","html"]},"dist":{"shasum":"3fe8413b985e323b37f20e119ad6bf3e4afe4010","tarball":"https://registry.npmjs.org/@julr/adonisjs-prometheus/-/adonisjs-prometheus-1.4.0.tgz","fileCount":48,"integrity":"sha512-Hc3tLCxQOXJUGUWU0tTYYH4ekEaoXihavXfPqXws7GN4t6Rapt8pQ0soFlUhaMXzgd0QKbE7GBZ7HVMylIIL8w==","signatures":[{"sig":"MEYCIQCHb9lGHU3V/r4w+4PmtUpZ8qSLO1gTTXkfgqMGDPDklQIhAOMYGh08Wq/dHGV34E6xZeIiCIafHchjJYvRDOuKG3W+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":71677},"type":"module","exports":{".":"./build/index.js","./types":"./build/src/types.js","./collectors/*":"./build/src/collectors/*.js","./prometheus_provider":"./build/providers/prometheus_provider.js","./collect_http_metrics_middleware":"./build/src/middleware/collect_http_metrics_middleware.js","./controllers/prometheus_metric_controller":"./build/src/controllers/prometheus_metric_controller.js"},"gitHead":"a96112b32dcd5b9c7380dd7d856fc7e8e9329f01","scripts":{"lint":"eslint .","test":"c8 pnpm quick:test","build":"pnpm compile","clean":"del-cli build","format":"prettier --write .","compile":"pnpm lint && pnpm clean && tsc && npm run copy:templates","pretest":"pnpm lint","release":"pnpm build && pnpm release-it","version":"pnpm build","typecheck":"tsc --noEmit","quick:test":"node --enable-source-maps --import=ts-node-maintained/register/esm bin/test.ts","copy:templates":"copyfiles \"stubs/**/*.stub\" build","prepublishOnly":"pnpm build"},"_npmUser":{"name":"julien-r44","email":"julien@ripouteau.com"},"prettier":"@julr/tooling-configs/prettier","release-it":{"git":{"tagName":"@julr/adonisjs-prometheus@${version}","commitMessage":"chore(release): @julr/adonisjs-prometheus@${version}","tagAnnotation":"release ${version}"},"github":{"web":true,"release":true,"releaseName":"@julr/adonisjs-prometheus@${version}"}},"repository":{"url":"git+https://github.com/Julien-R44/adonis5-prometheus.git","type":"git"},"_npmVersion":"11.6.0","description":"Prometheus wrapper for AdonisJS","directories":{},"_nodeVersion":"24.9.0","dependencies":{"ipaddr.js":"^2.3.0","prom-client":"^15.1.3","@bentocache/plugin-prometheus":"^0.2.0"},"publishConfig":{"tag":"latest","access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.24.0","devDependencies":{"c8":"^10.1.3","defu":"^6.1.4","eslint":"^9.39.1","del-cli":"^7.0.0","prettier":"^3.7.4","@swc/core":"^1.15.3","copyfiles":"^2.4.1","release-it":"^19.0.6","typescript":"^5.9.3","@types/node":"^24.10.1","@japa/assert":"^4.1.1","@japa/runner":"^4.4.0","@adonisjs/core":"^6.19.1","@adonisjs/mail":"^9.2.2","@adonisjs/cache":"^1.3.0","@adonisjs/lucid":"^21.8.1","@japa/api-client":"^3.1.0","@japa/file-system":"^2.3.2","@adonisjs/tsconfig":"^1.4.1","@opentelemetry/api":"^1.9.0","ts-node-maintained":"^10.9.6","@adonisjs/assembler":"7.8.2","@julr/tooling-configs":"^4.0.0"},"peerDependencies":{"@adonisjs/core":"^6.15.1","@adonisjs/mail":"^9.2.2","@adonisjs/cache":"^1.0.0","@adonisjs/lucid":"^21.4.0","@opentelemetry/api":"^1.0.0","@adonisjs/assembler":"^7.8.2"},"peerDependenciesMeta":{"@adonisjs/mail":{"optional":true},"@adonisjs/cache":{"optional":true},"@adonisjs/lucid":{"optional":true},"@opentelemetry/api":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/adonisjs-prometheus_1.4.0_1765158201154_0.6912931973390222","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@julr/adonisjs-prometheus","version":"2.0.0","keywords":["adonisjs","adonis","prometheus","adonis-prometheus","monitoring","grafana"],"author":{"name":"Julien Ripouteau","email":"julien@ripouteau.com"},"license":"MIT","_id":"@julr/adonisjs-prometheus@2.0.0","maintainers":[{"name":"julien-r44","email":"julien@ripouteau.com"}],"homepage":"https://github.com/Julien-R44/adonis5-prometheus#readme","bugs":{"url":"https://github.com/Julien-R44/adonis5-prometheus/issues"},"c8":{"exclude":["tests/**"],"reporter":["text","html"]},"dist":{"shasum":"582b8a72e93229ab2b9306f3245521d32e33cd8a","tarball":"https://registry.npmjs.org/@julr/adonisjs-prometheus/-/adonisjs-prometheus-2.0.0.tgz","fileCount":48,"integrity":"sha512-It1IEz1FGWsLKS5McJK108nj+Rw2fSvln8jmVZjeSTFkWDDYYPTRW8irPhcthb0UjUexsYVuaJmA7pHYiy4KJQ==","signatures":[{"sig":"MEUCIQCeXgHJHHvjNLuueChe6z9SasKdy8F2Fo5iv6AAp1vhzwIgS7ActwQNUAwoxmLY5n3zJWqjbeEag/ynizNPB8OFXjk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":72780},"type":"module","_from":"file:julr-adonisjs-prometheus-2.0.0.tgz","engines":{"node":">=24.0.0"},"exports":{".":"./build/index.js","./types":"./build/src/types.js","./collectors/*":"./build/src/collectors/*.js","./prometheus_provider":"./build/providers/prometheus_provider.js","./controllers/prometheus_metric_controller":"./build/src/controllers/prometheus_metric_controller.js"},"scripts":{"lint":"eslint .","test":"c8 pnpm quick:test","build":"pnpm compile","clean":"del-cli build","format":"prettier --write .","compile":"pnpm lint && pnpm clean && tsc && npm run copy:templates","pretest":"pnpm lint","release":"pnpm build && pnpm release-it","version":"pnpm build","typecheck":"tsc --noEmit","quick:test":"node --import=@poppinss/ts-exec --enable-source-maps bin/test.ts","copy:templates":"copyfiles \"stubs/**/*.stub\" build"},"_npmUser":{"name":"julien-r44","email":"julien@ripouteau.com"},"prettier":"@julr/tooling-configs/prettier","_resolved":"/tmp/5ebbf9133b37342e9276d1a4031c8123/julr-adonisjs-prometheus-2.0.0.tgz","_integrity":"sha512-It1IEz1FGWsLKS5McJK108nj+Rw2fSvln8jmVZjeSTFkWDDYYPTRW8irPhcthb0UjUexsYVuaJmA7pHYiy4KJQ==","deprecated":"Use @julr/adonisjs-prometheus@^1 for       \n  AdonisJS 6, or @next tag for AdonisJS 7","release-it":{"git":{"tagName":"@julr/adonisjs-prometheus@${version}","commitMessage":"chore(release): @julr/adonisjs-prometheus@${version}","tagAnnotation":"release ${version}"},"github":{"web":true,"release":true,"releaseName":"@julr/adonisjs-prometheus@${version}"}},"repository":{"url":"git+https://github.com/Julien-R44/adonis5-prometheus.git","type":"git"},"_npmVersion":"10.9.3","description":"Prometheus wrapper for AdonisJS","directories":{},"_nodeVersion":"22.20.0","dependencies":{"ipaddr.js":"^2.3.0","prom-client":"^15.1.3","@bentocache/plugin-prometheus":"^0.2.0"},"publishConfig":{"tag":"next","access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"c8":"^10.1.3","eslint":"^9.39.1","del-cli":"^7.0.0","prettier":"^3.7.4","copyfiles":"^2.4.1","release-it":"^19.0.6","typescript":"^5.9.3","@types/node":"^24.10.1","@japa/assert":"^4.2.0","@japa/runner":"^5.3.0","@adonisjs/core":"^7.0.0-next.25","@adonisjs/mail":"^10.0.0-next.1","@adonisjs/cache":"^2.0.1-next.1","@adonisjs/lucid":"^22.0.0-next.7","@japa/api-client":"^3.2.1","@japa/file-system":"^3.0.0","@poppinss/ts-exec":"^1.4.1","@adonisjs/tsconfig":"^2.0.0-next.3","@opentelemetry/api":"^1.9.0","@adonisjs/assembler":"^8.0.0-next.30","@julr/tooling-configs":"^4.0.0"},"peerDependencies":{"@adonisjs/core":"^7.0.0-next.25","@adonisjs/mail":"^10.0.0-next.1","@adonisjs/cache":"^2.0.1-next.1","@adonisjs/lucid":"^22.0.0-next.7","@opentelemetry/api":"^1.0.0","@adonisjs/assembler":"^8.0.0-next.30"},"peerDependenciesMeta":{"@adonisjs/mail":{"optional":true},"@adonisjs/cache":{"optional":true},"@adonisjs/lucid":{"optional":true},"@opentelemetry/api":{"optional":true},"@adonisjs/assembler":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/adonisjs-prometheus_2.0.0_1768862666744_0.5652875230003949","host":"s3://npm-registry-packages-npm-production"}},"2.0.0-next.1":{"name":"@julr/adonisjs-prometheus","version":"2.0.0-next.1","keywords":["adonisjs","adonis","prometheus","adonis-prometheus","monitoring","grafana"],"author":{"name":"Julien Ripouteau","email":"julien@ripouteau.com"},"license":"MIT","_id":"@julr/adonisjs-prometheus@2.0.0-next.1","maintainers":[{"name":"julien-r44","email":"julien@ripouteau.com"}],"homepage":"https://github.com/Julien-R44/adonis5-prometheus#readme","bugs":{"url":"https://github.com/Julien-R44/adonis5-prometheus/issues"},"c8":{"exclude":["tests/**"],"reporter":["text","html"]},"dist":{"shasum":"b9144860589fef234a85c5c04cfd577c09689547","tarball":"https://registry.npmjs.org/@julr/adonisjs-prometheus/-/adonisjs-prometheus-2.0.0-next.1.tgz","fileCount":48,"integrity":"sha512-otfGJvr6+L9v2s8D8od0jP6wkfSOqQ5PumjqriVnsTF9GwFX6NNgi5NXjPVkikZcDgIdz05muMHIq6V9f+cpfA==","signatures":[{"sig":"MEUCIEHRWAWNcl2dsVbYmrI5jPQAxZ/ul8YiVH2yKW20/YUBAiEApZXU7oRXhOMyBtNkcO0GLfwUumtNhukSYzk9fAwSFJA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":72879},"type":"module","engines":{"node":">=24.0.0"},"exports":{".":"./build/index.js","./types":"./build/src/types.js","./collectors/*":"./build/src/collectors/*.js","./prometheus_provider":"./build/providers/prometheus_provider.js","./controllers/prometheus_metric_controller":"./build/src/controllers/prometheus_metric_controller.js"},"gitHead":"44c37d34f4b0aa9e944df5ab96dad7ceaf77917f","scripts":{"lint":"eslint .","test":"c8 pnpm quick:test","build":"pnpm compile","clean":"del-cli build","format":"prettier --write .","compile":"pnpm lint && pnpm clean && tsc && npm run copy:templates","pretest":"pnpm lint","release":"pnpm build && pnpm release-it","version":"pnpm build","typecheck":"tsc --noEmit","quick:test":"node --import=@poppinss/ts-exec --enable-source-maps bin/test.ts","copy:templates":"copyfiles \"stubs/**/*.stub\" build","prepublishOnly":"pnpm build"},"_npmUser":{"name":"julien-r44","email":"julien@ripouteau.com"},"prettier":"@julr/tooling-configs/prettier","release-it":{"git":{"push":true,"tagName":"v${version}","commitMessage":"chore(release): ${version}","tagAnnotation":"v${version}","requireUpstream":true,"requireCleanWorkingDir":true},"npm":{"publish":true,"skipChecks":true},"github":{"release":true}},"repository":{"url":"git+https://github.com/Julien-R44/adonis5-prometheus.git","type":"git"},"_npmVersion":"10.9.3","description":"Prometheus wrapper for AdonisJS","directories":{},"_nodeVersion":"22.20.0","dependencies":{"ipaddr.js":"^2.3.0","prom-client":"^15.1.3","@bentocache/plugin-prometheus":"^0.2.0"},"publishConfig":{"tag":"next","access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.27.0","readmeFilename":"README.md","devDependencies":{"c8":"^10.1.3","eslint":"^9.39.1","del-cli":"^7.0.0","prettier":"^3.7.4","copyfiles":"^2.4.1","release-it":"^19.0.6","typescript":"^5.9.3","@types/node":"^24.10.1","@japa/assert":"^4.2.0","@japa/runner":"^5.3.0","@adonisjs/core":"^7.0.0-next.25","@adonisjs/mail":"^10.0.0-next.1","@adonisjs/cache":"^2.0.1-next.1","@adonisjs/lucid":"^22.0.0-next.7","@japa/api-client":"^3.2.1","@japa/file-system":"^3.0.0","@poppinss/ts-exec":"^1.4.1","@adonisjs/tsconfig":"^2.0.0-next.3","@opentelemetry/api":"^1.9.0","@adonisjs/assembler":"^8.0.0-next.30","@julr/tooling-configs":"^4.0.0"},"peerDependencies":{"@adonisjs/core":"^7.0.0-next.25","@adonisjs/mail":"^10.0.0-next.1","@adonisjs/cache":"^2.0.1-next.1","@adonisjs/lucid":"^22.0.0-next.7","@opentelemetry/api":"^1.0.0","@adonisjs/assembler":"^8.0.0-next.30"},"peerDependenciesMeta":{"@adonisjs/mail":{"optional":true},"@adonisjs/cache":{"optional":true},"@adonisjs/lucid":{"optional":true},"@opentelemetry/api":{"optional":true},"@adonisjs/assembler":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/adonisjs-prometheus_2.0.0-next.1_1768862990770_0.15730741817395377","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"@julr/adonisjs-prometheus","type":"module","version":"2.1.0","packageManager":"pnpm@10.30.3","description":"Prometheus wrapper for AdonisJS","author":{"name":"Julien Ripouteau","email":"julien@ripouteau.com"},"license":"MIT","homepage":"https://github.com/Julien-R44/adonisjs-prometheus#readme","repository":{"type":"git","url":"git+https://github.com/Julien-R44/adonisjs-prometheus.git"},"bugs":{"url":"https://github.com/Julien-R44/adonisjs-prometheus/issues"},"keywords":["adonisjs","adonis","prometheus","adonis-prometheus","monitoring","grafana"],"exports":{".":"./build/index.js","./types":"./build/src/types.js","./prometheus_provider":"./build/providers/prometheus_provider.js","./collectors/*":"./build/src/collectors/*.js","./controllers/prometheus_metric_controller":"./build/src/controllers/prometheus_metric_controller.js"},"engines":{"node":">=24.0.0"},"scripts":{"pretest":"pnpm lint","test":"c8 pnpm quick:test","clean":"del-cli build","copy:templates":"copyfiles \"stubs/**/*.stub\" build","compile":"pnpm lint && pnpm clean && tsc && npm run copy:templates","build":"pnpm compile","release":"pnpm build && pnpm release-it","version":"pnpm build","format":"oxfmt --write .","prepublishOnly":"pnpm build","lint":"oxlint .","quick:test":"node --import=@poppinss/ts-exec --enable-source-maps bin/test.ts","typecheck":"tsc --noEmit"},"peerDependencies":{"@adonisjs/assembler":"^8.0.0","@adonisjs/cache":"^2.0.1","@adonisjs/core":"^7.0.0","@adonisjs/lucid":"^22.0.0","@adonisjs/mail":"^10.0.0","@opentelemetry/api":"^1.0.0"},"peerDependenciesMeta":{"@adonisjs/mail":{"optional":true},"@adonisjs/lucid":{"optional":true},"@adonisjs/cache":{"optional":true},"@opentelemetry/api":{"optional":true},"@adonisjs/assembler":{"optional":true}},"dependencies":{"@bentocache/plugin-prometheus":"^0.2.0","ipaddr.js":"^2.3.0","prom-client":"^15.1.3"},"devDependencies":{"@adonisjs/assembler":"^8.0.0","@adonisjs/cache":"^2.0.1","@adonisjs/core":"^7.0.0","@adonisjs/lucid":"^22.0.0","@adonisjs/mail":"^10.0.0","@adonisjs/tsconfig":"^2.0.0","@japa/api-client":"^3.2.1","@japa/assert":"^4.2.0","@japa/file-system":"^3.0.0","@japa/runner":"^5.3.0","@opentelemetry/api":"^1.9.0","@poppinss/ts-exec":"^1.4.4","@types/node":"^25.3.3","c8":"^11.0.0","copyfiles":"^2.4.1","del-cli":"^7.0.0","oxfmt":"^0.36.0","oxlint":"^1.51.0","release-it":"^19.2.4","typescript":"^5.9.3"},"publishConfig":{"access":"public","tag":"latest"},"release-it":{"git":{"requireCleanWorkingDir":true,"requireUpstream":true,"commitMessage":"chore(release): ${version}","tagAnnotation":"v${version}","push":true,"tagName":"v${version}"},"github":{"release":true},"npm":{"publish":true,"skipChecks":true}},"c8":{"reporter":["text","html"],"exclude":["tests/**"]},"_id":"@julr/adonisjs-prometheus@2.1.0","gitHead":"da4fd4a6bb3737c7c155141ceb15e1fed67b1a17","_nodeVersion":"22.22.0","_npmVersion":"10.9.4","dist":{"integrity":"sha512-lgMmW7O2jMCEbdxY60WVT85o1xaVxPqDLUgYd4FADivPg0ar5yf7XQgSaaTuAFvAv67qLx9b9avoVQa7AxYtuw==","shasum":"fdaed4f42cf866ce6f9c927a97b7321579afeff8","tarball":"https://registry.npmjs.org/@julr/adonisjs-prometheus/-/adonisjs-prometheus-2.1.0.tgz","fileCount":48,"unpackedSize":72704,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCTvmr3KkCrGton1C4X9gXIaaArXLgz94BFIJgBKMqkJwIgavaJcJZpOX1m+ab45RgwzgMKn0KVg8+ZYEl05Z9ii/w="}]},"_npmUser":{"name":"julien-r44","email":"julien@ripouteau.com"},"directories":{},"maintainers":[{"name":"julien-r44","email":"julien@ripouteau.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/adonisjs-prometheus_2.1.0_1772493361297_0.16433689694335518"},"_hasShrinkwrap":false}},"time":{"created":"2024-11-30T16:54:42.872Z","modified":"2026-03-02T23:16:01.561Z","1.0.0":"2024-11-30T16:54:43.198Z","1.0.1":"2024-12-01T12:01:58.964Z","1.0.2":"2025-02-06T18:10:49.108Z","1.1.0":"2025-07-14T16:40:41.706Z","1.2.0":"2025-07-14T23:42:14.066Z","1.3.0":"2025-12-03T02:49:13.886Z","1.4.0":"2025-12-08T01:43:21.299Z","2.0.0":"2026-01-19T22:44:26.883Z","2.0.0-next.1":"2026-01-19T22:49:50.894Z","2.1.0":"2026-03-02T23:16:01.450Z"},"bugs":{"url":"https://github.com/Julien-R44/adonisjs-prometheus/issues"},"author":{"name":"Julien Ripouteau","email":"julien@ripouteau.com"},"license":"MIT","homepage":"https://github.com/Julien-R44/adonisjs-prometheus#readme","keywords":["adonisjs","adonis","prometheus","adonis-prometheus","monitoring","grafana"],"repository":{"type":"git","url":"git+https://github.com/Julien-R44/adonisjs-prometheus.git"},"description":"Prometheus wrapper for AdonisJS","maintainers":[{"name":"julien-r44","email":"julien@ripouteau.com"}],"readme":"<div align=\"center\">\n  <img src=\"https://i.imgur.com/ny3ka9X.png\"  />\n</div>\n\n# adonisjs-prometheus\n\n📊 Prometheus package for AdonisJS\n\n> [!NOTE]\n> This is the version for **AdonisJS 7**. For AdonisJS 6, see the [1.x branch](https://github.com/Julien-R44/adonisjs-prometheus/tree/1.x) and use `@julr/adonisjs-prometheus@^1`.\n\n## Installation\n\n```sh\nnode ace add @julr/adonisjs-prometheus\n```\n\n## Usage\n\nAfter installing the package, a configuration file is added to `config/prometheus.ts` in your application.\n\n```ts\nexport default defineConfig({\n  /**\n   * Endpoint where metrics will be exposed\n   */\n  endpoint: '/metrics',\n\n  /**\n   * A prefix that will be added to all metrics\n   * names\n   */\n  metricsPrefix: env.get('APP_NAME'),\n\n  /**\n   * List of IPs that are allowed to access the\n   * metrics endpoint. If empty, then everyone\n   * can access the endpoint\n   */\n  ipsWhitelist: [],\n\n  /**\n   * List of collectors that will be registered\n   * and expose new metrics.\n   *\n   * Feel free to remove collectors that you\n   * don't want to use\n   */\n  collectors: [\n    httpCollector(),\n    mailCollector(),\n    lucidCollector(),\n    cacheCollector(),\n    systemCollector(),\n  ],\n})\n```\n\nThe available options are:\n\n- `endpoint`: The URL of the endpoint where metrics will be exposed. Defaults to `/metrics`.\n- `metricsPrefix`: A prefix that will be added to all metric names. Defaults to the app name.\n- `ipsWhitelist`: A list of IP addresses or CIDR ranges allowed to access the metrics endpoint. Supports both exact IPs (`'10.0.0.5'`) and CIDR notation (`'192.168.1.0/24'`). If empty, everyone can access it. Defaults to an empty array.\n- `collectors`: The list of collectors that will be registered and expose new metrics. You can remove collectors you don't want to use.\n- `enableExemplars`: Enable OpenMetrics exemplars support. When enabled, metrics will include trace context (`traceId` and `spanId`) from OTEL. Defaults to `false`.\n\n## Collectors\n\nEach collector accepts options to customize the metrics it exposes. Be sure to explore these options using your editor's auto-completion to learn more.\n\n### HTTP Collector\n\nAdds metrics to monitor HTTP requests:\n\n#### Exposed Metrics\n\n- `http_requests_total`: Counter for the total number of HTTP requests.\n- `http_request_duration_seconds`: Histogram of HTTP request durations.\n\n#### Options\n\n- `shouldGroupStatusCode`: Groups HTTP status codes into 1xx, 2xx, 3xx, 4xx, and 5xx. Defaults to `false`.\n- `excludedRoutes`: A list of routes to exclude from metrics. Defaults to an empty array. You can pass a list of `string` or a function `(ctx: HttpContext) => boolean`.\n- `requestDuration.buckets`: The buckets for the histogram of HTTP request durations.\n\n### System Collector\n\nAdds metrics to monitor the host system's performance. See [Default Metrics](https://github.com/siimon/prom-client#default-metrics) for more information. The collector accepts the same options as the `prom-client` `collectDefaultMetrics` function.\n\n### Lucid Collector\n\nAdds metrics to monitor database queries made through `@adonisjs/lucid`.\n\n> [!IMPORTANT]\n> To use the Lucid collector, you must set `debug: true` in your `config/database.ts` file.\n\n#### Exposed Metrics\n\n- `lucid_query_duration_seconds`: Histogram of Lucid query durations. Labels include `connection`, `model`, and `method`.\n\n#### Options\n\n- `queryDuration.buckets`: The buckets for the histogram of Lucid query durations.\n\n### Cache Collector\n\nAdds metrics to monitor `@adonisjs/cache` operations.\n\nThe Cache Collector has two implementations:\n\n#### New implementation (Recommended)\n\nThe recommended way to use the Cache Collector is now with `useNewCollector: true`, which leverages [BentoCache's native Prometheus plugin](https://bentocache.dev/docs/plugin-prometheus). This provides richer metrics and better integration with BentoCache.\n\n```ts\ncacheCollector({\n  useNewCollector: true, // Enable the new implementation\n  keyGroups: [[/^users:(\\d+)$/, 'users:*']],\n})\n```\n\n**Exposed Metrics:**\n\n- `cache_hits`: Counter for the total number of cache hits\n- `cache_misses`: Counter for the total number of cache misses\n- `cache_writes`: Counter for the total number of cache writes\n- `cache_deletes`: Counter for the total number of cache deletes\n- `cache_clears`: Counter for the total number of cache clears\n- `cache_graced_hits`: Counter for the total number of graced hits\n- `cache_bus_messages_published`: Counter for bus messages published\n- `cache_bus_messages_received`: Counter for bus messages received\n\n**Options:**\n\n- `useNewCollector`: Set to `true` to use BentoCache's native plugin (recommended)\n- `keyGroups`: An array of `[RegExp, ((match: RegExpMatchArray) => string) | string]` tuples for grouping cache keys. See [BentoCache documentation](https://bentocache.dev/docs/plugin-prometheus) for more details.\n\n> [!TIP]\n> The modern implementation will become the default in a future major release, so we recommend migrating to it now.\n\n#### Legacy Implementation\n\nThe legacy implementation uses event emitters to track cache operations. This is the default for backward compatibility but will be removed in future versions.\n\n```ts\ncacheCollector({\n  keyGroups: [[/^users:(\\d+)$/, 'users:*']],\n})\n```\n\n**Exposed Metrics:**\n\n- `cache_hits_total`: Counter for the total number of cache hits\n- `cache_misses_total`: Counter for the total number of cache misses\n- `cache_writes_total`: Counter for the total number of cache writes\n\n**Options:**\n\n- `keyGroups`: An array of `[RegExp, ((match: RegExpMatchArray) => string) | string]` tuples for grouping cache keys together. This helps avoid [high cardinality issues](https://stackoverflow.com/questions/46373442/how-dangerous-are-high-cardinality-labels-in-prometheus) when you have many unique cache keys.\n\n**Example:**\n\n```ts\ncacheCollector({\n  keyGroups: [\n    [/^users:(\\d+)$/, 'users:*'],\n    [/^posts:(\\d+)$/, 'posts:*'],\n  ],\n})\n```\n\n### Mail Collector\n\nAdds metrics to monitor emails sent through `@adonisjs/mail`.\n\n#### Exposed Metrics\n\n- `mails_sent_total`: Counter for the total number of emails sent.\n\n## Exemplars\n\n[Exemplars](https://grafana.com/docs/grafana/latest/fundamentals/exemplars/) are a way to link metrics to traces. When enabled, this package will automatically attach `traceId` and `spanId` labels from the active OpenTelemetry span to your Counter and Histogram metrics.\n\n### Setup\n\n1. Install `@opentelemetry/api` as a dependency:\n\n```sh\npnpm add @opentelemetry/api\n```\n\n2. Enable exemplars in your configuration:\n\n```ts\nexport default defineConfig({\n  enableExemplars: true,\n  // ...\n})\n```\n\nWhen `enableExemplars` is set to `true`, the metrics registry will automatically be set to use the `OpenMetrics` format, which is required for exemplars support.\n\n### How it works\n\nWhen exemplars are enabled, the API for incrementing counters and observing histograms changes. Instead of simple `inc()` and `observe()` calls, you need to pass an object with `labels` and `exemplarLabels`:\n\n```ts\n// Without exemplars\ncounter.inc({ method: 'GET', status: '200' })\nhistogram.observe({ route: '/users' }, 0.5)\n\n// With exemplars\ncounter.inc({\n  labels: { method: 'GET', status: '200' },\n  exemplarLabels: { traceId: '...', spanId: '...' },\n})\nhistogram.observe(\n  { labels: { route: '/users' }, exemplarLabels: { traceId: '...', spanId: '...' } },\n  0.5,\n)\n```\n\nThis package handles this automatically: when `enableExemplars` is `true` in the global config and an active OpenTelemetry span exists, the `traceId` and `spanId` will be attached to metrics from the built-in collectors.\n\n> [!NOTE]\n> The API change only applies to metrics created with `enableExemplars: true` on the metric itself. If you create custom metrics using `prom-client` without setting `enableExemplars`, you can use the standard API (`counter.inc(labels)`) even when the global config has `enableExemplars: true`. However, if you enable exemplars on your custom metric, you'll need to use the exemplar API (`counter.inc({ labels, exemplarLabels, value })`).\n\n### Known TypeScript issue\n\nThere's currently a typing bug where `exemplarLabels` is incorrectly typed. This causes TypeScript errors when using exemplars. The issue should be fixed in a future release. In the meantime, feel free to use type assertions (`as any`) when calling `inc()` or `observe()` with `exemplarLabels`.\n\n### Requirements\n\n- Your application must be instrumented with OpenTelemetry to have active spans\n- The `@opentelemetry/api` package must be installed\n- Your Prometheus server must support OpenMetrics format to scrape exemplars\n\n## Custom metrics\n\nTo add your own metrics, you have two options:\n\n### Use prom-client\n\nYou can directly use `prom-client` with the same registry :\n\n```ts\nimport { Counter } from 'prom-client'\n\nexport const orderMetrics = new Counter({\n  name: 'sent_orders',\n  help: 'Total Orders Sent',\n})\n\nexport default class OrderController {\n  public async store({ request }: HttpContext) {\n    // ...\n    OrderMetric.inc()\n    // ...\n  }\n}\n```\n\n### Create a custom collector\n\nYou can also create a custom collector to expose your metrics:\n\n```ts\nimport { Collector } from '@julr/adonisjs-prometheus/collectors/collector'\n\nexport function appOrdersCollector() {\n  return configProvider.create(async (app) => {\n    const emitter = await app.container.make('emitter')\n    const config = app.config.get<ResolvedPromConfig>('prometheus')\n\n    return new MailCollector(emitter, config)\n  })\n}\n\nexport class AppOrdersCollector extends Collector {\n  constructor(\n    private emitter: EmitterService,\n    options: CommonCollectorOptions,\n  ) {\n    super(options)\n  }\n\n  async register() {\n    const orderMetrics = this.createGauge({\n      name: 'sent_orders',\n      help: 'Total Orders Sent',\n    })\n\n    /**\n     * Let's imagine that your emitter emits a `new:order` event.\n     * This is one way to collect metrics, but you can do it the way you want :\n     * - Using a listener\n     * - Using a DB Query and the `collect()` method of the gauge\n     * - etc.\n     */\n    this.emitter.on('new:order', () => orderMetrics.inc())\n  }\n}\n```\n\nThen, add your collector to the `config/prometheus.ts` configuration file:\n\n```ts\nexport default defineConfig({\n  // ...\n  collectors: [\n    // ...\n    appOrdersCollector(),\n  ],\n})\n```\n\n## Sponsors\n\nIf you like this project, [please consider supporting it by sponsoring it](https://github.com/sponsors/Julien-R44/). It will help a lot to maintain and improve it. Thanks a lot !\n\n![](https://github.com/julien-r44/static/blob/main/sponsorkit/sponsors.png?raw=true)\n","readmeFilename":"README.md"}