# google/gops

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/google-gops).**

7,011 stars · 334 forks · Go · BSD-3-Clause

## Links

- GitHub: https://github.com/google/gops
- awesome-repositories: https://awesome-repositories.com/repository/google-gops.md

## Description

gops is a command-line diagnostic toolset for monitoring, profiling, and managing the runtime state of active Go applications. It functions as a runtime diagnostic tool that provides a focused interface for analyzing memory, profiling performance, and monitoring the health of running processes.

The tool provides a set of specialized utilities including a performance profiler for capturing CPU and heap profiles, a memory analyzer for identifying leaks and triggering garbage collection, and a process monitor for discovering running binaries and visualizing process hierarchies.

The project covers a broad range of diagnostic capabilities, including runtime execution tracing, stack trace capture, and resource usage sampling. It also includes system utilities for process metadata inspection, binary path resolution, and the monitoring of runtime metrics such as thread counts and memory statistics.

## Tags

### System Administration & Monitoring

- [Go Process Diagnostics](https://awesome-repositories.com/f/system-administration-monitoring/go-process-diagnostics.md) — Provides a comprehensive suite of utilities for inspecting the runtime state and resource usage of executing Go binaries.
- [Runtime Health Monitors](https://awesome-repositories.com/f/system-administration-monitoring/health-monitoring/environment-health-diagnostics/runtime-health-monitors.md) — Provides tools to evaluate the operational health of running Go processes by collecting memory and CPU usage metrics. ([source](https://github.com/google/gops#readme))
- [Go Runtime Analyzers](https://awesome-repositories.com/f/system-administration-monitoring/memory-usage-analyzers/memory-usage-analyzers/go-runtime-analyzers.md) — Provides a diagnostic interface for inspecting Go runtime memory statistics and managing garbage collection.
- [System Usage Monitoring](https://awesome-repositories.com/f/system-administration-monitoring/monitoring-and-observability/observability-platforms/metric-performance-monitors/system-usage-monitoring.md) — Monitors Go process health and resource usage over defined durations to evaluate system impact. ([source](https://github.com/google/gops#readme))
- [Application Performance Profiling](https://awesome-repositories.com/f/system-administration-monitoring/performance-monitoring-tools/application-performance-profiling.md) — Captures CPU and heap profiles from live Go applications to identify and resolve performance bottlenecks.
- [Application Stack Trace Capturers](https://awesome-repositories.com/f/system-administration-monitoring/trace-sampling/stack-trace-aggregators/kernel-stack-trace-capture/application-stack-trace-capturers.md) — Retrieves current stack traces from target Go programs to diagnose internal execution states and crashes. ([source](https://github.com/google/gops#readme))
- [Go Binary Tracing](https://awesome-repositories.com/f/system-administration-monitoring/diagnostic-tools/diagnostics/execution-tracers/kernel-tracing-frameworks/ebpf-based-tracing/go-binary-tracing.md) — Records sequences of system events within live Go processes to debug complex concurrency issues.
- [Unix Socket Metric Exposures](https://awesome-repositories.com/f/system-administration-monitoring/health-metrics-exposure/unix-socket-metric-exposures.md) — Exposes internal Go runtime metrics and control functions through a local Unix domain socket for external diagnostic access.
- [Process List Displays](https://awesome-repositories.com/f/system-administration-monitoring/in-memory-process-buffers/process-list-displays.md) — Lists active Go processes with identifiers, parent IDs, and version information in a sortable format. ([source](https://github.com/google/gops#readme))
- [Process Metadata Inspection](https://awesome-repositories.com/f/system-administration-monitoring/process-metadata-inspection.md) — Inspects detailed runtime metadata of active Go processes, including build versions and file paths, for auditing. ([source](https://github.com/google/gops#readme))
- [Binary Path Resolution](https://awesome-repositories.com/f/system-administration-monitoring/tool-binary-inventories/binary-path-resolution.md) — Maps system process identifiers to their absolute binary paths to identify specific Go executable versions.

### Data & Databases

- [Per-Process Resource Metrics](https://awesome-repositories.com/f/data-databases/data-analysis-visualization/telemetry-usage-analytics/metrics-collection/per-process-resource-metrics.md) — Reports detailed per-process resource consumption including CPU, memory, thread counts, and network connections for Go processes. ([source](https://github.com/google/gops#readme))

### Development Tools & Productivity

- [Heap and CPU Profilers](https://awesome-repositories.com/f/development-tools-productivity/debugging-profiling-testing/debugging-diagnostics/performance-resource-profilers/heap-and-cpu-profilers.md) — Captures CPU and heap profiles from live processes and integrates with interactive viewers to analyze bottlenecks. ([source](https://github.com/google/gops#readme))
- [Runtime Profiling Hooks](https://awesome-repositories.com/f/development-tools-productivity/debugging-profiling-testing/debugging-diagnostics/performance-resource-profilers/runtime-profiling-hooks.md) — Leverages internal runtime hooks to extract heap snapshots, CPU profiles, and execution traces from live applications.
- [Remote Runtime Controllers](https://awesome-repositories.com/f/development-tools-productivity/remote-runtime-controllers.md) — Sends control signals to running Go processes to trigger garbage collection and other diagnostic commands externally.
- [Signal-Triggered Profilers](https://awesome-repositories.com/f/development-tools-productivity/debugging-profiling-testing/debugging-diagnostics/performance-resource-profilers/cpu-profilers/signal-triggered-profilers.md) — Triggers profile captures and diagnostic actions in remote processes using specific operating system signals.

### Hardware & IoT

- [Diagnostic Agents](https://awesome-repositories.com/f/hardware-iot/bare-metal-logging/embedded-diagnostics/diagnostic-agents.md) — Implements background agents within target processes to expose internal runtime state to external tools.

### Operating Systems & Systems Programming

- [Runtime Statistics Analysis](https://awesome-repositories.com/f/operating-systems-systems-programming/binary-memory-dumping/structured-memory-dumping/memory-statistics-export/runtime-statistics-analysis.md) — Reports current Go memory and runtime statistics, including active concurrent execution threads, to assess resource allocation. ([source](https://github.com/google/gops#readme))
- [Process Hierarchy Traversals](https://awesome-repositories.com/f/operating-systems-systems-programming/process-hierarchy-traversals.md) — Traverses the operating system process tree to map active Go binaries and their parent-child relationships.
- [Garbage Collection Tuning](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/process-and-memory-management/memory-management/automated-reclamation-systems/garbage-collection-tuning.md) — Allows forcing immediate memory reclamation and adjusting GC thresholds to optimize running Go processes. ([source](https://github.com/google/gops#readme))
- [Process Hierarchy Visualizations](https://awesome-repositories.com/f/operating-systems-systems-programming/process-hierarchy-visualizations.md) — Visualizes the parent-child relationships and execution dependencies of running Go processes in a tree view. ([source](https://github.com/google/gops#readme))
- [Process Memory Access](https://awesome-repositories.com/f/operating-systems-systems-programming/process-memory-access.md) — Accesses the memory space of target Go processes to read runtime statistics and trigger GC.

### Programming Languages & Runtimes

- [Go Process Monitors](https://awesome-repositories.com/f/programming-languages-runtimes/go-process-monitors.md) — Tracks resource usage and visualizes process hierarchies specifically for Go binaries to maintain operational health.
- [Runtime Memory Management](https://awesome-repositories.com/f/programming-languages-runtimes/memory-allocation-optimizations/go-memory-optimization/runtime-memory-management.md) — Detects memory leaks and allows manual triggering of garbage collection cycles in active Go processes.

### Testing & Quality Assurance

- [Go Runtime Profilers](https://awesome-repositories.com/f/testing-quality-assurance/performance-testing-analysis/performance-diagnostics/execution-profilers/flame-graph-visualizers/go-runtime-profilers.md) — Captures CPU profiles, heap snapshots, and execution traces specifically from the Go runtime.
- [Execution Tracers](https://awesome-repositories.com/f/testing-quality-assurance/performance-testing-analysis/performance-diagnostics/execution-profilers/flame-graph-visualizers/go-runtime-profilers/execution-tracers.md) — Triggers the Go runtime tracer to record event sequences and examine scheduling patterns and concurrency issues. ([source](https://github.com/google/gops#readme))
- [Performance Profiling](https://awesome-repositories.com/f/testing-quality-assurance/performance-testing-analysis/performance-profiling.md) — Collects CPU and heap data using system signals to capture performance snapshots without interrupting the execution flow.
- [Event Stream Recording](https://awesome-repositories.com/f/testing-quality-assurance/event-stream-recording.md) — Records sequences of runtime system events over a specific duration to identify bottlenecks during complex operations. ([source](https://github.com/google/gops#readme))

### Business & Productivity Software

- [Runtime Resource Usage Samplers](https://awesome-repositories.com/f/business-productivity-software/financial-operational-management/billing-financial-systems/billing-and-usage/resource-usage-monitoring/runtime-resource-usage-samplers.md) — Samples CPU and memory consumption data over defined periods to calculate average resource usage levels.

### Part of an Awesome List

- [DevOps & Infrastructure](https://awesome-repositories.com/f/awesome-lists/devops/devops-infrastructure.md) — Tool for diagnosing and monitoring running processes.
- [Debugging And Profiling](https://awesome-repositories.com/f/awesome-lists/devtools/debugging-and-profiling.md) — Tool for monitoring and debugging Go processes.
- [Instrumentation and Tracing](https://awesome-repositories.com/f/awesome-lists/devtools/instrumentation-and-tracing.md) — Lists and diagnoses running Go processes.
