A Go library for collecting and exporting Go runtime metrics to InfluxDB or via Telegraf.
go-runtime-metrics is a Go library that collects and exports runtime metrics from Go applications to InfluxDB or via Telegraf. It helps developers monitor application performance by tracking memory usage, garbage collection, goroutines, and CPU statistics. The library provides both push and pull mechanisms for metric collection, integrating seamlessly with time-series databases and visualization tools.
Go developers and DevOps engineers who need to monitor the performance and health of Go applications in production or development environments.
Developers choose go-runtime-metrics for its lightweight design, efficient performance compared to standard library alternatives, and seamless integration with InfluxDB and Telegraf. It offers comprehensive runtime metrics with minimal overhead, making it ideal for real-time monitoring and visualization.
Collect golang runtime metrics, pushing to InfluxDB or pulling with Telegraf
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Benchmarks show it's lighter and faster than the standard library's memstat expvar, with reduced memory allocations and operation times as demonstrated in the README.
Collects a wide range of Go runtime stats including CPU, memory, GC, goroutines, and extra metrics like cpu.cgo_calls and mem.gc.pause, providing detailed insights.
Works seamlessly with Telegraf's InfluxDB input plugin for pull-based collection, with minimal configuration needed as outlined in the README.
Includes a pre-built Grafana dashboard for visualization, making it easy to set up monitoring dashboards without starting from scratch.
Tightly coupled with InfluxDB and Telegraf, making it unsuitable for projects using other monitoring systems like Prometheus without additional adapters.
Limited to Go runtime metrics; does not allow adding application-specific metrics, requiring separate tools for full monitoring coverage.
Requires setup of Telegraf or InfluxDB servers, which adds complexity compared to simpler, standalone metric exporters.