Show HN: Goroutine Monitor Powered by eBPF
gmon is a monitoring tool for Go programs that tracks goroutine activity, requires amd64 architecture and Linux Kernel 5.8+, and exposes metrics in OpenMetrics format with configurable command-line options.
Read original articlegmon is a monitoring tool for Go programs that tracks the creation and destruction of goroutines. It is built for amd64 architecture and requires a Linux Kernel version of 5.8 or higher, utilizing BPF ring buffers for its functionality. Users can run gmon with various command-line options, including setting log levels, specifying the executable file to monitor, and configuring ports for metrics and pprof servers. The tool logs goroutine creation events to stdout, providing stack traces for each event. Additionally, gmon exposes metrics in OpenMetrics format through a dedicated endpoint, tracking metrics such as goroutine creation, exit, and uptime. For development, users can build and test the tool using provided scripts, with options to install the binary to specific directories. A demo is also available in the repository for users to explore its capabilities further.
- gmon monitors goroutine activity in Go programs.
- It requires amd64 architecture and Linux Kernel 5.8 or higher.
- Users can configure various command-line options for monitoring.
- Metrics are exposed in OpenMetrics format on a dedicated endpoint.
- Development and testing can be done using provided scripts.
Related
Below: A time travelling resource monitoring tool
Facebook's resource control team introduces "below," a new Linux system monitoring tool addressing existing tool deficiencies. It offers user-friendly features, historical data recording, process navigation, and compatibility across kernels.
Show HN: I made simple and cheap log monitoring
Monitro.dev is a log monitoring service for developers, offering real-time notifications, an admin dashboard, multi-project support, and a lightweight NPM package, priced at $7 per month.
Show HN: Monogo – Evolve your go workspace to a real monorepo
Monogo is a CLI tool for managing Go workspace monorepos, facilitating dependency management, code formatting, and testing. It offers various commands and flags to enhance functionality for developers.
Show HN: Shed Light on Your Go Binary Bloat with Go Size Analyzer
The go-size-analyzer is a GitHub tool for analyzing compiled Go binaries, offering detailed size breakdowns, multiple output formats, and both web and terminal interfaces. It encourages contributions and is AGPL-3.0 licensed.
Telemetry in Go 1.23 and Beyond
Go 1.23 introduces optional telemetry for sharing toolchain usage data, enhancing bug identification and reliability. Participation has increased through the VS Code Go plugin, with future expansions planned.
Related
Below: A time travelling resource monitoring tool
Facebook's resource control team introduces "below," a new Linux system monitoring tool addressing existing tool deficiencies. It offers user-friendly features, historical data recording, process navigation, and compatibility across kernels.
Show HN: I made simple and cheap log monitoring
Monitro.dev is a log monitoring service for developers, offering real-time notifications, an admin dashboard, multi-project support, and a lightweight NPM package, priced at $7 per month.
Show HN: Monogo – Evolve your go workspace to a real monorepo
Monogo is a CLI tool for managing Go workspace monorepos, facilitating dependency management, code formatting, and testing. It offers various commands and flags to enhance functionality for developers.
Show HN: Shed Light on Your Go Binary Bloat with Go Size Analyzer
The go-size-analyzer is a GitHub tool for analyzing compiled Go binaries, offering detailed size breakdowns, multiple output formats, and both web and terminal interfaces. It encourages contributions and is AGPL-3.0 licensed.
Telemetry in Go 1.23 and Beyond
Go 1.23 introduces optional telemetry for sharing toolchain usage data, enhancing bug identification and reliability. Participation has increased through the VS Code Go plugin, with future expansions planned.