awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
prometheus avatar

prometheus/client_js

0
View on GitHub↗

Client Js

This is a Prometheus client library for Node.js (published as prom-client). It lets an application define counters, gauges, histograms and summaries, attach labels to them, and expose the results in the Prometheus text or OpenMetrics format for a Prometheus server to scrape. It also ships type declarations, so editors can offer autocompletion and compile-time checks.

Beyond the basic metric types, it collects default process and runtime measurements, including event loop lag, garbage collection activity, and heap and system memory usage. It can merge metrics from cluster workers or worker threads into a single scrape result, with a configurable aggregation method per metric, and flush a stopping worker's latest values so they are not lost. Short-lived or batch jobs can push, replace or delete metrics on a Pushgateway. Exemplars carrying trace and span identifiers, along with a link to the OpenTelemetry API, let samples be correlated with distributed traces.

Metrics are held in registries. These can be the global one or custom ones, and they can be merged, reset, given default labels, or rebuilt from exported data. Custom metrics can refresh their values through a function that runs at scrape time. Histograms can generate linear or exponential buckets automatically, and summaries estimate quantiles with a streaming digest rather than storing every observation. Metrics can also be exported as plain objects or JSON, and the repository includes benchmark scripts for measuring instrumentation overhead.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Features

  • Prometheus Client Libraries - Provides counters, gauges, histograms and summaries for instrumenting Node.js applications so a Prometheus server can scrape their metrics.
  • Prometheus Metrics Exporters - Instruments Node.js applications with counters, gauges, histograms and summaries that a Prometheus server can scrape over HTTP.
  • Node.js Resource Monitoring - Tracks event loop lag, heap and system memory, garbage collection and other process-level signals to catch resource problems early.
  • Default Runtime Metrics Collectors - Gathers recommended process and runtime measurements such as event loop lag, active handles, garbage collection and version info on every scrape.
  • Metrics Text Renderers - Renders all registered metrics as plain text in Prometheus or OpenMetrics format and supplies the matching content type for HTTP responses.
  • Multi-Process Metric Aggregation - Combines measurements from cluster workers or worker threads into one scrape output so a multi-process service reports a single view.
  • Monotonic Counter Metrics - Provides counters that only increase and reset on process restart, incremented per event so rates and totals can be scraped.
  • Node.js Runtime Metrics Collectors - Collects default Node.js process and runtime measurements including event loop lag, heap and memory usage, active handles and garbage collection activity.
  • Custom Metric Definitions - Lets applications define counters, gauges, histograms and summaries with names and help text, and refresh values through a collect function at scrape time.
  • Value Distribution Histograms - Records observations into histograms with configurable buckets or summaries with sliding-window quantiles to analyse latency and size distributions.
  • Streaming Quantile Summaries - Estimates summary quantiles over a sliding window using a streaming digest, so distributions are reported without storing every observation.
  • Event Loop Lag Monitors - Measures event loop lag and busy time to reveal responsiveness problems in the running application.
  • Gauge Metric Tracking - Provides gauges whose value can be set, raised or lowered freely, such as memory use or queue size, with the latest reading exposed for scraping.
  • OpenMetrics Endpoints - Renders registered metrics in Prometheus text or OpenMetrics format with matching content types for HTTP response headers.
  • Heap Memory Monitoring - Reports total and used heap size, heap breakdowns by memory space and system memory so growth and pressure can be watched.
  • Pull-Based Metric Scraping - Renders current metric values on demand so a Prometheus server can pull them periodically over HTTP.
  • Metric Exemplar Correlations - Attaches exemplars with trace and span identifiers to counter and histogram samples so OpenMetrics output links to distributed traces.
  • Metric Label Dimensions - Lets users declare label names and attach values by object, chained call or position, including timers whose labels are completed after start.
  • Cluster Worker Metric Merging - Combines metrics from all cluster workers or worker threads into one scrape result with a configurable aggregation method per metric.
  • Multi-Process Metric Aggregators - Merges metrics from Node.js cluster workers and worker threads into one scrape result with a configurable aggregation method per metric.
  • Pushgateway Clients - Includes a client that pushes, replaces or deletes metrics on a Pushgateway so short-lived and batch jobs can still report data.
  • Metric Registries - Registers metrics into the global registry or separate custom registries so groups of metrics can be organised and served together from one endpoint.
  • Push Gateways - Sends, overwrites or deletes metrics on a Pushgateway for short-lived jobs, with support for groupings, custom request options and gateways needing no job name.
3,500 stars·433 forks·JavaScript·Apache-2.0·0 views

Star history

Star history chart for prometheus/client_jsStar history chart for prometheus/client_js

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

Frequently asked questions

What does prometheus/client_js do?

This is a Prometheus client library for Node.js (published as prom-client). It lets an application define counters, gauges, histograms and summaries, attach labels to them, and expose the results in the Prometheus text or OpenMetrics format for a Prometheus server to scrape. It also ships type declarations, so editors can offer autocompletion and compile-time checks.

What are the main features of prometheus/client_js?

The main features of prometheus/client_js are: Prometheus Client Libraries, Prometheus Metrics Exporters, Node.js Resource Monitoring, Default Runtime Metrics Collectors, Metrics Text Renderers, Multi-Process Metric Aggregation, Monotonic Counter Metrics, Node.js Runtime Metrics Collectors.

Which projects share features with prometheus/client_js?

Projects with overlapping indexed features include: prometheus/client_java — This library provides a framework for instrumenting Java applications to track performance and system-level… tikv/rust-prometheus — This library is an instrumentation framework for Rust applications designed to record and expose performance metrics… prometheus/client_python — This is a Prometheus Python client library used for instrumenting Python applications. It provides the tools necessary… uptrace/uptrace — Uptrace is an OpenTelemetry-based observability platform designed to collect, store, and analyze distributed traces,… vectordotdev/vector — Vector is a high-performance observability data pipeline designed to collect, transform, and route logs, metrics, and… nginx/kubernetes-ingress — The NGINX Ingress Controller is a Kubernetes-native traffic manager that handles external requests and routes them to…

Projects sharing features with Client Js

These projects share indexed features with Client Js. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • prometheus/client_javaprometheus avatar

    prometheus/client_java

    2,277View on GitHub↗

    This library provides a framework for instrumenting Java applications to track performance and system-level statistics. It enables the definition and collection of metrics such as counters, gauges, and histograms, while automatically capturing runtime health indicators like memory usage, thread activity, and garbage collection performance. The project distinguishes itself through a registry-based aggregation model that decouples metric recording from data exposition. It supports thread-safe atomic instrumentation for high-frequency data collection and offers flexible export mechanisms, includ

    Javainstrumentationjavametrics
    View on GitHub↗2,277
  • tikv/rust-prometheustikv avatar

    tikv/rust-prometheus

    1,176View on GitHub↗

    This library is an instrumentation framework for Rust applications designed to record and expose performance metrics compatible with the Prometheus monitoring system. It provides tools for tracking custom application state and host-level system resource usage, such as CPU and memory consumption, to ensure operational visibility. The framework is built for high-throughput environments, utilizing thread-local storage and atomic operations to minimize synchronization overhead during data collection. It leverages compile-time metric definitions and static typing to eliminate dynamic lookups, ensu

    Rust
    View on GitHub↗1,176
  • prometheus/client_pythonprometheus avatar

    prometheus/client_python

    4,333View on GitHub↗

    This is a Prometheus Python client library used for instrumenting Python applications. It provides the tools necessary to record counters, gauges, and histograms within a process to monitor application health and expose that data as a Prometheus exposition format provider. The library enables cloud native observability by allowing developers to define custom telemetry and track internal application events. It transforms internal application data into a standardized text format required by Prometheus scrapers for collection. The project covers a variety of monitoring and observability capabil

    Pythoninstrumentationmetricsprometheus
    View on GitHub↗4,333
  • uptrace/uptraceuptrace avatar

    uptrace/uptrace

    4,311View on GitHub↗

    Uptrace is an OpenTelemetry-based observability platform designed to collect, store, and analyze distributed traces, metrics, and logs. It functions as a centralized logging backend, a distributed tracing system, and a metrics engine to monitor application performance and system health. The platform is distinguished by AI-powered operational capabilities, allowing users to query telemetry data and manage monitoring dashboards using natural language. It specifically includes specialized monitoring for generative AI pipelines, tracking token usage and response quality for LLM interactions and r

    Goapmapplication-monitoringclickhouse
    View on GitHub↗4,311
Compare all 30 related projects→