{"_id":"astro-prometheus-node-integration","_rev":"20-4501c63e322af0412b43930816c79a74","name":"astro-prometheus-node-integration","dist-tags":{"latest":"2.0.0"},"versions":{"0.0.1":{"name":"astro-prometheus-node-integration","version":"0.0.1","keywords":["astro-integration","astro-component","withastro","astro","analytics","monitoring","prometheus","node"],"author":{"url":"https://github.com/dvelasquez","name":"Danilo Velasquez","email":"danilo.velasquez@gmail.com"},"license":"MIT","_id":"astro-prometheus-node-integration@0.0.1","maintainers":[{"name":"dvelasquez","email":"danilo.velasquez@gmail.com"}],"homepage":"https://github.com/dvelasquez/astro-prometheus-integration","dist":{"shasum":"e48e79564ac99feb78a450f110a6d243e28a070c","tarball":"https://registry.npmjs.org/astro-prometheus-node-integration/-/astro-prometheus-node-integration-0.0.1.tgz","fileCount":8,"integrity":"sha512-leEDhL7cNLWJV0KzT8xcZM17UePPSk4A6hqOGs5u6s+oDfElQ1UO8j1TSdyG/hqgb/cCPSuAhfvQgwBmMuJ3Wg==","signatures":[{"sig":"MEUCIQDkBaoNafC6+p/Td6945VTobqKfWjo2mTsDWXsSJz9giwIgBqV+EJ7cUz+N6vQT+9v0J10SOpQZepIOdaxdmzsT0Lo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4683},"type":"module","_from":"file:astro-prometheus-node-integration-0.0.1.tgz","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","build":"tsup"},"_npmUser":{"name":"dvelasquez","email":"danilo.velasquez@gmail.com"},"_resolved":"/tmp/a1b99525563632807afa6c216678c62f/astro-prometheus-node-integration-0.0.1.tgz","_integrity":"sha512-leEDhL7cNLWJV0KzT8xcZM17UePPSk4A6hqOGs5u6s+oDfElQ1UO8j1TSdyG/hqgb/cCPSuAhfvQgwBmMuJ3Wg==","_npmVersion":"10.8.2","description":"TODO:","directories":{},"sideEffects":false,"_nodeVersion":"20.18.0","dependencies":{"astro-integration-kit":"^0.18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0"},"peerDependencies":{"astro":"^5.1.3","@astrojs/node":"^9.2.1"},"_npmOperationalInternal":{"tmp":"tmp/astro-prometheus-node-integration_0.0.1_1745564280474_0.5046321954041566","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"astro-prometheus-node-integration","version":"0.1.0","keywords":["astro-integration","astro-component","withastro","astro","analytics","monitoring","prometheus","node"],"author":{"url":"https://github.com/dvelasquez","name":"Danilo Velasquez","email":"danilo.velasquez@gmail.com"},"license":"MIT","_id":"astro-prometheus-node-integration@0.1.0","maintainers":[{"name":"dvelasquez","email":"danilo.velasquez@gmail.com"}],"homepage":"https://github.com/dvelasquez/astro-prometheus-integration/tree/main/packages/astro-prometheus-node-integration#readme","bugs":{"url":"https://github.com/dvelasquez/astro-prometheus-integration/issues"},"dist":{"shasum":"976156efc1817ffd3fd7991d8a9fa5a6b9536a5c","tarball":"https://registry.npmjs.org/astro-prometheus-node-integration/-/astro-prometheus-node-integration-0.1.0.tgz","fileCount":20,"integrity":"sha512-Z/nU8c/VF+Y2nbsv2mtqm1RLj1oHYPmz3L0Tnv0bfxjsLVNOGWnlBE061qg5i+vTEU6b+XvBoaBEPFUg7Lt25g==","signatures":[{"sig":"MEUCID70KBykEcU7umIbrT9eGqLe9GTc66VZKx1kbQOyg77QAiEAoNOVuuIDAlRw6Jv7m4KrTsy62vDpNH1j1yzsA9zagpc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":52339},"type":"module","_from":"file:astro-prometheus-node-integration-0.1.0.tgz","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","build":"tsup"},"_npmUser":{"name":"dvelasquez","email":"danilo.velasquez@gmail.com"},"_resolved":"/tmp/80d9367129a573cd53301de92a1f2f6c/astro-prometheus-node-integration-0.1.0.tgz","_integrity":"sha512-Z/nU8c/VF+Y2nbsv2mtqm1RLj1oHYPmz3L0Tnv0bfxjsLVNOGWnlBE061qg5i+vTEU6b+XvBoaBEPFUg7Lt25g==","repository":{"url":"git+https://github.com/dvelasquez/astro-prometheus-integration.git","type":"git","directory":"packages/astro-prometheus-node-integration"},"_npmVersion":"10.8.2","description":"A prometheus integration for Astro.","directories":{},"sideEffects":false,"_nodeVersion":"20.18.0","dependencies":{"prom-client":"15.1.3","astro-integration-kit":"^0.18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0"},"peerDependencies":{"astro":"^5.1.3","@astrojs/node":"^9.2.1"},"_npmOperationalInternal":{"tmp":"tmp/astro-prometheus-node-integration_0.1.0_1745740630686_0.38977104697723575","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"astro-prometheus-node-integration","version":"0.1.1","keywords":["astro-integration","astro-component","withastro","astro","analytics","monitoring","prometheus","node"],"author":{"url":"https://github.com/dvelasquez","name":"Danilo Velasquez","email":"danilo.velasquez@gmail.com"},"license":"MIT","_id":"astro-prometheus-node-integration@0.1.1","maintainers":[{"name":"dvelasquez","email":"danilo.velasquez@gmail.com"}],"homepage":"https://github.com/dvelasquez/astro-prometheus-integration/tree/main/packages/astro-prometheus-node-integration#readme","bugs":{"url":"https://github.com/dvelasquez/astro-prometheus-integration/issues"},"dist":{"shasum":"c6e7269d82f795552f6d09b2cf6e870dd0fccc5e","tarball":"https://registry.npmjs.org/astro-prometheus-node-integration/-/astro-prometheus-node-integration-0.1.1.tgz","fileCount":26,"integrity":"sha512-/OjPh/ycnnFyQ5tH8I5TkKuLtBk4jq9y39dhCRu6EyhLYaxtO4gEEIZSb6GfSy1h3LwjOIQVvgMZv+kIX6x/1A==","signatures":[{"sig":"MEYCIQCDO1v5kXcqJ/b2pmWxcm0NJVSKmVbEALSW2omdwX7duQIhALjx4/p5ZdlLHqZMZcCijTMMPd7jzaQHaKT6PLghxDHJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3234908},"type":"module","_from":"file:astro-prometheus-node-integration-0.1.1.tgz","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","test":"vitest","build":"tsup"},"_npmUser":{"name":"dvelasquez","email":"danilo.velasquez@gmail.com"},"_resolved":"/tmp/f05c86e5502ae08cb3ada34cc5a09f22/astro-prometheus-node-integration-0.1.1.tgz","_integrity":"sha512-/OjPh/ycnnFyQ5tH8I5TkKuLtBk4jq9y39dhCRu6EyhLYaxtO4gEEIZSb6GfSy1h3LwjOIQVvgMZv+kIX6x/1A==","repository":{"url":"git+https://github.com/dvelasquez/astro-prometheus-integration.git","type":"git","directory":"packages/astro-prometheus-node-integration"},"_npmVersion":"10.8.2","description":"A prometheus integration for Astro.","directories":{},"sideEffects":false,"_nodeVersion":"20.18.0","dependencies":{"prom-client":"15.1.3","astro-integration-kit":"^0.18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"3.1.2","parse-prometheus-text-format":"1.1.1"},"peerDependencies":{"astro":"^5.1.3","@astrojs/node":"^9.2.1"},"_npmOperationalInternal":{"tmp":"tmp/astro-prometheus-node-integration_0.1.1_1745784376514_0.5894926254423356","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"astro-prometheus-node-integration","version":"0.2.0","keywords":["astro-integration","astro-component","withastro","astro","analytics","monitoring","prometheus","node"],"author":{"url":"https://github.com/dvelasquez","name":"Danilo Velasquez","email":"danilo.velasquez@gmail.com"},"license":"MIT","_id":"astro-prometheus-node-integration@0.2.0","maintainers":[{"name":"dvelasquez","email":"danilo.velasquez@gmail.com"}],"homepage":"https://github.com/dvelasquez/astro-prometheus-integration/tree/main/packages/astro-prometheus-node-integration#readme","bugs":{"url":"https://github.com/dvelasquez/astro-prometheus-integration/issues"},"dist":{"shasum":"891271bd0e5dac6f5d6cd6a5aa2a3ce5e14b7207","tarball":"https://registry.npmjs.org/astro-prometheus-node-integration/-/astro-prometheus-node-integration-0.2.0.tgz","fileCount":32,"integrity":"sha512-fAQigtDGVnMuMKxMttjHWPOn5qcbpZ/gE70ssqJSLXU4Lsf3NjEDtjCdhTqJTOy732bOiSvpmYakjDx3OKR/mQ==","signatures":[{"sig":"MEQCICgC77XKfgM+hyDQGgqat0t9CLPE0mRLHsiy+CkjqCYaAiAKKRXpkHxVDlEhCcicc71Azw7rl6oeEoAETqT6pHhoZA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4816007},"type":"module","_from":"file:astro-prometheus-node-integration-0.2.0.tgz","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","test":"vitest","build":"tsup"},"_npmUser":{"name":"dvelasquez","email":"danilo.velasquez@gmail.com"},"_resolved":"/tmp/8bde1e337e696071e4cfaaf63ff2cd33/astro-prometheus-node-integration-0.2.0.tgz","_integrity":"sha512-fAQigtDGVnMuMKxMttjHWPOn5qcbpZ/gE70ssqJSLXU4Lsf3NjEDtjCdhTqJTOy732bOiSvpmYakjDx3OKR/mQ==","repository":{"url":"git+https://github.com/dvelasquez/astro-prometheus-integration.git","type":"git","directory":"packages/astro-prometheus-node-integration"},"_npmVersion":"10.8.2","description":"A prometheus integration for Astro.","directories":{},"sideEffects":false,"_nodeVersion":"20.19.1","dependencies":{"prom-client":"15.1.3","astro-integration-kit":"^0.18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"3.1.2","parse-prometheus-text-format":"1.1.1"},"peerDependencies":{"astro":"^5.1.3","@astrojs/node":"^9.2.1"},"_npmOperationalInternal":{"tmp":"tmp/astro-prometheus-node-integration_0.2.0_1745906850709_0.7644539041523943","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"astro-prometheus-node-integration","version":"0.2.1","keywords":["astro-integration","astro-component","withastro","astro","analytics","monitoring","prometheus","node"],"author":{"url":"https://github.com/dvelasquez","name":"Danilo Velasquez","email":"danilo.velasquez@gmail.com"},"license":"MIT","_id":"astro-prometheus-node-integration@0.2.1","maintainers":[{"name":"dvelasquez","email":"danilo.velasquez@gmail.com"}],"homepage":"https://github.com/dvelasquez/astro-prometheus-integration/tree/main/packages/astro-prometheus-node-integration#readme","bugs":{"url":"https://github.com/dvelasquez/astro-prometheus-integration/issues"},"dist":{"shasum":"2ec7b161bdef9c73e7b73081d26895003ec84913","tarball":"https://registry.npmjs.org/astro-prometheus-node-integration/-/astro-prometheus-node-integration-0.2.1.tgz","fileCount":23,"integrity":"sha512-zG1Pec0JrQKUqilPYMT43yTysy3Rxrm3G+QZ3pw3NWyvcJCGJFKdoJbZS1UgGup8Rh9laXk6YxkpI5/Pec5RuA==","signatures":[{"sig":"MEYCIQDdzDaD+qGrc+++tySCi7KYLuClFC37ckWrKVICFNWrSAIhAMbxJFa54nyuCOBPGdop2RGLdQJ5Ow5srPmF8Ty0bN4T","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":73151},"type":"module","_from":"file:astro-prometheus-node-integration-0.2.1.tgz","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","test":"vitest","build":"tsup"},"_npmUser":{"name":"dvelasquez","email":"danilo.velasquez@gmail.com"},"_resolved":"/tmp/e56dceb244fecef58eb0ebfc1c059555/astro-prometheus-node-integration-0.2.1.tgz","_integrity":"sha512-zG1Pec0JrQKUqilPYMT43yTysy3Rxrm3G+QZ3pw3NWyvcJCGJFKdoJbZS1UgGup8Rh9laXk6YxkpI5/Pec5RuA==","repository":{"url":"git+https://github.com/dvelasquez/astro-prometheus-integration.git","type":"git","directory":"packages/astro-prometheus-node-integration"},"_npmVersion":"10.8.2","description":"A prometheus integration for Astro.","directories":{},"sideEffects":false,"_nodeVersion":"20.19.1","dependencies":{"prom-client":"15.1.3","astro-integration-kit":"^0.18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"3.1.2","parse-prometheus-text-format":"1.1.1"},"peerDependencies":{"astro":"^5.1.3","@astrojs/node":"^9.2.1"},"_npmOperationalInternal":{"tmp":"tmp/astro-prometheus-node-integration_0.2.1_1745907621913_0.5203157524568576","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"astro-prometheus-node-integration","version":"0.2.2","keywords":["astro-integration","astro-component","withastro","astro","analytics","monitoring","prometheus","node"],"author":{"url":"https://github.com/dvelasquez","name":"Danilo Velasquez","email":"danilo.velasquez@gmail.com"},"license":"MIT","_id":"astro-prometheus-node-integration@0.2.2","maintainers":[{"name":"dvelasquez","email":"danilo.velasquez@gmail.com"}],"homepage":"https://github.com/dvelasquez/astro-prometheus-integration/tree/main/packages/astro-prometheus-node-integration#readme","bugs":{"url":"https://github.com/dvelasquez/astro-prometheus-integration/issues"},"dist":{"shasum":"5ca0ed5b924581712c97e3c1be5430560b0620d8","tarball":"https://registry.npmjs.org/astro-prometheus-node-integration/-/astro-prometheus-node-integration-0.2.2.tgz","fileCount":23,"integrity":"sha512-iz+0pqaoM8JzsXtsBJbljRS5N9MBqWTHHnI/mIoYQpuVX0Bg9geAlF1htFzgrUu6W4r4vtdznpeJZlE7FboIjQ==","signatures":[{"sig":"MEQCIDzgn/wfuler5aSaEnibmcVmROiFjZGCoQoEDCkL2WeWAiBcZ1Ci+OMphayRaVpQPxeMNUIrzcRKqFXGWXvImsdBEA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":73151},"type":"module","_from":"file:astro-prometheus-node-integration-0.2.2.tgz","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","test":"vitest","build":"tsup"},"_npmUser":{"name":"dvelasquez","email":"danilo.velasquez@gmail.com"},"_resolved":"/tmp/4220d4acba64227ba57b69b49503ec34/astro-prometheus-node-integration-0.2.2.tgz","_integrity":"sha512-iz+0pqaoM8JzsXtsBJbljRS5N9MBqWTHHnI/mIoYQpuVX0Bg9geAlF1htFzgrUu6W4r4vtdznpeJZlE7FboIjQ==","repository":{"url":"git+https://github.com/dvelasquez/astro-prometheus-integration.git","type":"git","directory":"packages/astro-prometheus-node-integration"},"_npmVersion":"10.8.2","description":"A prometheus integration for Astro.","directories":{},"sideEffects":false,"_nodeVersion":"20.19.1","dependencies":{"prom-client":"15.1.3","astro-integration-kit":"^0.18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"3.1.2","parse-prometheus-text-format":"1.1.1"},"peerDependencies":{"astro":"^5.0.0","@astrojs/node":"^9.0.0"},"_npmOperationalInternal":{"tmp":"tmp/astro-prometheus-node-integration_0.2.2_1746016228570_0.8329895905783793","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"astro-prometheus-node-integration","version":"0.3.0","keywords":["astro-integration","astro-component","withastro","astro","analytics","monitoring","prometheus","node"],"author":{"url":"https://github.com/dvelasquez","name":"Danilo Velasquez","email":"danilo.velasquez@gmail.com"},"license":"MIT","_id":"astro-prometheus-node-integration@0.3.0","maintainers":[{"name":"dvelasquez","email":"danilo.velasquez@gmail.com"}],"homepage":"https://github.com/dvelasquez/astro-prometheus-integration/tree/main/packages/astro-prometheus-node-integration#readme","bugs":{"url":"https://github.com/dvelasquez/astro-prometheus-integration/issues"},"dist":{"shasum":"61627d686998a169095d73e3496be722f1497cc2","tarball":"https://registry.npmjs.org/astro-prometheus-node-integration/-/astro-prometheus-node-integration-0.3.0.tgz","fileCount":23,"integrity":"sha512-rAiyd9UZyIYKMbfAxbd8eRpIMZ6JlzCdyBVoEpoOJ5bhrd57pm7ArttdNGOF/0yifctIFVbXpxmwjo3dct1JlQ==","signatures":[{"sig":"MEQCID2KIKIm6CTWkXyLx0PNj5FcNX4gM7VTmsDzeXjTHt6CAiABkUZ2tMemZA/KqVdP+CPu47pP8c8k2Kdew0oPMiVlRQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":62469},"type":"module","_from":"file:astro-prometheus-node-integration-0.3.0.tgz","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","test":"vitest","build":"tsup"},"_npmUser":{"name":"dvelasquez","email":"danilo.velasquez@gmail.com"},"_resolved":"/tmp/12fdc6f37deff4342cdba93073440854/astro-prometheus-node-integration-0.3.0.tgz","_integrity":"sha512-rAiyd9UZyIYKMbfAxbd8eRpIMZ6JlzCdyBVoEpoOJ5bhrd57pm7ArttdNGOF/0yifctIFVbXpxmwjo3dct1JlQ==","repository":{"url":"git+https://github.com/dvelasquez/astro-prometheus-integration.git","type":"git","directory":"packages/astro-prometheus-node-integration"},"_npmVersion":"10.8.2","description":"A prometheus integration for Astro.","directories":{},"sideEffects":false,"_nodeVersion":"20.19.1","dependencies":{"prom-client":"15.1.3","astro-integration-kit":"^0.18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"3.1.2","parse-prometheus-text-format":"1.1.1"},"peerDependencies":{"astro":"^5.0.0","@astrojs/node":"^9.0.0"},"_npmOperationalInternal":{"tmp":"tmp/astro-prometheus-node-integration_0.3.0_1746522603154_0.9439799663077004","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"astro-prometheus-node-integration","version":"0.3.1","keywords":["astro-integration","astro-component","withastro","astro","analytics","monitoring","prometheus","node"],"author":{"url":"https://github.com/dvelasquez","name":"Danilo Velasquez","email":"danilo.velasquez@gmail.com"},"license":"MIT","_id":"astro-prometheus-node-integration@0.3.1","maintainers":[{"name":"dvelasquez","email":"danilo.velasquez@gmail.com"}],"homepage":"https://github.com/dvelasquez/astro-prometheus-integration/tree/main/packages/astro-prometheus-node-integration#readme","bugs":{"url":"https://github.com/dvelasquez/astro-prometheus-integration/issues"},"dist":{"shasum":"6d7b8e6297ce1b53be6ddb6467df9ccf86651c8e","tarball":"https://registry.npmjs.org/astro-prometheus-node-integration/-/astro-prometheus-node-integration-0.3.1.tgz","fileCount":23,"integrity":"sha512-KW/hY+clemyzdzKGDoIt3Ws0WLB8AaX2emMMr65EPrMnpGoOBerzsy7JRaUW+5kIsSAP3qwzSuEajrzKaOZRoA==","signatures":[{"sig":"MEQCIEN23iuCIAZ1vOb+6YK1KiVUiijeF9NYO7XCw6LuI9jiAiBqlFDik5rH5AXH4yVxbKhRiEVQ2guFIulo88wdKKdgwg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":62584},"type":"module","_from":"file:astro-prometheus-node-integration-0.3.1.tgz","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","test":"vitest","build":"tsup"},"_npmUser":{"name":"dvelasquez","email":"danilo.velasquez@gmail.com"},"_resolved":"/tmp/38f836e6d54bf793018be4acca2a04bb/astro-prometheus-node-integration-0.3.1.tgz","_integrity":"sha512-KW/hY+clemyzdzKGDoIt3Ws0WLB8AaX2emMMr65EPrMnpGoOBerzsy7JRaUW+5kIsSAP3qwzSuEajrzKaOZRoA==","repository":{"url":"git+https://github.com/dvelasquez/astro-prometheus-integration.git","type":"git","directory":"packages/astro-prometheus-node-integration"},"_npmVersion":"10.8.2","description":"A prometheus integration for Astro.","directories":{},"sideEffects":false,"_nodeVersion":"20.19.1","dependencies":{"prom-client":"15.1.3","astro-integration-kit":"^0.18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"3.1.2","parse-prometheus-text-format":"1.1.1"},"peerDependencies":{"astro":"^5.0.0","@astrojs/node":"^9.0.0"},"_npmOperationalInternal":{"tmp":"tmp/astro-prometheus-node-integration_0.3.1_1746610757524_0.4152760304323635","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"astro-prometheus-node-integration","version":"0.3.2","keywords":["astro-integration","astro-component","withastro","astro","analytics","monitoring","prometheus","node"],"author":{"url":"https://github.com/dvelasquez","name":"Danilo Velasquez","email":"danilo.velasquez@gmail.com"},"license":"MIT","_id":"astro-prometheus-node-integration@0.3.2","maintainers":[{"name":"dvelasquez","email":"danilo.velasquez@gmail.com"}],"homepage":"https://github.com/dvelasquez/astro-prometheus-integration/tree/main/packages/astro-prometheus-node-integration#readme","bugs":{"url":"https://github.com/dvelasquez/astro-prometheus-integration/issues"},"dist":{"shasum":"696d34e1f48fe4cc2ff206ab61ed21018cda53bf","tarball":"https://registry.npmjs.org/astro-prometheus-node-integration/-/astro-prometheus-node-integration-0.3.2.tgz","fileCount":23,"integrity":"sha512-Ty9CheuewPYHz56Y5tGOLcgzz5g7F6bN+PPz3ZU0lAbvIivLKqyqPMljI9VATY7Uhlq5zvWkuu353SMJU/x42Q==","signatures":[{"sig":"MEYCIQCb4ST04xhcrvxZKWtfsrk/YNzSsNScrLQMKbt/KIbnWAIhANdElSumuGmhnOoKoRPrtw/W2wHasiXCDpE6tSHD9REL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":64925},"type":"module","_from":"file:astro-prometheus-node-integration-0.3.2.tgz","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","test":"vitest","build":"tsup"},"_npmUser":{"name":"dvelasquez","email":"danilo.velasquez@gmail.com"},"_resolved":"/tmp/fe3951731a1cdb5d31ad307eaaa5b8f0/astro-prometheus-node-integration-0.3.2.tgz","_integrity":"sha512-Ty9CheuewPYHz56Y5tGOLcgzz5g7F6bN+PPz3ZU0lAbvIivLKqyqPMljI9VATY7Uhlq5zvWkuu353SMJU/x42Q==","repository":{"url":"git+https://github.com/dvelasquez/astro-prometheus-integration.git","type":"git","directory":"packages/astro-prometheus-node-integration"},"_npmVersion":"10.8.2","description":"A prometheus integration for Astro.","directories":{},"sideEffects":false,"_nodeVersion":"20.19.2","dependencies":{"prom-client":"15.1.3","astro-integration-kit":"^0.18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"3.1.2","parse-prometheus-text-format":"1.1.1"},"peerDependencies":{"astro":"^5.0.0","@astrojs/node":"^9.0.0"},"_npmOperationalInternal":{"tmp":"tmp/astro-prometheus-node-integration_0.3.2_1749199642004_0.23290469894944854","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"astro-prometheus-node-integration","version":"0.3.3","keywords":["astro-integration","astro-component","withastro","astro","analytics","monitoring","prometheus","node"],"author":{"url":"https://github.com/dvelasquez","name":"Danilo Velasquez","email":"danilo.velasquez@gmail.com"},"license":"MIT","_id":"astro-prometheus-node-integration@0.3.3","maintainers":[{"name":"dvelasquez","email":"danilo.velasquez@gmail.com"}],"homepage":"https://github.com/dvelasquez/astro-prometheus-integration/tree/main/packages/astro-prometheus-node-integration#readme","bugs":{"url":"https://github.com/dvelasquez/astro-prometheus-integration/issues"},"dist":{"shasum":"2b74a5011f6d47e4faa8bdea593260cd1e95180e","tarball":"https://registry.npmjs.org/astro-prometheus-node-integration/-/astro-prometheus-node-integration-0.3.3.tgz","fileCount":23,"integrity":"sha512-fe3Ti1Of+TKrW6Bb1yKRggKTEN8Tp6hTtlo06DQXCYwj89LgqfALQCwmMe+rl79GTaTxYfvi/G/a8ky+xOhKfQ==","signatures":[{"sig":"MEYCIQDeWXAFwbZwq5jmITf8JIN8U7VoMf5eXhfawVr+rWyftQIhAK0fwgdxvgLcGjJGlqianrluHprWoq8pU9GuHCpPccIS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":65157},"type":"module","_from":"file:astro-prometheus-node-integration-0.3.3.tgz","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","test":"vitest","build":"tsup"},"_npmUser":{"name":"dvelasquez","actor":{"name":"dvelasquez","type":"user","email":"danilo.velasquez@gmail.com"},"email":"danilo.velasquez@gmail.com"},"_resolved":"/tmp/e2b7a81770dcc7c8a3204f3f91db922f/astro-prometheus-node-integration-0.3.3.tgz","_integrity":"sha512-fe3Ti1Of+TKrW6Bb1yKRggKTEN8Tp6hTtlo06DQXCYwj89LgqfALQCwmMe+rl79GTaTxYfvi/G/a8ky+xOhKfQ==","repository":{"url":"git+https://github.com/dvelasquez/astro-prometheus-integration.git","type":"git","directory":"packages/astro-prometheus-node-integration"},"_npmVersion":"10.9.2","description":"A prometheus integration for Astro.","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"prom-client":"15.1.3","astro-integration-kit":"^0.18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"3.2.4","parse-prometheus-text-format":"1.1.1"},"peerDependencies":{"astro":"^5.0.0","@astrojs/node":"^9.0.0"},"_npmOperationalInternal":{"tmp":"tmp/astro-prometheus-node-integration_0.3.3_1752155123483_0.8324848060588224","host":"s3://npm-registry-packages-npm-production"}},"0.3.4":{"name":"astro-prometheus-node-integration","version":"0.3.4","keywords":["astro-integration","astro-component","withastro","astro","analytics","monitoring","prometheus","node"],"author":{"url":"https://github.com/dvelasquez","name":"Danilo Velasquez","email":"danilo.velasquez@gmail.com"},"license":"MIT","_id":"astro-prometheus-node-integration@0.3.4","maintainers":[{"name":"dvelasquez","email":"danilo.velasquez@gmail.com"}],"homepage":"https://github.com/dvelasquez/astro-prometheus-integration/tree/main/packages/astro-prometheus-node-integration#readme","bugs":{"url":"https://github.com/dvelasquez/astro-prometheus-integration/issues"},"dist":{"shasum":"f053e0c17aed8633bdffee5075baaf11546ff15a","tarball":"https://registry.npmjs.org/astro-prometheus-node-integration/-/astro-prometheus-node-integration-0.3.4.tgz","fileCount":23,"integrity":"sha512-7fprkf/LDx+Gu4frQn6HHr9X7yVaJCnTJmEPkad0K1mQp2BS6cbK2neXaATBKNpJqjQDhUtNsSh44PauN0tdbw==","signatures":[{"sig":"MEUCIQDF8mO954Toy0BgQh4cv/ofha/EO24UIi82cW0XO4R/XQIgUiIb4RTdDrmrt3m2ThxwyBP2gMCp2mgSGTbDUzisu28=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":65157},"type":"module","_from":"file:astro-prometheus-node-integration-0.3.4.tgz","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","test":"vitest","build":"tsup"},"_npmUser":{"name":"dvelasquez","actor":{"name":"dvelasquez","type":"user","email":"danilo.velasquez@gmail.com"},"email":"danilo.velasquez@gmail.com"},"_resolved":"/tmp/6bc9ed9a7bd514807c489c963088c71f/astro-prometheus-node-integration-0.3.4.tgz","_integrity":"sha512-7fprkf/LDx+Gu4frQn6HHr9X7yVaJCnTJmEPkad0K1mQp2BS6cbK2neXaATBKNpJqjQDhUtNsSh44PauN0tdbw==","repository":{"url":"git+https://github.com/dvelasquez/astro-prometheus-integration.git","type":"git","directory":"packages/astro-prometheus-node-integration"},"_npmVersion":"10.9.2","description":"A prometheus integration for Astro.","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"prom-client":"15.1.3","astro-integration-kit":"^0.18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"3.2.4","parse-prometheus-text-format":"1.1.1"},"peerDependencies":{"astro":"^5.0.0","@astrojs/node":"^9.0.0"},"_npmOperationalInternal":{"tmp":"tmp/astro-prometheus-node-integration_0.3.4_1752158513792_0.5418561178468184","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"astro-prometheus-node-integration","version":"1.0.0","keywords":["astro-integration","astro-component","withastro","astro","analytics","monitoring","prometheus","node"],"author":{"url":"https://github.com/dvelasquez","name":"Danilo Velasquez","email":"danilo.velasquez@gmail.com"},"license":"MIT","_id":"astro-prometheus-node-integration@1.0.0","maintainers":[{"name":"dvelasquez","email":"danilo.velasquez@gmail.com"}],"homepage":"https://github.com/dvelasquez/astro-prometheus-integration/tree/main/packages/astro-prometheus-node-integration#readme","bugs":{"url":"https://github.com/dvelasquez/astro-prometheus-integration/issues"},"dist":{"shasum":"478e8b26346856ca8357741000686136c5e3fa16","tarball":"https://registry.npmjs.org/astro-prometheus-node-integration/-/astro-prometheus-node-integration-1.0.0.tgz","fileCount":23,"integrity":"sha512-eHNY0v+MF6GJV7Ez6l+s1MldOwln5Tea42BUP6qH6NHX2nm4bIt5xu7Dcuwef//Avla3JQ8AxqWPx2IJ+9AF4Q==","signatures":[{"sig":"MEQCIClVD6LULwBnwqf54KJnh8PQLJ7rQet7Gg5bdZkI5szsAiAQ6xQ23IspV2adtLzYX2bYX6oMKMLNnwEm3rF0MRnZ3g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":72914},"type":"module","_from":"file:astro-prometheus-node-integration-1.0.0.tgz","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","test":"vitest","build":"tsup"},"_npmUser":{"name":"dvelasquez","email":"danilo.velasquez@gmail.com"},"_resolved":"/tmp/a12ad95f231f3777c7427ab6812b4234/astro-prometheus-node-integration-1.0.0.tgz","_integrity":"sha512-eHNY0v+MF6GJV7Ez6l+s1MldOwln5Tea42BUP6qH6NHX2nm4bIt5xu7Dcuwef//Avla3JQ8AxqWPx2IJ+9AF4Q==","repository":{"url":"git+https://github.com/dvelasquez/astro-prometheus-integration.git","type":"git","directory":"packages/astro-prometheus-node-integration"},"_npmVersion":"10.9.3","description":"A prometheus integration for Astro.","directories":{},"sideEffects":false,"_nodeVersion":"22.18.0","dependencies":{"prom-client":"15.1.3","astro-integration-kit":"^0.19.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"3.2.4","parse-prometheus-text-format":"1.1.1"},"peerDependencies":{"astro":"^5.0.0","@astrojs/node":"^9.0.0"},"_npmOperationalInternal":{"tmp":"tmp/astro-prometheus-node-integration_1.0.0_1756192927002_0.11876804784897521","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"astro-prometheus-node-integration","version":"1.1.0","keywords":["astro-integration","astro-component","withastro","astro","analytics","monitoring","prometheus","node"],"author":{"url":"https://github.com/dvelasquez","name":"Danilo Velasquez","email":"danilo.velasquez@gmail.com"},"license":"MIT","_id":"astro-prometheus-node-integration@1.1.0","maintainers":[{"name":"dvelasquez","email":"danilo.velasquez@gmail.com"}],"homepage":"https://github.com/dvelasquez/astro-prometheus-integration/tree/main/packages/astro-prometheus-node-integration#readme","bugs":{"url":"https://github.com/dvelasquez/astro-prometheus-integration/issues"},"dist":{"shasum":"a4bdce80a68671c2d547586cae005142630652d2","tarball":"https://registry.npmjs.org/astro-prometheus-node-integration/-/astro-prometheus-node-integration-1.1.0.tgz","fileCount":26,"integrity":"sha512-HDu9nbdwYl1HmidzCS20S0wZek5dyYVxZtjlhQjOP6bOajEpmvvnsCpdOnH9MJ8mav58XHpFlC1VMCd0aNl92Q==","signatures":[{"sig":"MEYCIQDN53GDJnBmoihL9vVhirKYZNBQP9aZKdcNpLvdg0zRHAIhAN4vhWdoTR+IKxrUTcDel9eKpCIi+c91+vSJC+LcXk2X","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":86904},"type":"module","_from":"file:astro-prometheus-node-integration-1.1.0.tgz","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","test":"vitest","build":"tsup"},"_npmUser":{"name":"dvelasquez","email":"danilo.velasquez@gmail.com"},"_resolved":"/tmp/a0dca1e43f3392d462bc4885cc0d880b/astro-prometheus-node-integration-1.1.0.tgz","_integrity":"sha512-HDu9nbdwYl1HmidzCS20S0wZek5dyYVxZtjlhQjOP6bOajEpmvvnsCpdOnH9MJ8mav58XHpFlC1VMCd0aNl92Q==","repository":{"url":"git+https://github.com/dvelasquez/astro-prometheus-integration.git","type":"git","directory":"packages/astro-prometheus-node-integration"},"_npmVersion":"10.9.3","description":"A prometheus integration for Astro.","directories":{},"sideEffects":false,"_nodeVersion":"22.18.0","dependencies":{"prom-client":"15.1.3","astro-integration-kit":"^0.19.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"3.2.4","parse-prometheus-text-format":"1.1.1"},"peerDependencies":{"astro":"^5.0.0","@astrojs/node":"^9.0.0"},"_npmOperationalInternal":{"tmp":"tmp/astro-prometheus-node-integration_1.1.0_1756213711907_0.6911362167488704","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"astro-prometheus-node-integration","version":"1.2.0","keywords":["astro-integration","astro-component","withastro","astro","analytics","monitoring","prometheus","node"],"author":{"url":"https://github.com/dvelasquez","name":"Danilo Velasquez","email":"danilo.velasquez@gmail.com"},"license":"MIT","_id":"astro-prometheus-node-integration@1.2.0","maintainers":[{"name":"dvelasquez","email":"danilo.velasquez@gmail.com"}],"homepage":"https://github.com/dvelasquez/astro-prometheus-integration/tree/main/packages/astro-prometheus-node-integration#readme","bugs":{"url":"https://github.com/dvelasquez/astro-prometheus-integration/issues"},"dist":{"shasum":"ef2357172125cc21c74c7137838fabe47d72bf45","tarball":"https://registry.npmjs.org/astro-prometheus-node-integration/-/astro-prometheus-node-integration-1.2.0.tgz","fileCount":41,"integrity":"sha512-RJqwrPOvRfElmvWAw84ibYkGKh65Rj421ZZsaw/ygkWAjZdSsraV7lpRmlR3cx6b6DxU7MU76Vpbc9hpgyvzcQ==","signatures":[{"sig":"MEUCIAGBM4/sMenHcDytljV83h4vK49mY04oA7hX6gtd2HtaAiEA7IX2uypr+S8VpxmpDz0t73TMmLlmhLcU0Eq2M90pgHM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":156593},"type":"module","_from":"file:astro-prometheus-node-integration-1.2.0.tgz","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","test":"vitest","build":"tsup"},"_npmUser":{"name":"dvelasquez","email":"danilo.velasquez@gmail.com"},"_resolved":"/tmp/30b6fade7182e4f5e5fba9cc92e8fb17/astro-prometheus-node-integration-1.2.0.tgz","_integrity":"sha512-RJqwrPOvRfElmvWAw84ibYkGKh65Rj421ZZsaw/ygkWAjZdSsraV7lpRmlR3cx6b6DxU7MU76Vpbc9hpgyvzcQ==","repository":{"url":"git+https://github.com/dvelasquez/astro-prometheus-integration.git","type":"git","directory":"packages/astro-prometheus-node-integration"},"_npmVersion":"11.6.1","description":"A prometheus integration for Astro.","directories":{},"sideEffects":false,"_nodeVersion":"24.11.0","dependencies":{"prom-client":"15.1.3","astro-integration-kit":"0.19.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.0","vitest":"3.2.4","parse-prometheus-text-format":"1.1.1"},"peerDependencies":{"astro":"^5.0.0","@astrojs/node":"^9.0.0"},"_npmOperationalInternal":{"tmp":"tmp/astro-prometheus-node-integration_1.2.0_1763030386772_0.5679037822405884","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"astro-prometheus-node-integration","version":"1.2.1","keywords":["astro-integration","astro-component","withastro","astro","analytics","monitoring","prometheus","node"],"author":{"url":"https://github.com/dvelasquez","name":"Danilo Velasquez","email":"danilo.velasquez@gmail.com"},"license":"MIT","_id":"astro-prometheus-node-integration@1.2.1","maintainers":[{"name":"dvelasquez","email":"danilo.velasquez@gmail.com"}],"homepage":"https://github.com/dvelasquez/astro-prometheus-integration/tree/main/packages/astro-prometheus-node-integration#readme","bugs":{"url":"https://github.com/dvelasquez/astro-prometheus-integration/issues"},"dist":{"shasum":"84959299e8e8026fcab1c85fe8a46ccb4de47f8e","tarball":"https://registry.npmjs.org/astro-prometheus-node-integration/-/astro-prometheus-node-integration-1.2.1.tgz","fileCount":41,"integrity":"sha512-r/xYZ0T+1SxweQIcsBtIEDA6+FeYLjWOvZlStWRNBe3pPKqRpkzZdQjjCnOHBOkAi6Enxz3N7WDOkbx7jpu4fQ==","signatures":[{"sig":"MEUCIQCmmgQLHlxj8wlzU0rwbrpLA3hJCii8Vd5o9XmRR4A76AIgVzy8XZZmN7mg+pvmTj7Y4FCNJNJUYjJXrHY2z4W2hNU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":156585},"type":"module","_from":"file:astro-prometheus-node-integration-1.2.1.tgz","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","test":"vitest","build":"tsup"},"_npmUser":{"name":"dvelasquez","email":"danilo.velasquez@gmail.com"},"_resolved":"/tmp/8f228e9bd3c4912a2548837c70817f53/astro-prometheus-node-integration-1.2.1.tgz","_integrity":"sha512-r/xYZ0T+1SxweQIcsBtIEDA6+FeYLjWOvZlStWRNBe3pPKqRpkzZdQjjCnOHBOkAi6Enxz3N7WDOkbx7jpu4fQ==","repository":{"url":"git+https://github.com/dvelasquez/astro-prometheus-integration.git","type":"git","directory":"packages/astro-prometheus-node-integration"},"_npmVersion":"11.6.2","description":"A prometheus integration for Astro.","directories":{},"sideEffects":false,"_nodeVersion":"24.11.1","dependencies":{"prom-client":"15.1.3","astro-integration-kit":"0.19.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.1","vitest":"4.0.9","parse-prometheus-text-format":"1.1.1"},"peerDependencies":{"astro":"^5.0.0","@astrojs/node":"^9.0.0"},"_npmOperationalInternal":{"tmp":"tmp/astro-prometheus-node-integration_1.2.1_1763449103386_0.9753508081468176","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"astro-prometheus-node-integration","version":"1.3.0","keywords":["astro-integration","astro-component","withastro","astro","analytics","monitoring","prometheus","node"],"author":{"url":"https://github.com/dvelasquez","name":"Danilo Velasquez","email":"danilo.velasquez@gmail.com"},"license":"MIT","_id":"astro-prometheus-node-integration@1.3.0","maintainers":[{"name":"dvelasquez","email":"danilo.velasquez@gmail.com"}],"homepage":"https://github.com/dvelasquez/astro-prometheus-integration/tree/main/packages/astro-prometheus-node-integration#readme","bugs":{"url":"https://github.com/dvelasquez/astro-prometheus-integration/issues"},"dist":{"shasum":"a557ea4cef161537d27cbf24cb200c8e060a59a9","tarball":"https://registry.npmjs.org/astro-prometheus-node-integration/-/astro-prometheus-node-integration-1.3.0.tgz","fileCount":44,"integrity":"sha512-SpC6vTk2ZCBBFxsS0eEk+RghCvm77atxmSaoVVrz4jaTRCE89RxyNORUExAJj2tJWO7AZJB/GeN+2Z8eXNPE3g==","signatures":[{"sig":"MEQCIDReowXq5yJkNV23Nqz1wCGDB2aHShPXt/syMclmGTdKAiATji9e7g5fdGZP8cE88Qe+1uNhHHRIPhPCSSp2TszUrg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":199686},"type":"module","_from":"file:astro-prometheus-node-integration-1.3.0.tgz","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","test":"vitest","build":"tsup"},"_npmUser":{"name":"dvelasquez","email":"danilo.velasquez@gmail.com"},"_resolved":"/tmp/d9b5f320b7c211367a4a282dd1724ba0/astro-prometheus-node-integration-1.3.0.tgz","_integrity":"sha512-SpC6vTk2ZCBBFxsS0eEk+RghCvm77atxmSaoVVrz4jaTRCE89RxyNORUExAJj2tJWO7AZJB/GeN+2Z8eXNPE3g==","repository":{"url":"git+https://github.com/dvelasquez/astro-prometheus-integration.git","type":"git","directory":"packages/astro-prometheus-node-integration"},"_npmVersion":"11.6.2","description":"A prometheus integration for Astro.","directories":{},"sideEffects":false,"_nodeVersion":"24.11.1","dependencies":{"prom-client":"15.1.3","astro-integration-kit":"0.19.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.1","vitest":"4.0.14","parse-prometheus-text-format":"1.1.1"},"peerDependencies":{"astro":"^5.0.0","@astrojs/node":"^9.0.0"},"_npmOperationalInternal":{"tmp":"tmp/astro-prometheus-node-integration_1.3.0_1764695883684_0.2416498525933075","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"astro-prometheus-node-integration","version":"1.4.0","keywords":["astro-integration","astro-component","withastro","astro","analytics","monitoring","prometheus","node"],"author":{"url":"https://github.com/dvelasquez","name":"Danilo Velasquez","email":"danilo.velasquez@gmail.com"},"license":"MIT","_id":"astro-prometheus-node-integration@1.4.0","maintainers":[{"name":"dvelasquez","email":"danilo.velasquez@gmail.com"}],"homepage":"https://github.com/dvelasquez/astro-prometheus-integration/tree/main/packages/astro-prometheus-node-integration#readme","bugs":{"url":"https://github.com/dvelasquez/astro-prometheus-integration/issues"},"dist":{"shasum":"1a889bc6709a042e45843be5d05be54aac5a3526","tarball":"https://registry.npmjs.org/astro-prometheus-node-integration/-/astro-prometheus-node-integration-1.4.0.tgz","fileCount":44,"integrity":"sha512-dy5vHqju3tJgpX9Enjx3j/sHdqGpBvV5YcxutE7s6Ofzr6NKbzK8Iu6JhAGN+2rCX6Lvsu1XRjt6wZsSuKPwIQ==","signatures":[{"sig":"MEYCIQC+JiBuGyv8fVPp55xnVdXsOqZlsVtMwbGXVVXFglF8qwIhAPOfj+dJ/XHDRpoWQcdG/Pp/tT4WSDh4JPdSI6l3xaHX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/astro-prometheus-node-integration@1.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":197506},"type":"module","_from":"file:astro-prometheus-node-integration-1.4.0.tgz","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","test":"vitest","build":"tsup"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:998c6469-50f3-4f49-9935-e3cc9deff51f"}},"_resolved":"/tmp/5c7f24c01ca519c32b3ef067490870a5/astro-prometheus-node-integration-1.4.0.tgz","_integrity":"sha512-dy5vHqju3tJgpX9Enjx3j/sHdqGpBvV5YcxutE7s6Ofzr6NKbzK8Iu6JhAGN+2rCX6Lvsu1XRjt6wZsSuKPwIQ==","repository":{"url":"git+https://github.com/dvelasquez/astro-prometheus-integration.git","type":"git","directory":"packages/astro-prometheus-node-integration"},"_npmVersion":"11.9.0","description":"A prometheus integration for Astro.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","dependencies":{"prom-client":"15.1.3","astro-integration-kit":"0.20.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.1","vitest":"4.1.0","parse-prometheus-text-format":"1.1.1"},"peerDependencies":{"astro":"^5.0.0 || ^6.0.0","@astrojs/node":"^9.0.0 || ^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/astro-prometheus-node-integration_1.4.0_1774339205449_0.3406414103047761","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"astro-prometheus-node-integration","version":"1.5.0","keywords":["astro-integration","astro-component","withastro","astro","analytics","monitoring","prometheus","node"],"author":{"url":"https://github.com/dvelasquez","name":"Danilo Velasquez","email":"danilo.velasquez@gmail.com"},"license":"MIT","_id":"astro-prometheus-node-integration@1.5.0","maintainers":[{"name":"dvelasquez","email":"danilo.velasquez@gmail.com"}],"homepage":"https://github.com/dvelasquez/astro-prometheus-integration/tree/main/packages/astro-prometheus-node-integration#readme","bugs":{"url":"https://github.com/dvelasquez/astro-prometheus-integration/issues"},"dist":{"shasum":"d8a5acc6c9bef57ea6b739974c0e222299bbfab9","tarball":"https://registry.npmjs.org/astro-prometheus-node-integration/-/astro-prometheus-node-integration-1.5.0.tgz","fileCount":44,"integrity":"sha512-tng7N332oKvULV6KekU14G39HR/BmhuCdR95bXD+XdXTZrwUET0Xgcvbav9XYuRBVBKtf1zqIp+0i3dlr9E6dg==","signatures":[{"sig":"MEUCIF02tDdm9dm05vMOM3AU/bLandE0r5ULYyqUwOazqijsAiEA8Bc81ROrCZ/fPJXIaVQCWM12fvty6nSkjIFB7Lfoq5U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/astro-prometheus-node-integration@1.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":197553},"type":"module","_from":"file:astro-prometheus-node-integration-1.5.0.tgz","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","test":"vitest","build":"tsup"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:998c6469-50f3-4f49-9935-e3cc9deff51f"}},"_resolved":"/tmp/078341e53bf298c55b2bb7d4a4d64a3c/astro-prometheus-node-integration-1.5.0.tgz","_integrity":"sha512-tng7N332oKvULV6KekU14G39HR/BmhuCdR95bXD+XdXTZrwUET0Xgcvbav9XYuRBVBKtf1zqIp+0i3dlr9E6dg==","repository":{"url":"git+https://github.com/dvelasquez/astro-prometheus-integration.git","type":"git","directory":"packages/astro-prometheus-node-integration"},"_npmVersion":"11.13.0","description":"A prometheus integration for Astro.","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","dependencies":{"prom-client":"15.1.3","astro-integration-kit":"0.20.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.1","vitest":"4.1.10","parse-prometheus-text-format":"1.1.1"},"peerDependencies":{"astro":"^5.0.0 || ^6.0.0 || ^7.0.0","@astrojs/node":"^9.0.0 || ^10.0.0 || ^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/astro-prometheus-node-integration_1.5.0_1783852830117_0.7154749081599237","host":"s3://npm-registry-packages-npm-production"}},"1.5.1":{"name":"astro-prometheus-node-integration","version":"1.5.1","keywords":["astro-integration","astro-component","withastro","astro","analytics","monitoring","prometheus","node"],"author":{"url":"https://github.com/dvelasquez","name":"Danilo Velasquez","email":"danilo.velasquez@gmail.com"},"license":"MIT","_id":"astro-prometheus-node-integration@1.5.1","maintainers":[{"name":"dvelasquez","email":"danilo.velasquez@gmail.com"}],"homepage":"https://github.com/dvelasquez/astro-prometheus-integration/tree/main/packages/astro-prometheus-node-integration#readme","bugs":{"url":"https://github.com/dvelasquez/astro-prometheus-integration/issues"},"dist":{"shasum":"bb96fd25844a8a2fe395f8d58d87fabeb4f2189f","tarball":"https://registry.npmjs.org/astro-prometheus-node-integration/-/astro-prometheus-node-integration-1.5.1.tgz","fileCount":44,"integrity":"sha512-6c4VW2aNidenyZqiedudsIe9NP95NbvVoRkkf2YsodP8PxXAuySTiKo/Gx9YyZ0NDrSWzAm1B5rDnoxp9iTD2Q==","signatures":[{"sig":"MEQCICRraLzC5mfSUslhqbkjq0Lr6YmO3bJFjKYZtfZLNDgQAiArJu7cU8QKVechE0rOLWtN2k9o4R5DqHwJugSboZU8Fg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/astro-prometheus-node-integration@1.5.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":196417},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","test":"vitest","build":"tsup"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:998c6469-50f3-4f49-9935-e3cc9deff51f"}},"repository":{"url":"https://github.com/dvelasquez/astro-prometheus-integration.git","type":"git","directory":"packages/astro-prometheus-node-integration"},"description":"A prometheus integration for Astro.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.1","dependencies":{"prom-client":"15.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.1","vitest":"4.1.10","parse-prometheus-text-format":"1.1.1"},"peerDependencies":{"astro":"^5.0.0 || ^6.0.0 || ^7.0.0","@astrojs/node":"^9.0.0 || ^10.0.0 || ^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/astro-prometheus-node-integration_1.5.1_1785605615496_0.7952389382034104","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"astro-prometheus-node-integration","version":"2.0.0","description":"A prometheus integration for Astro.","author":{"email":"danilo.velasquez@gmail.com","name":"Danilo Velasquez","url":"https://github.com/dvelasquez"},"license":"MIT","keywords":["astro-integration","astro-component","withastro","astro","analytics","monitoring","prometheus","node"],"homepage":"https://github.com/dvelasquez/astro-prometheus-integration/tree/main/packages/astro-prometheus-node-integration#readme","publishConfig":{"access":"public"},"sideEffects":false,"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"type":"module","peerDependencies":{"@astrojs/node":"^9.0.0 || ^10.0.0 || ^11.0.0","astro":"^5.0.0 || ^6.0.0 || ^7.0.0","prom-client":"^15.0.0"},"devDependencies":{"parse-prometheus-text-format":"1.1.1","prom-client":"15.1.3","tsup":"8.5.1","vitest":"4.1.11"},"repository":{"type":"git","url":"https://github.com/dvelasquez/astro-prometheus-integration.git","directory":"packages/astro-prometheus-node-integration"},"bugs":{"url":"https://github.com/dvelasquez/astro-prometheus-integration/issues"},"scripts":{"dev":"tsup --watch","build":"tsup","test":"vitest"},"_nodeVersion":"24.19.0","_id":"astro-prometheus-node-integration@2.0.0","dist":{"integrity":"sha512-6yHxIjytmY1NMLP0cXUNxizwHyDukldkWLZaesQB9OLA1ACrvlTTqQGoGW9IrL6/kbebtOYfE8aRO6yHMlufSg==","shasum":"25db34feeaac0014e0b9d834f70c99564c24cd5d","tarball":"https://registry.npmjs.org/astro-prometheus-node-integration/-/astro-prometheus-node-integration-2.0.0.tgz","fileCount":45,"unpackedSize":200452,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/astro-prometheus-node-integration@2.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIAm6G/jZo7gf0LQ5d0LKSSukDbelKUq7SALdy9xqAWEPAiAyE5JjPbXc8kiYyKnw/3s/xauNfg89BDiEG1Au9Utq5A=="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:998c6469-50f3-4f49-9935-e3cc9deff51f"}},"directories":{},"maintainers":[{"name":"dvelasquez","email":"danilo.velasquez@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/astro-prometheus-node-integration_2.0.0_1787552499055_0.6009315791739813"},"_hasShrinkwrap":false}},"time":{"created":"2025-04-25T06:58:00.407Z","modified":"2026-08-24T06:21:39.559Z","0.0.1":"2025-04-25T06:58:00.656Z","0.1.0":"2025-04-27T07:57:10.851Z","0.1.1":"2025-04-27T20:06:16.731Z","0.2.0":"2025-04-29T06:07:31.017Z","0.2.1":"2025-04-29T06:20:22.092Z","0.2.2":"2025-04-30T12:30:28.878Z","0.3.0":"2025-05-06T09:10:03.390Z","0.3.1":"2025-05-07T09:39:17.724Z","0.3.2":"2025-06-06T08:47:22.200Z","0.3.3":"2025-07-10T13:45:23.653Z","0.3.4":"2025-07-10T14:41:54.005Z","1.0.0":"2025-08-26T07:22:07.165Z","1.1.0":"2025-08-26T13:08:32.131Z","1.2.0":"2025-11-13T10:39:46.974Z","1.2.1":"2025-11-18T06:58:23.579Z","1.3.0":"2025-12-02T17:18:03.874Z","1.4.0":"2026-03-24T08:00:05.583Z","1.5.0":"2026-07-12T10:40:30.267Z","1.5.1":"2026-08-01T17:33:35.632Z","2.0.0":"2026-08-24T06:21:39.245Z"},"bugs":{"url":"https://github.com/dvelasquez/astro-prometheus-integration/issues"},"author":{"email":"danilo.velasquez@gmail.com","name":"Danilo Velasquez","url":"https://github.com/dvelasquez"},"license":"MIT","homepage":"https://github.com/dvelasquez/astro-prometheus-integration/tree/main/packages/astro-prometheus-node-integration#readme","keywords":["astro-integration","astro-component","withastro","astro","analytics","monitoring","prometheus","node"],"repository":{"type":"git","url":"https://github.com/dvelasquez/astro-prometheus-integration.git","directory":"packages/astro-prometheus-node-integration"},"description":"A prometheus integration for Astro.","maintainers":[{"name":"dvelasquez","email":"danilo.velasquez@gmail.com"}],"readme":"# Astro Prometheus Node Integration\n\n[![npm version](https://img.shields.io/npm/v/astro-prometheus-node-integration.svg)](https://www.npmjs.com/package/astro-prometheus-node-integration)\n\nAn [Astro integration](https://docs.astro.build/en/guides/integrations-guide/) that exposes [Prometheus](https://prometheus.io/) metrics for your Astro site running on Node.js. This integration provides out-of-the-box HTTP request metrics, including request counts and durations, and exposes them at a configurable endpoint for scraping by Prometheus.\n\n---\n\n## Features\n\n- **Automatic HTTP metrics**: Tracks request count, request duration, and server response duration.\n- **Outbound HTTP instrumentation**: Optionally capture latency and error metrics for all server-side HTTP/fetch calls.\n- **Customizable endpoint**: Expose metrics at any URL (default: `/metrics`).\n- **Prometheus/OpenMetrics support**: Choose the content type for your metrics endpoint.\n- **Custom labels and prefix**: Add global labels and prefix all metrics for multi-service setups.\n- **Zero-config defaults**: Works out of the box, but fully configurable.\n\n---\n\n## Compatibility\n\n| Package version | Astro | `@astrojs/node` | `prom-client` | Node.js |\n|---|---|---|---|---|\n| `>= 2.0.0` | `^5.0.0` \\| `^6.0.0` \\| `^7.0.0` | `^9.0.0` \\| `^10.0.0` \\| `^11.0.0` | `^15.0.0` (peer) | `>= 22` |\n| `1.3.0` – `1.5.x` | `^5.0.0` \\| `^6.0.0` \\| `^7.0.0` | `^9.0.0` \\| `^10.0.0` \\| `^11.0.0` | `15.x` (direct dependency) | `>= 22` |\n\nUpgrading from v1? See the [Migration guide (v1 → v2)](./MIGRATION.md).\n\n## Requirements\n\n- This integration requires the `@astrojs/node` adapter. Prometheus metrics require a persistent Node.js server process to aggregate and expose metrics.\n- `prom-client` is a **peer dependency**. Your app must install it so the integration, your application, and any other libraries share a single `prom-client` instance. `astro add` installs non-optional peers automatically.\n- **Not supported:** Serverless adapters (such as Vercel, Netlify, Cloudflare, etc.) are not compatible with this integration. In serverless environments, each request runs in isolation, so metrics cannot be aggregated across requests.\n\n> **Note:** If you deploy to a serverless platform, metrics will not be accurate or useful, as each request is handled by a separate, stateless server instance.\n\n---\n\n## Installation\n\n### Automatic (Recommended)\n\n`astro add` installs the integration, the adapter, and non-optional peer dependencies (including `prom-client`):\n\n```bash\npnpm astro add astro-prometheus-node-integration @astrojs/node\n# or\nnpx astro add astro-prometheus-node-integration @astrojs/node\n# or\nyarn astro add astro-prometheus-node-integration @astrojs/node\n```\n\n### Manual\n\n1. Install the packages (include `prom-client` so your app owns the shared instance):\n\n```bash\npnpm add astro-prometheus-node-integration @astrojs/node prom-client\n# or\nnpm install astro-prometheus-node-integration @astrojs/node prom-client\n# or\nyarn add astro-prometheus-node-integration @astrojs/node prom-client\n```\n\n2. Add the integration as the first one to your `astro.config.mjs` or `astro.config.mts`:\n\n```js\nimport { defineConfig } from \"astro/config\";\nimport node from \"@astrojs/node\";\nimport prometheusNodeIntegration from \"astro-prometheus-node-integration\";\n\nexport default defineConfig({\n  integrations: [\n    prometheusNodeIntegration(),\n  ],\n  adapter: node({\n    mode: \"standalone\",\n  }),\n});\n```\n\n### Single `prom-client` instance\n\n`prom-client` keeps process-wide state (default registry, cluster aggregation via `AggregatorRegistry`). Multiple physical copies of the package break that — especially with pnpm and Node.js `cluster`, where workers and the primary must share the same module instance.\n\nKeep one `prom-client` in your app dependencies, and avoid nested duplicates (for example with `pnpm.overrides` if another library pulls in its own copy).\n\nIf your Astro SSR bundle embeds `prom-client`, mark it external so Node resolves the app-owned copy:\n\n```js\nimport { defineConfig } from \"astro/config\";\nimport node from \"@astrojs/node\";\nimport prometheusNodeIntegration from \"astro-prometheus-node-integration\";\n\nexport default defineConfig({\n  integrations: [prometheusNodeIntegration()],\n  adapter: node({ mode: \"standalone\" }),\n  vite: {\n    ssr: {\n      external: [\"prom-client\"],\n    },\n  },\n});\n```\n\n---\n\n## Usage\n\n### Minimal Example\n\n```js\n// astro.config.mjs or astro.config.mts\nimport { defineConfig } from \"astro/config\";\nimport node from \"@astrojs/node\";\nimport prometheusNodeIntegration from \"astro-prometheus-node-integration\";\n\nexport default defineConfig({\n  integrations: [\n    prometheusNodeIntegration(),\n  ],\n  adapter: node({\n    mode: \"standalone\",\n  }),\n});\n```\n\n### Advanced Example\n\n```js\nimport { defineConfig } from \"astro/config\";\nimport node from \"@astrojs/node\";\nimport prometheusNodeIntegration from \"astro-prometheus-node-integration\";\n\nexport default defineConfig({\n  integrations: [\n    prometheusNodeIntegration({\n      enabled: true, // Enable/disable integration\n      metricsUrl: \"/metrics\", // URL for metrics endpoint\n      registerContentType: \"PROMETHEUS\", // or \"OPENMETRICS\"\n      collectDefaultMetricsConfig: {\n        prefix: \"myapp_\", // Prefix for all metrics\n        labels: {\n          env: \"production\",\n          version: \"1.0.0\",\n        },\n      },\n      histogramBuckets: {\n        inbound: [0.05, 0.1, 0.25, 0.5, 1, 2.5, 5, 10],  // Custom inbound buckets\n        outbound: [0.1, 0.5, 1, 2, 5, 10, 20, 50],       // Custom outbound buckets\n      },\n    }),\n  ],\n  adapter: node({\n    mode: \"standalone\",\n  }),\n});\n```\n\n---\n\n## Configuration Options\n\n| Option                      | Type      | Default        | Description                                                                                 |\n|-----------------------------|-----------|----------------|---------------------------------------------------------------------------------------------|\n| `enabled`                   | boolean   | `true`         | Enable or disable the integration. Useful for disabling in development.                      |\n| `metricsUrl`                | string    | `/metrics`     | The URL path where metrics are exposed.                                                      |\n| `registerContentType`       | string    | `PROMETHEUS`   | Content type for the metrics endpoint. Use `PROMETHEUS` or `OPENMETRICS`.                    |\n| `collectDefaultMetricsConfig` | object  | `{}`           | Configuration for [prom-client collectDefaultMetrics](https://github.com/siimon/prom-client#collectdefaultmetricsconfig). Supports `prefix`, `labels`, etc. |\n| `standaloneMetrics`         | object    | `{ enabled: false, port: 7080 }` | Expose metrics on a standalone HTTP server. If enabled, disables the default Astro route and starts a Node.js server on the specified port. |\n| `outboundRequests`          | object    | _disabled_     | Track outbound HTTP/fetch calls made by the Node process. Enable to collect latency, totals, and error counts for external requests. |\n| `histogramBuckets`          | object    | _not set_      | Custom histogram buckets for inbound and outbound metrics. If not provided, prom-client defaults `[0.005, 0.01, 0.025, 0.05, 0.1, 0.25, 0.5, 1, 2.5, 5, 10]` are used. |\n\n### `collectDefaultMetricsConfig` fields\n\n- `prefix` (string): Prefix for all metric names.\n- `labels` (object): Key-value pairs to add as default labels to all metrics.\n- `gcDurationBuckets` (number[]): Buckets for GC duration histogram.\n- `eventLoopMonitoringPrecision` (number): Precision for event loop monitoring.\n\n### `histogramBuckets` fields\n\n- `inbound` (number[]): Custom bucket boundaries for inbound HTTP metrics (`http_request_duration_seconds` and `http_server_duration_seconds`). Values are in seconds.\n- `outbound` (number[]): Custom bucket boundaries for outbound HTTP metrics (`http_response_duration_seconds`). Values are in seconds.\n\n**Default Behavior:** When `histogramBuckets` is not provided, the integration uses prom-client's default buckets: `[0.005, 0.01, 0.025, 0.05, 0.1, 0.25, 0.5, 1, 2.5, 5, 10]` seconds.\n\n**Why Customize Buckets?** The default buckets start at 5ms (`0.005` seconds), which may be too granular for server-side HTTP metrics. Customizing buckets allows you to:\n- Optimize for your application's typical latency ranges\n- Reduce memory overhead by using fewer, more relevant buckets\n- Improve query performance in Prometheus by having fewer bucket series\n\n**Example Configuration:**\n\n```js\nprometheusNodeIntegration({\n  histogramBuckets: {\n    inbound: [0.05, 0.1, 0.25, 0.5, 1, 2.5, 5, 10],  // Custom inbound buckets\n    outbound: [0.1, 0.5, 1, 2, 5, 10, 20, 50],      // Custom outbound buckets\n  },\n})\n```\n\n### `outboundRequests` fields\n\n- `enabled` (boolean): Set to `true` to start observing outbound HTTP client calls (requires Node.js 18.13+, recommended 22+).\n- `includeErrors` (boolean, default `true`): When `false`, failed requests still increment counters but are skipped by the latency histogram.\n- `labels.endpoint(context)` (function): Customize the `endpoint` label given a rich context (`entry`, resolved `URL`, method, host, status, and a default path).\n- `labels.app(context)` (function): Override the `app` label for each outbound request. Defaults to `\"astro\"`.\n- `shouldObserve(entry)` (function): Return `false` to filter specific performance entries (e.g. ignore health checks or third-party hosts).\n- All functions run inside the Node.js runtime, so you can safely reference environment variables or helper utilities.\n\n### Track outbound HTTP calls\n\n```js\nprometheusNodeIntegration({\n  outboundRequests: {\n    enabled: true,\n    includeErrors: false,\n    labels: {\n      endpoint: ({ defaultEndpoint }) =>\n        defaultEndpoint.replace(/\\/\\d+/g, \"/:id\"),\n      app: () => process.env.SERVICE_NAME ?? \"checkout\",\n    },\n    shouldObserve: (entry) => {\n      // Ignore health checks and internal telemetry calls\n      return !entry.name.includes(\"/health\");\n    },\n  },\n});\n```\n\nOnce enabled, the integration uses Node.js' `PerformanceObserver` to tap into Undici/fetch resource timings, so every outbound request made via `fetch`, `http`, or libraries built on top of them is recorded automatically without wrapping client code.\n\n### Experimental Features\n\n> **⚠️ Warning:** These features are experimental and may change in future releases. Use with caution in production environments.\n\n#### `experimental.useOptimizedTTLBMeasurement`\n\n**Type:** `boolean`  \n**Default:** `false`\n\nThis experimental feature allows you to choose between two different methods for measuring Time To Last Byte (TTLB) for streaming responses:\n\n- **`false` (default)**: Uses the legacy stream wrapping method that provides maximum accuracy but higher CPU usage due to stream processing overhead.\n\n- **`true`**: Uses the optimized async timing method that provides millisecond accuracy with minimal CPU overhead by deferring timing work and avoiding stream wrapping.\n\n**Use Cases:**\n\n- Set to `true` for high-concurrency applications where CPU efficiency is critical\n- Set to `false` when maximum timing accuracy is required and CPU usage is not a concern\n\n**Performance Impact:**\n\n- **Legacy method**: Higher accuracy, higher CPU usage, more memory overhead\n- **Optimized method**: Millisecond accuracy, lower CPU usage, minimal memory overhead\n\n**Example Configuration:**\n\n```js\nprometheusNodeIntegration({\n  experimental: {\n    useOptimizedTTLBMeasurement: true, // Enable optimized TTLB measurement\n  },\n}),\n```\n\n---\n\n## Custom Metrics Provided\n\nThe integration provides the following Prometheus metrics:\n\n| Metric Name                        | Type      | Labels (`method`, `path`, `status`) | Description                                                                                 |\n|-------------------------------------|-----------|-------------------------------------|---------------------------------------------------------------------------------------------|\n| `http_requests_total`               | Counter   | Yes                                 | Total number of HTTP requests received.                                                     |\n| `http_request_duration_seconds`     | Histogram | Yes                                 | Duration (in seconds) of server-side request processing (until response is ready to send).  |\n| `http_server_duration_seconds`      | Histogram | Yes                                 | Full server-side HTTP request duration, including response streaming (time to last byte).    |\n\n### Metric Details\n\n- **`http_requests_total`**\n  - **Type:** Counter\n  - **Labels:** `method`, `path`, `status`\n  - **Description:** Increments for every HTTP request received by the server.\n\n- **`http_request_duration_seconds`**\n  - **Type:** Histogram\n  - **Labels:** `method`, `path`, `status`\n  - **Description:** Measures the time taken to process a request on the server, including middleware and Astro frontmatter, until the response is ready to send or stream.\n  - **Buckets:** Uses `histogramBuckets.inbound` if configured, otherwise prom-client defaults.\n\n- **`http_server_duration_seconds`**\n  - **Type:** Histogram\n  - **Labels:** `method`, `path`, `status`\n  - **Description:** Measures the total time from request start to the last byte sent to the client (TTLB).\n  - **Buckets:** Uses `histogramBuckets.inbound` if configured, otherwise prom-client defaults.\n\nAll metrics can be prefixed and labeled globally using the `collectDefaultMetricsConfig` option.\n\n### TTLB Measurement Methods\n\nThe `http_server_duration_seconds` metric measures Time To Last Byte (TTLB) using different methods depending on your configuration:\n\n#### Legacy Stream Wrapping Method (Default)\n\n- **Accuracy**: Maximum precision (nanosecond level)\n- **CPU Usage**: Higher due to stream processing overhead\n- **Memory**: Additional overhead from stream wrapping\n- **Use Case**: When maximum timing accuracy is critical\n\n#### Optimized Async Timing Method (Experimental)\n\n- **Accuracy**: Millisecond precision (sufficient for most use cases)\n- **CPU Usage**: Minimal overhead using `setImmediate()` and deferred work\n- **Memory**: Minimal overhead, no stream wrapping\n- **Use Case**: High-concurrency applications where CPU efficiency matters\n\nThe optimized method is particularly beneficial for:\n\n- Applications handling thousands of concurrent requests\n- Microservices where resource efficiency is critical\n- Environments with limited CPU resources\n- Production deployments where performance is prioritized over maximum precision\n\n### Outbound HTTP Metrics (optional)\n\nWhen `outboundRequests.enabled` is `true`, the integration registers three additional metrics that mirror the counter/histogram set many teams already use when wrapping Undici:\n\n| Metric Name                     | Type      | Labels (`method`, `host`, `status`, `endpoint`, `app`) | Description |\n|---------------------------------|-----------|--------------------------------------------------------|-------------|\n| `http_responses_total`          | Counter   | Yes                                                    | Total number of outbound HTTP responses observed. |\n| `http_response_duration_seconds`| Histogram | Yes                                                    | Duration (seconds) from request start until the response completes. Buckets use `histogramBuckets.outbound` if configured, otherwise prom-client defaults. |\n| `http_response_error_total`     | Counter   | Yes + `error_reason`                                   | Total number of outbound responses that failed (status ≥ 400 or network error). |\n\nAll three metrics share a cached registry entry, respect global prefixes, and automatically deduplicate performance entries emitted by Node.js/Undici.\n\nExample Prometheus output (using the defaults and the test suite fixtures):\n\n```text\nhttp_responses_total{method=\"GET\",host=\"api.example.com\",status=\"200\",endpoint=\"/v1/users\",app=\"astro\"} 1\nhttp_response_duration_seconds_count{method=\"GET\",host=\"api.example.com\",status=\"200\",endpoint=\"/v1/users\",app=\"astro\"} 1\nhttp_response_duration_seconds_sum{method=\"GET\",host=\"api.example.com\",status=\"200\",endpoint=\"/v1/users\",app=\"astro\"} 0.15\nhttp_response_error_total{method=\"POST\",host=\"api.example.com\",status=\"500\",endpoint=\"/v1/orders/:id\",app=\"checkout\",error_reason=\"Internal Server Error\"} 1\n```\n\n---\n\n## Metrics Endpoint\n\n- The metrics are exposed at the URL specified by `metricsUrl` (default: `/metrics`).\n- The endpoint returns metrics in Prometheus or OpenMetrics format, depending on the `registerContentType` option.\n- Example:\n  - [http://localhost:4321/metrics](http://localhost:4321/metrics)\n\n---\n\n## Standalone Metrics Server (New Feature)\n\nSome organizations require exposing Prometheus metrics on a separate port, not on the main Astro application port. This integration supports this via the `standaloneMetrics` option.\n\n### How It Works\n\n- If `standaloneMetrics.enabled` is `true`, the integration will **not** inject the `/metrics` route into your Astro app.\n- Instead, it will start a standalone HTTP server (using Node.js) on the configured port (default: `7080`).\n- The metrics will be available at `http://<host>:<port>/metrics` (e.g., `http://localhost:7080/metrics`).\n- This is useful for keeping metrics endpoints internal and not exposed to the public internet.\n\n### Configuration Example\n\n```js\nimport { defineConfig } from \"astro/config\";\nimport node from \"@astrojs/node\";\nimport prometheusNodeIntegration from \"astro-prometheus-node-integration\";\n\nexport default defineConfig({\n  integrations: [\n    prometheusNodeIntegration({\n      metricsUrl: \"/_/metrics\",  // Metrics URL is also configurable in this mode\n      standaloneMetrics: {\n        enabled: true, // Enable standalone metrics server\n        port: 8080,    // (Optional) Port for the metrics server (default: 7080)\n      },\n    }),\n  ],\n  adapter: node({\n    mode: \"standalone\",\n  }),\n});\n```\n\n- To disable the standalone server and use the default Astro route, set `standaloneMetrics.enabled: false` (or omit the option).\n- When enabled, the `/metrics` endpoint will **not** be available on your main Astro app port.\n\n---\n\n## Contributing\n\nThis project is a monorepo:\n\n- `playground/`: Example Astro app for testing the integration.\n- `packages/astro-prometheus-node-integration/`: The integration source code.\n\n### Setup\n\n```bash\npnpm install --frozen-lockfile\npnpm node-integration:dev\npnpm playground:dev\n```\n\n- Edit files in `packages/astro-prometheus-node-integration/`.\n- The playground will reload on changes.\n\n---\n\n## License\n\n[MIT Licensed](https://github.com/dvelasquez/astro-prometheus-integration/blob/main/LICENSE). Made with ❤️ by [Danilo Velasquez](https://d13z.dev/).\n\n## Acknowledgements\n\n- Built with [astro-integration-template](https://github.com/florian-lefebvre/astro-integration-template).\n- Uses [prom-client](https://github.com/siimon/prom-client) for metrics collection.\n","readmeFilename":""}