# google/orbit

C/C++ Performance Profiler

Repository: https://github.com/google/orbit
Canonical: https://ross.abutalabs.com/products/orbit
Homepage: https://orbitprofiler.com/
Language: C++
License: BSD-2-Clause
License Family: permissive
Topics: profiler, performance, hooking, instrumentation, sampling, etw, visualizer, dynamic-instrumentation, cpu-profiler
Archived: true
Last push: 2025-01-31T10:36:00+00:00

## Health v2 (maintenance only)
Score: 10/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 4, release rhythm 40, longevity 100
- inputs: {"age_days": 3268, "days_push": 579, "days_rel": 580, "gap_med": 7.0, "n_releases_24m": 21}
- flags: prerelease_only, archived
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 4316, forks 360 (observed 2026-08-28T04:08:41.843122+00:00)

## What it is
Orbit is a standalone native application profiler for Windows and Linux that combines callstack sampling with dynamic instrumentation to identify performance bottlenecks in C, C++, Rust, or Go applications. It requires no code changes, recompilation, or relaunch of the target process, and visualizes thread scheduling, dependencies, memory, and GPU job timings.

## Use cases
- profile a C++ application without recompiling it
- find performance bottlenecks in a native application
- visualize thread scheduling and dependencies
- dynamically instrument functions in a shipping build
- trace GPU job timings on AMD GPUs
- profile Wine/Proton games with mixed callstacks
- do remote profiling of a Linux target

## When to choose
- you need zero-integration profiling of native C/C++/Rust/Go apps on Linux or Windows
- you want to combine sampling with exact function entry/exit instrumentation
- you need thread scheduling, memory, or AMD GPU tracepoint visualization
- you cannot modify or rebuild the target application

## When to avoid
- you need actively maintained Windows local profiling - focus has shifted to Linux and Windows support is partial
- you need GPU profiling on non-AMD GPUs
- you want a lightweight command-line-only profiler
- you need a project with active Google engineering support - it is no longer maintained by Google engineers

## Facets
- artifact type: application
- maturity: maintenance
- function: monitoring, tracing, benchmarking, developer-tools
- domain: developer-tools, performance, desktop-applications
- platform: windows, cpp, cross-platform
- tags: profiler, dynamic-instrumentation, sampling, cpu-profiling, gpu-profiling, callstack, visualizer, game-development, linux

## Member repositories
- google/orbit (main) score 10

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:08:41.843122+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T18:21:45.871140+00:00, confidence not recorded.
  - readme: https://github.com/google/orbit (fetched 2026-08-28T04:08:41.843122+00:00, sha e16c05e10e72)
  - homepage: https://orbitprofiler.com/ (fetched 2026-08-29T09:10:51.598872+00:00, sha 41608393c121)
- Data as of 2026-08-30T08:39:29.467469+00:00.
