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
hashicorp avatar

hashicorp/go-metrics

0
View on GitHub↗
1,574 stars·187 forks·Go·MIT·13 views

Go Metrics

This library provides a toolkit for instrumenting Go applications to track performance data, including counters, gauges, and timers. It serves as a centralized facility for collecting, storing, and exporting runtime metrics to external monitoring and telemetry platforms.

The project distinguishes itself through a pluggable architecture that decouples application instrumentation from specific output formats. It manages metric data through a registry that supports concurrent updates and provides granular control over data volume by filtering metric labels before transmission. To support operational analysis, the library includes background routines for periodic reporting and signal-based handlers that output diagnostic snapshots for immediate troubleshooting.

The instrumentation surface covers a range of observability needs, from basic performance monitoring to the management of metric cardinality in distributed systems. It is designed to integrate with various external monitoring services through modular sink drivers.

Features

  • Instrumentation Libraries - Provides a library for instrumenting Go applications to record performance data and export metrics to external platforms.
  • Application Observability - Provides a toolkit for tracking performance metrics to identify bottlenecks within application logic.
  • Application Performance Monitoring - Records counters, gauges, and timers to identify runtime bottlenecks and track application health.
  • Metric Label Filters - Filters metric labels against allow or block lists to manage data volume before transmission to external systems.
  • Application Metrics Collection - Offers a unified interface to gather performance and runtime data from application code for consistent observability.
  • Ingestion Label Filters - Restricts specific labels in exported data using allow or block lists to manage metric cardinality.
  • Interface-Driven Abstraction - Provides shared interfaces for metric types to decouple application instrumentation from specific underlying implementations.
  • Pluggable Input-Output Architectures - Implements a modular architecture that decouples instrumentation from output formats via pluggable sink drivers.
  • Distributed Observability Systems - Collects and exports internal application metrics to telemetry platforms for consistent monitoring across distributed infrastructure.
  • Metric Registries - Maintains a centralized in-memory registry for concurrent metric storage and atomic updates.
  • Periodic Metric Polling - Executes background routines to periodically flush accumulated metric data to external sinks at fixed intervals.
  • Observability Metrics Exporters - Supports transmitting collected performance data to third-party monitoring and telemetry platforms for long-term analysis.
  • Cardinality Controls - Manages metric cardinality by filtering and controlling the volume of exported labels to prevent data bloat.

Star history

Star history chart for hashicorp/go-metricsStar history chart for hashicorp/go-metrics

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

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

Frequently asked questions

What does hashicorp/go-metrics do?

This library provides a toolkit for instrumenting Go applications to track performance data, including counters, gauges, and timers. It serves as a centralized facility for collecting, storing, and exporting runtime metrics to external monitoring and telemetry platforms.

What are the main features of hashicorp/go-metrics?

The main features of hashicorp/go-metrics are: Instrumentation Libraries, Application Observability, Application Performance Monitoring, Metric Label Filters, Application Metrics Collection, Ingestion Label Filters, Interface-Driven Abstraction, Pluggable Input-Output Architectures.

What are some open-source alternatives to hashicorp/go-metrics?

Open-source alternatives to hashicorp/go-metrics include: rcrowley/go-metrics — This library provides a toolkit for instrumenting Go applications with performance metrics, enabling the tracking of… roadrunner-server/roadrunner — RoadRunner is a high-performance application server and process manager designed to serve PHP applications using a… metrics-rs/metrics — This project is a unified observability framework for Rust applications, designed to capture, aggregate, and report… quarkusio/quarkus — Quarkus is a Kubernetes-native Java framework designed for building high-performance, memory-efficient applications.… census-instrumentation/opencensus-go — OpenCensus-go is an observability instrumentation library designed to capture and export telemetry data from… igorkasyanchuk/rails_performance — This project is a self-hosted application performance monitoring tool designed for Ruby on Rails environments. It…

Curated searches featuring Go Metrics

Hand-picked collections where Go Metrics appears.
  • Go Metrics Libraries

Open-source alternatives to Go Metrics

Similar open-source projects, ranked by how many features they share with Go Metrics.
  • rcrowley/go-metricsrcrowley avatar

    rcrowley/go-metrics

    3,466View on GitHub↗

    This library provides a toolkit for instrumenting Go applications with performance metrics, enabling the tracking of counters, gauges, and timers. It serves as a foundational framework for recording application behavior and resource usage, offering thread-safe primitives to manage the lifecycle of these instruments within a central registry. The system distinguishes itself through a high-performance design that utilizes atomic operations to track event frequencies, avoiding the overhead of mutex locks during execution. It employs snapshot-based sampling to capture point-in-time data, ensuring

    Go
    View on GitHub↗3,466
  • roadrunner-server/roadrunnerroadrunner-server avatar

    roadrunner-server/roadrunner

    8,473View on GitHub↗

    RoadRunner is a high-performance application server and process manager designed to serve PHP applications using a persistent worker model. It eliminates bootload overhead and initialization time by keeping application processes alive between requests, acting as a protocol-agnostic proxy that routes traffic to a pool of supervised workers. The server is built with a plugin-based modular architecture, allowing it to be extended with custom Go plugins and compiled into tailored binaries. It distinguishes itself by providing a unified execution model for a wide array of communication protocols,

    Goapplication-servergolanghacktoberfest
    View on GitHub↗8,473
  • metrics-rs/metricsmetrics-rs avatar

    metrics-rs/metrics

    1,422View on GitHub↗

    This project is a unified observability framework for Rust applications, designed to capture, aggregate, and report performance telemetry. It provides a comprehensive toolkit for instrumenting code to track counters, gauges, and histograms, enabling developers to monitor application health and operational performance through a standardized interface. The library distinguishes itself by decoupling instrumentation sites from specific backend implementations through a global registry and trait-based abstractions. This architecture allows developers to swap telemetry exporters at runtime without

    Rustmetricsrust-langtelemetry
    View on GitHub↗1,422
  • quarkusio/quarkusquarkusio avatar

    quarkusio/quarkus

    15,479View on GitHub↗

    Quarkus is a Kubernetes-native Java framework designed for building high-performance, memory-efficient applications. It utilizes ahead-of-time native compilation to transform Java code into standalone, optimized binaries that eliminate the need for a virtual machine, enabling rapid startup and reduced memory consumption. By performing code augmentation during the build phase, it shifts heavy processing tasks away from runtime, ensuring that applications are optimized for cloud-native environments. The framework distinguishes itself through a unified approach to reactive and imperative program

    Javacloud-nativehacktoberfestjava
    View on GitHub↗15,479
  • See all 30 alternatives to Go Metrics→