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

Java Metrics Libraries

Ranking updated Jul 13, 2026

For a java library for application metrics, the strongest matches are micrometer-metrics/micrometer (Micrometer is the industry-standard Java metrics facade that provides), prometheus/client_java (This is the official Java client library for Prometheus) and dropwizard/metrics (This library provides a robust toolkit for instrumenting Java). openzipkin/zipkin and open-telemetry/opentelemetry-specification round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.

We curate open-source GitHub repositories matching “best java metrics libraries”. Results are ranked by relevance to your query — pick filters below to narrow, or refine with AI.

Java Metrics Libraries

Find the best repos with AI.We'll search the best matching repositories with AI.
  • micrometer-metrics/micrometermicrometer-metrics avatar

    micrometer-metrics/micrometer

    4,850View on GitHub↗

    Micrometer is a dimensional metrics library and application metrics facade that provides a vendor-neutral interface for recording performance data. It decouples application instrumentation from specific observability backends, allowing the recording of counters, gauges, and timers using key-value tags for granular analysis. The project features a system of backend adapters that transform and route instrumented data to various external monitoring tools. This includes name normalization to ensure portability across different monitoring systems and the ability to map dimensional data to hierarch

    Micrometer is the industry-standard Java metrics facade that provides low-overhead instrumentation, built-in JVM monitoring, and native support for exporting to Prometheus and various other time-series backends.

    JavaJVM Metrics Collectors
    View on GitHub↗4,850
  • 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

    This is the official Java client library for Prometheus, providing the core instrumentation, JVM monitoring, and custom metric types required to collect and export performance data for time-series analysis.

    JavaDistributed TracingPrometheus Client Libraries
    View on GitHub↗2,277
  • dropwizard/metricsdropwizard avatar

    dropwizard/metrics

    7,845View on GitHub↗

    This project is an application performance monitoring tool and JVM metrics library designed to measure workload behavior and export performance data to external monitoring databases. It serves as an instrumentation toolkit for tracking resource usage and internal runtime behavior within a Java execution environment. The system focuses on application performance measurement and JVM application monitoring, specifically tracking system health and runtime resource analysis to identify bottlenecks and stability issues. It provides a mechanism for external metrics export, sending captured data to t

    This library provides a robust toolkit for instrumenting Java applications to track JVM performance and custom metrics, serving as a foundational component for exporting data to monitoring systems.

    JavaApplication Performance MonitoringGlobal Metric RegistriesJVM Application Monitoring
    View on GitHub↗7,845
  • openzipkin/zipkinopenzipkin avatar

    openzipkin/zipkin

    17,431View on GitHub↗

    Zipkin is an open-source distributed tracing system designed to collect, store, and visualize timing data across complex service architectures. It provides a platform for monitoring request lifecycles, enabling developers to identify latency bottlenecks and performance issues by tracking operations as they move through heterogeneous service environments. The system distinguishes itself through a standardized data model and a pluggable storage architecture that supports various backend databases. It utilizes sampling strategies to manage telemetry volume and employs asynchronous collection met

    Zipkin is a distributed tracing system focused on request lifecycles and latency bottlenecks, which is a neighbouring observability category rather than a library for collecting and aggregating general application performance metrics.

    JavaAsynchronous TelemetryDistributed TracingDistributed Tracing Instrumentation
    View on GitHub↗17,431
  • open-telemetry/opentelemetry-specificationopen-telemetry avatar

    open-telemetry/opentelemetry-specification

    4,267View on GitHub↗

    This repository contains the specifications for a standardized observability data standard and telemetry instrumentation framework. It defines unified protocols for how telemetry data is instrumented, propagated, and formatted to ensure interoperability across distributed systems. The specification provides a vendor-neutral approach to observability, allowing telemetry data to be exported to various backends without locking into a single provider or requiring changes to application source code. It establishes a consistent protocol for capturing request flows across service boundaries to corre

    This repository provides the technical specifications and standards for observability rather than a functional Java library or framework that you can implement to collect and export metrics.

    MakefileDistributed TracingDistributed Tracing
    View on GitHub↗4,267
  • open-telemetry/opentelemetry-goopen-telemetry avatar

    open-telemetry/opentelemetry-go

    6,434View on GitHub↗

    OpenTelemetry Go is a framework for generating and collecting distributed traces, metrics, and logs from Go applications. It provides a standardized telemetry instrumentation API for adding observability markers to code and a corresponding SDK for processing and emitting these signals. The project utilizes a configurable observability pipeline to sample and export telemetry data to external backends using the OTLP wire protocol. It features a pluggable export system and a separation between the public API and the SDK implementation, allowing telemetry to be routed to third-party platforms wit

    This is a Go-based observability framework, which does not meet the requirement for a Java-based metrics library.

    GoDistributed TracingDistributed Tracing
    View on GitHub↗6,434
  • jaegertracing/jaegerjaegertracing avatar

    jaegertracing/jaeger

    22,890View on GitHub↗

    Jaeger is a distributed tracing platform used for collecting, storing, and visualizing request flows across microservices. It identifies performance bottlenecks and errors by tracking requests as they move through multiple service boundaries. The system includes telemetry collectors, a multi-tenant backend, and a trace visualizer. The platform provides a multi-tenant tracing infrastructure that isolates data and queries by tenant to support shared environments. It supports standardized telemetry ingestion via the OpenTelemetry Protocol over gRPC and HTTP. To manage storage costs and overhead,

    Jaeger is a distributed tracing platform focused on request flow visualization rather than the general-purpose application metrics collection and aggregation library requested.

    GoDistributed TracingDistributed Tracing
    View on GitHub↗22,890
  • getsentry/sentrygetsentry avatar

    getsentry/sentry

    44,108View on GitHub↗

    This project is a comprehensive software observability suite and application performance monitoring platform designed to track runtime errors, performance bottlenecks, and system health. It functions as a centralized diagnostic service that aggregates and categorizes exceptions, providing the infrastructure necessary to visualize complex execution paths across distributed systems and microservices. The platform distinguishes itself through a high-throughput distributed event ingestion pipeline and a columnar storage analytics engine that enables rapid aggregation of large-scale performance me

    Sentry is a comprehensive, standalone observability platform and diagnostic service rather than a Java-based library or framework that you would integrate into your application to collect and export metrics.

    PythonDistributed TracingDistributed Tracing
    View on GitHub↗44,108
  • open-telemetry/opentelemetry-demoopen-telemetry avatar

    open-telemetry/opentelemetry-demo

    2,906View on GitHub↗

    This project is an OpenTelemetry reference implementation and distributed microservices environment used to demonstrate the collection and export of traces, metrics, and logs. It serves as a telemetry pipeline showcase and a polyglot instrumentation example, providing a sandbox for practicing distributed tracing and monitoring within a Kubernetes cluster. The system features a polyglot architecture to demonstrate consistent, vendor-neutral telemetry implementation across multiple programming languages. It includes a simulated environment for testing telemetry interoperability and troubleshoot

    This repository is a demonstration environment and reference implementation for observability rather than a library or framework you can integrate into your own Java application to collect and export metrics.

    TypeScriptDistributed TracingDistributed Tracing
    View on GitHub↗2,906
  • statsd/statsdstatsd avatar

    statsd/statsd

    18,046View on GitHub↗

    StatsD is a metrics aggregator and UDP collection server that collects system counters and timers. It functions as a time-series data forwarder, receiving high-frequency metric updates via a lightweight line protocol and summarizing them before flushing the data to a backend. The project features a pluggable metrics backend framework, allowing aggregated statistics to be routed to various third-party monitoring services or time-series databases such as Graphite. It supports horizontal scaling and high availability through a proxy ring distribution system that forwards incoming packets across

    This is a language-agnostic metrics aggregation server rather than a Java-based library or framework, meaning it functions as a separate infrastructure component you would deploy alongside your application rather than integrating directly into your Java code.

    JavaScriptGauge ObserversLatency HistogramsServer Metrics
    View on GitHub↗18,046
  • grpc-ecosystem/grpc-springgrpc-ecosystem avatar

    grpc-ecosystem/grpc-spring

    3,706View on GitHub↗

    grpc-spring is a framework for integrating gRPC servers and clients into Spring applications. It provides a suite of tools for managing the lifecycle of remote procedure call servers, automating client stub injection, and implementing request interception within a Java environment. The project enables high-performance remote procedure call communication through annotation-driven service registration and automatic configuration of client stubs. It includes a specialized interceptor library for modifying requests and responses, as well as a telemetry tool for exporting performance metrics and d

    This is a gRPC integration framework for Spring that includes telemetry capabilities as a secondary feature, rather than a dedicated library for general-purpose application performance metrics collection and aggregation.

    JavaDistributed TracingDistributed Tracing InstrumentationServer Metrics
    View on GitHub↗3,706
  • dapr/daprdapr avatar

    dapr/dapr

    25,510View on GitHub↗

    Dapr is a distributed application runtime that provides a sidecar-based infrastructure layer for building resilient microservices and event-driven applications. By utilizing a sidecar proxy pattern, it abstracts complex infrastructure tasks into standardized, network-accessible APIs, allowing developers to focus on application logic while the runtime handles service discovery, state management, and secure communication. The platform distinguishes itself through a pluggable component architecture and language-agnostic design, enabling services written in any programming language to interact wi

    Dapr is a distributed application runtime and sidecar proxy that provides observability features as part of its infrastructure layer, but it is not a Java-specific metrics library for application-level instrumentation.

    GoDistributed TracingDistributed Tracing
    View on GitHub↗25,510
Compare the top 10 at a glance
RepositoryStarsLanguageLicenseLast push
micrometer-metrics/micrometer4.9KJavaApache-2.0Jun 17, 2026
prometheus/client_java2.3KJavaApache-2.0Jun 23, 2026
dropwizard/metrics7.8KJavaApache-2.0Jun 15, 2026
openzipkin/zipkin17.4KJavaApache-2.0Apr 8, 2026
open-telemetry/opentelemetry-specification4.3KMakefileApache-2.0Jun 22, 2026
open-telemetry/opentelemetry-go6.4KGoApache-2.0Jun 22, 2026
jaegertracing/jaeger22.9KGoApache-2.0Jun 16, 2026
getsentry/sentry44.1KPythonNOASSERTIONJun 16, 2026
open-telemetry/opentelemetry-demo2.9KTypeScriptapache-2.0Feb 20, 2026
statsd/statsd18KJavaScriptMITMay 20, 2025

Related searches

  • a metrics collection library for Go
  • a library for collecting C# application metrics
  • a library for collecting Rust application metrics
  • a logging framework for Java applications
  • a library for managing Java application configuration
  • a time series database for metrics
  • a caching library for Java applications
  • a java library for making http requests