# mstange/samply

**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/mstange-samply).**

4,263 stars · 101 forks · Rust · Apache-2.0

## Links

- GitHub: https://github.com/mstange/samply
- awesome-repositories: https://awesome-repositories.com/repository/mstange-samply.md

## Description

Samply is a cross-platform CPU sampling profiler and performance analysis utility. It consists of a command-line tool for recording process stack traces at regular intervals and a visual interface for analyzing the resulting execution data.

The system includes a debug symbol resolver that maps raw memory addresses to human-readable function names using local or remote symbol information. It transforms recorded execution data into flame graphs and timelines to pinpoint function-level hotspots.

The tool provides capabilities for CPU execution recording, stack unwinding, and symbol resolution across macOS, Linux, and Windows. It utilizes operating system APIs to attach to running processes and identify processing bottlenecks.

## Tags

### System Administration & Monitoring

- [Application Performance Profiling](https://awesome-repositories.com/f/system-administration-monitoring/performance-monitoring-tools/application-performance-profiling.md) — Provides comprehensive application performance profiling to identify and fix processing bottlenecks on macOS, Linux, and Windows.
- [Call Stack Samplers](https://awesome-repositories.com/f/system-administration-monitoring/interval-based-resource-sampling/call-stack-samplers.md) — Periodically captures snapshots of the call stack at fixed intervals to estimate CPU usage and function frequency.
- [Execution Stack Samplers](https://awesome-repositories.com/f/system-administration-monitoring/trace-sampling/execution-stack-samplers.md) — Implements a mechanism to capture call stacks at regular intervals to identify processing-intensive functions. ([source](https://cdn.jsdelivr.net/gh/mstange/samply@main/README.md))
- [Process Attachment Tools](https://awesome-repositories.com/f/system-administration-monitoring/process-attachment-tools.md) — Uses operating system APIs to attach to running processes for non-invasive diagnostic data extraction across different kernels.

### Part of an Awesome List

- [Debug Symbol Resolvers](https://awesome-repositories.com/f/awesome-lists/devtools/unpacking-and-deobfuscation/trace-symbol-resolvers/debug-symbol-resolvers.md) — Maps raw memory addresses to human-readable function names using local or remote debug symbol information.

### Development Tools & Productivity

- [CPU Profilers](https://awesome-repositories.com/f/development-tools-productivity/debugging-profiling-testing/debugging-diagnostics/performance-resource-profilers/cpu-profilers.md) — Ships a command-line CPU profiler that records process stack traces at regular intervals to identify performance bottlenecks.
- [Native Stack Unwinders](https://awesome-repositories.com/f/development-tools-productivity/dynamic-variable-evaluators/stack-frame-inspectors/native-stack-unwinders.md) — Reconstructs call hierarchies by traversing native stack frame pointers during the sampling process.
- [Cross-Platform Profiling Tooling](https://awesome-repositories.com/f/development-tools-productivity/cross-platform-profiling-tooling.md) — Provides a performance analysis utility compatible with macOS, Linux, and Windows for CPU execution sampling.

### Operating Systems & Systems Programming

- [CPU Execution Analysis](https://awesome-repositories.com/f/operating-systems-systems-programming/cpu-execution-analysis.md) — Identifies which functions consume the most processing time by sampling stack traces during program execution.

### Software Engineering & Architecture

- [Symbol Resolution Engines](https://awesome-repositories.com/f/software-engineering-architecture/symbol-resolution-engines.md) — Provides a symbol resolution engine that parses DWARF debug sections to map instruction pointers to function names.

### Testing & Quality Assurance

- [Flame Graph Visualizers](https://awesome-repositories.com/f/testing-quality-assurance/performance-testing-analysis/performance-diagnostics/execution-profilers/flame-graph-visualizers.md) — Transforms raw execution data into interactive flame graphs to identify resource hotspots and call stack depth.
- [Profiling Data Visualizations](https://awesome-repositories.com/f/testing-quality-assurance/profiling-visualization-filters/profiling-data-visualizations.md) — Enables loading of recorded execution data into graphical interfaces to visualize source-level hotspots. ([source](https://cdn.jsdelivr.net/gh/mstange/samply@main/README.md))
