{"repo":"tdeekens/promster","free":true,"listed":false,"github":"https://github.com/tdeekens/promster","clone":"git clone https://github.com/tdeekens/promster.git","description":"⏰A Prometheus exporter for Hapi, express, Apollo, undici and Marble.js servers to automatically measure request timings 📊","language":"TypeScript","stars":227,"topics":["hapi","express","javascript","prometheus","monitoring","devops","hacktoberfest"],"license":"MIT","category":"analytics","readme_excerpt":"⏰ Promster - Measure metrics from Hapi, express, Marble.js, Apollo or Fastify servers with Prometheus 🚦 Promster is a Prometheus Exporter for Node.js servers written for Express, Hapi, Marble.js, Apollo or Fastify. ❤️ Hapi · Express · Marble.js · Fastify · Apollo · TypeScript · Vitest · oxlint · Changesets · Prometheus 🙏 Table of Contents - Why another Prometheus exporter? - Package Status - Installation - Getting Started - Express - Fastify - Hapi - Marble.js - Apollo - Undici - Metrics Server - Exposing metrics via your own server - Configuration - Options - Customizing buckets and percentiles - Custom label values - Request recorder - Up/Down signals - Metrics Reference - Garbage Collection - HTTP Timings - GraphQL Timings - Example PromQL Queries ❯ Why another Prometheus exporter for Express and Hapi? These packages are a combination of observations and experiences I have had with other exporters which I tried to fix. 1. 🏎 Use process.hrtime.bigint() for high-resolution real time in metrics in seconds (converting from nanoseconds) - process.hrtime.bigint() calls libuv's uv hrtime , without system call like new Date 2. ⚔️ Allow normalization of all pre-defined label values 3. 🖥 Expose Garbage Collection among other metric of the Node.js process by default 4. 🚨 Expose a built-in server to expose metrics quickly (on a different port) while also allowing users to integrate with existing servers 5. 📊 Define two metrics one histogram for buckets and a summary for percenti","default_branch":null,"files":null,"tree":[],"storefront":"/r/tdeekens","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/tdeekens/promster/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}