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

mstange/samply

0
View on GitHub↗
4,263 stars·101 forks·Rust·Apache-2.0·16 views

Samply

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.

Features

  • Application Performance Profiling - Provides comprehensive application performance profiling to identify and fix processing bottlenecks on macOS, Linux, and Windows.
  • Debug Symbol Resolvers - Maps raw memory addresses to human-readable function names using local or remote debug symbol information.
  • CPU Profilers - Ships a command-line CPU profiler that records process stack traces at regular intervals to identify performance bottlenecks.
  • Native Stack Unwinders - Reconstructs call hierarchies by traversing native stack frame pointers during the sampling process.
  • CPU Execution Analysis - Identifies which functions consume the most processing time by sampling stack traces during program execution.
  • Symbol Resolution Engines - Provides a symbol resolution engine that parses DWARF debug sections to map instruction pointers to function names.
  • Call Stack Samplers - Periodically captures snapshots of the call stack at fixed intervals to estimate CPU usage and function frequency.
  • Execution Stack Samplers - Implements a mechanism to capture call stacks at regular intervals to identify processing-intensive functions.
  • Flame Graph Visualizers - Transforms raw execution data into interactive flame graphs to identify resource hotspots and call stack depth.
  • Cross-Platform Profiling Tooling - Provides a performance analysis utility compatible with macOS, Linux, and Windows for CPU execution sampling.
  • Process Attachment Tools - Uses operating system APIs to attach to running processes for non-invasive diagnostic data extraction across different kernels.
  • Profiling Data Visualizations - Enables loading of recorded execution data into graphical interfaces to visualize source-level hotspots.

Star history

Star history chart for mstange/samplyStar history chart for mstange/samply

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 mstange/samply do?

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.

What are the main features of mstange/samply?

The main features of mstange/samply are: Application Performance Profiling, Debug Symbol Resolvers, CPU Profilers, Native Stack Unwinders, CPU Execution Analysis, Symbol Resolution Engines, Call Stack Samplers, Execution Stack Samplers.

What are some open-source alternatives to mstange/samply?

Open-source alternatives to mstange/samply include: uber-archive/go-torch — go-torch is a profiling tool for capturing the execution state of Go programs and transforming raw binary data into… nswbmw/node-in-debugging — This project is a comprehensive technical guide and diagnostic manual for analyzing memory, performance, and… microsoft/perfview — PerfView is a set of integrated profiling and tracing tools built on Windows Event Tracing for Windows (ETW), designed… kdab/hotspot — Hotspot is a graphical user interface for analyzing and visualizing performance data captured by the Linux perf tool.… bloomberg/memray — Memray is a memory profiler for Python that tracks heap allocations in both Python code and native C or C++… dotnet/diagnostics — The diagnostics project provides a cross-platform diagnostic infrastructure and command-line toolkit for monitoring…

Open-source alternatives to Samply

Similar open-source projects, ranked by how many features they share with Samply.
  • uber-archive/go-torchuber-archive avatar

    uber-archive/go-torch

    3,941View on GitHub↗

    go-torch is a profiling tool for capturing the execution state of Go programs and transforming raw binary data into visual representations of program performance. It functions as a flame graph profiler and performance visualization utility that identifies expensive code paths through the collection of CPU and memory stack traces. The tool features a network-capable remote process profiler that connects to endpoints to capture and export execution profiles from Go binaries. It utilizes stochastic profiling to synthesize execution data into call graphs, allowing for the identification of bottle

    Go
    View on GitHub↗3,941
  • nswbmw/node-in-debuggingnswbmw avatar

    nswbmw/node-in-debugging

    6,457View on GitHub↗

    This project is a comprehensive technical guide and diagnostic manual for analyzing memory, performance, and asynchronous behavior within Node.js applications. It provides detailed methods for asynchronous tracing, memory diagnostics, and performance analysis to resolve runtime errors and execution bottlenecks. The resource distinguishes itself by covering advanced diagnostic workflows, including the use of flame graphs for CPU profiling, the capture and comparison of heap snapshots for memory leak detection, and the mapping of asynchronous call stacks. It also provides technical guidance on

    debugdebuggingguide
    View on GitHub↗6,457
  • microsoft/perfviewmicrosoft avatar

    microsoft/perfview

    4,633View on GitHub↗

    PerfView is a set of integrated profiling and tracing tools built on Windows Event Tracing for Windows (ETW), designed to diagnose CPU, memory, and ETW-based performance issues in .NET applications. It captures ETW events to analyze runtime behavior, CPU usage, and memory allocations, serving as a .NET performance profiler that measures both CPU time and garbage collection events. The tool distinguishes itself with a diff comparison engine that compares two performance traces side-by-side to highlight changes in method costs and event rates. It renders profiled call stacks as flame graphs whe

    C#dotnetdotnet-coreperformance
    View on GitHub↗4,633
  • kdab/hotspotKDAB avatar

    KDAB/hotspot

    5,074View on GitHub↗

    Hotspot is a graphical user interface for analyzing and visualizing performance data captured by the Linux perf tool. It functions as a performance profiling visualizer and assembly-level profiler that maps performance costs to specific instructions synchronized with original source code. The project distinguishes itself through a remote symbol resolver that maps performance data from embedded targets to local host debug symbols and sysroots. It also includes a specialized off-CPU analysis tool designed to identify thread wait times and I/O blocks using kernel scheduler tracepoints. The tool

    C++
    View on GitHub↗5,074
  • See all 30 alternatives to Samply→