# wolfpld/tracy

**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/wolfpld-tracy).**

15,298 stars · 1,012 forks · C++ · other

## Links

- GitHub: https://github.com/wolfpld/tracy
- Homepage: https://tracy.nereid.pl/
- awesome-repositories: https://awesome-repositories.com/repository/wolfpld-tracy.md

## Topics

`gamedev` `gamedev-library` `gamedevelopment` `library` `performance` `performance-analysis` `profiler` `profiling` `profiling-library`

## Description

Tracy is a real-time performance profiling framework for C and C++ applications. It provides a software instrumentation library that captures high-resolution telemetry data, which is then visualized through a separate graphical interface to identify bottlenecks and resource allocation issues.

The system utilizes a client-server architecture that enables remote profiling, allowing performance data to be captured on a target machine and analyzed on a workstation. It employs lock-free event logging and shared-memory ring buffers to minimize the overhead of data collection, ensuring that the main application logic remains unaffected during execution.

The toolset covers a broad range of observability capabilities, including the tracking of CPU, GPU, and memory activity, as well as the monitoring of synchronization locks and context switches. It supports the correlation of visual frames with performance events and provides symbol-based callstack resolution to map instruction pointers to source code locations.

## Tags

### Development Tools & Productivity

- [Real-Time Performance Profilers](https://awesome-repositories.com/f/development-tools-productivity/real-time-performance-profilers.md) — Provides a high-precision, real-time performance analysis tool for C and C++ applications.
- [Lock-Free Thread Communication](https://awesome-repositories.com/f/development-tools-productivity/thread-managers/lock-free-thread-communication.md) — Uses atomic operations and thread-local storage to record events without lock contention.

### Testing & Quality Assurance

- [Performance Profilers](https://awesome-repositories.com/f/testing-quality-assurance/performance-profilers.md) — Analyzing execution speed and resource usage in C and C++ applications to identify bottlenecks and optimize code performance.

### System Administration & Monitoring

- [Application Performance Profiling](https://awesome-repositories.com/f/system-administration-monitoring/performance-monitoring-tools/application-performance-profiling.md) — Captures and visualizes high-resolution telemetry for processor and memory operations to identify bottlenecks. ([source](https://cdn.jsdelivr.net/gh/wolfpld/tracy@master/README.md))
- [Cross-Platform Monitors](https://awesome-repositories.com/f/system-administration-monitoring/application-performance-monitoring-platforms/cross-platform-monitors.md) — Offers a graphical interface for capturing and analyzing telemetry across multiple threads, processes, and remote machines.
- [Framework Instrumentation](https://awesome-repositories.com/f/system-administration-monitoring/framework-instrumentation.md) — Provides headers and tools for embedding performance tracking directly into source code.
- [Server Execution Profilers](https://awesome-repositories.com/f/system-administration-monitoring/monitoring-and-observability/observability-platforms/distributed-tracing-execution-analysis/execution-run-apis/server-execution-profilers.md) — Separates lightweight instrumentation on the target from heavy visualization and analysis on a workstation.
- [Real-Time Monitoring Dashboards](https://awesome-repositories.com/f/system-administration-monitoring/real-time-monitoring-dashboards.md) — Tracks CPU, GPU, and memory activity in real-time across multiple threads.
- [System Resource Monitors](https://awesome-repositories.com/f/system-administration-monitoring/system-resource-monitors.md) — Tracks memory allocations, synchronization locks, and context switches for comprehensive resource monitoring. ([source](https://cdn.jsdelivr.net/gh/wolfpld/tracy@master/README.md))
- [Application Debugging Tools](https://awesome-repositories.com/f/system-administration-monitoring/application-debugging-tools.md) — Visualizes task scheduling and lock contention to resolve concurrency issues in multithreaded applications.
- [Remote Profiling Interfaces](https://awesome-repositories.com/f/system-administration-monitoring/monitoring-and-observability/execution-tracing-analysis/remote-profiling-interfaces.md) — Enables capturing performance data on a target machine for analysis on a separate workstation.
- [Asynchronous Telemetry](https://awesome-repositories.com/f/system-administration-monitoring/asynchronous-telemetry.md) — Offloads performance data collection to background threads to ensure minimal impact on application execution.
- [Performance Visualization](https://awesome-repositories.com/f/system-administration-monitoring/monitoring-and-observability/observability-platforms/metric-performance-monitors/performance-visualization.md) — Allows attaching screenshots to performance frames for visual verification of application state. ([source](https://cdn.jsdelivr.net/gh/wolfpld/tracy@master/README.md))

### Part of an Awesome List

- [Debugging And Tracing](https://awesome-repositories.com/f/awesome-lists/devtools/debugging-and-tracing.md) — Real-time remote telemetry frame profiler.
- [Graphics Development](https://awesome-repositories.com/f/awesome-lists/devtools/graphics-development.md) — High-performance frame profiler for game engine development.

### Software Engineering & Architecture

- [Symbol Resolution Engines](https://awesome-repositories.com/f/software-engineering-architecture/symbol-resolution-engines.md) — Maps instruction pointers to source code locations using debug symbols for readable callstacks.

### Data & Databases

- [Shared Memory Buffers](https://awesome-repositories.com/f/data-databases/shared-memory-buffers.md) — Employs circular buffers in shared memory to store telemetry events with minimal overhead.
