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

google/orbitArchived

0
View on GitHub↗
4,316 stars·358 forks·C++·BSD-2-Clause·17 viewsorbitprofiler.com↗

Orbit

Orbit is a set of specialized tools for C and C++ performance profiling, binary symbol mapping, and remote process and thread analysis. It provides a system for analyzing execution time and resource usage, utilizing a call graph visualizer to map function entries and exits into hierarchical execution flows for individual threads.

The project distinguishes itself with a remote process profiler capable of capturing performance data from applications running on remote hosts. It also includes a thread scheduling analyzer that tracks context switches and processor core utilization to visualize thread behavior.

Broadly, the toolset covers application performance sampling and execution flow visualization. It supports debugging through the loading of external symbol files via build IDs and provides session management to persist instrumentation hooks and symbol metadata.

Features

  • C Performance Profiling - Provides comprehensive performance profiling for C and C++ applications to identify bottlenecks and resource usage.
  • Debug Symbol Loaders - Loads debug symbols from external files using build IDs for on-demand binary-to-source lookup.
  • Call Graph Visualizations - A feature in the tool that tracks function entries, exits, and scheduling events to create per-thread hierarchical call graphs.
  • Symbol-To-Address Mapping - Provides a mechanism to map binary addresses back to source code identifiers using build identifiers.
  • Call Graph Visualizers - Generates hierarchical representations of function entries and exits to visualize execution flow for threads.
  • Remote Debugging - Captures performance data from applications running on remote hosts to analyze behavior in production.
  • Context-Switch Analysis - Tracks context switches and processor core utilization to identify bottlenecks in multi-threaded execution.
  • CPU Scheduling Event Recorders - Records kernel scheduling events to visualize thread migration and execution gaps across CPU cores.
  • Asynchronous Thread Schedulers - Records and visualizes the coordination of threads across multiple processor cores via context-switch tracking.
  • Data Collection Agents - Deploys agents on remote hosts to capture execution metrics and transmit them for analysis.
  • Remote Profiling Interfaces - Provides interfaces to trigger and retrieve performance profiles from applications running on remote hosts.
  • Thread Performance Analyzers - Analyzes CPU-intensive threads by tracking context switches and processor core utilization.
  • Application Performance Profiling - Identifies high-overhead functions through sampling to determine areas requiring detailed instrumentation.
  • Instruction Sampling - Implements sampling-based performance measurement to estimate function overhead by capturing the instruction pointer.

Star history

Star history chart for google/orbitStar history chart for google/orbit

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

Open-source alternatives to Orbit

Similar open-source projects, ranked by how many features they share with Orbit.
  • jrfonseca/gprof2dotjrfonseca avatar

    jrfonseca/gprof2dot

    3,434View on GitHub↗

    gprof2dot is a performance graph generator and visualizer that converts gprof GNU profiler execution profiles into Graphviz DOT files. It transforms raw profiler data into a directed graph to map function call hierarchies and identify software bottlenecks. The tool employs heuristic-based color mapping to highlight performance hotspots by assigning colors to nodes and edges based on execution time percentages. It also supports differential profile analysis, allowing for the comparison of two distinct execution graphs to identify changes in timing and call counts between runs. To improve visu

    Pythonc-plus-plusgraphprofiling
    View on GitHub↗3,434
  • wolfpld/tracywolfpld avatar

    wolfpld/tracy

    15,298View on GitHub↗

    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

    C++gamedevgamedev-librarygamedevelopment
    View on GitHub↗15,298
  • 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
  • racket/racketracket avatar

    racket/racket

    5,157View on GitHub↗

    Racket is a general-purpose, multi-paradigm programming language in the Lisp family designed for language creation. It functions as a language workbench, providing a platform for designing and implementing custom programming languages through a flexible system of macros and modules. The system distinguishes itself by offering a comprehensive suite for semantics engineering, allowing for the construction of specialized language subsets and educational layers. It includes tools for custom language design, such as lexer and parser generation, as well as the ability to define module expansion rul

    Racketracket
    View on GitHub↗5,157
See all 30 alternatives to Orbit→

Frequently asked questions

What does google/orbit do?

Orbit is a set of specialized tools for C and C++ performance profiling, binary symbol mapping, and remote process and thread analysis. It provides a system for analyzing execution time and resource usage, utilizing a call graph visualizer to map function entries and exits into hierarchical execution flows for individual threads.

What are the main features of google/orbit?

The main features of google/orbit are: C Performance Profiling, Debug Symbol Loaders, Call Graph Visualizations, Symbol-To-Address Mapping, Call Graph Visualizers, Remote Debugging, Context-Switch Analysis, CPU Scheduling Event Recorders.

What are some open-source alternatives to google/orbit?

Open-source alternatives to google/orbit include: jrfonseca/gprof2dot — gprof2dot is a performance graph generator and visualizer that converts gprof GNU profiler execution profiles into… wolfpld/tracy — Tracy is a real-time performance profiling framework for C and C++ applications. It provides a software… uber-archive/go-torch — go-torch is a profiling tool for capturing the execution state of Go programs and transforming raw binary data into… racket/racket — Racket is a general-purpose, multi-paradigm programming language in the Lisp family designed for language creation. It… joerick/pyinstrument — pyinstrument is a statistical sampling profiler for Python that records the call stack at regular intervals to… miniprofiler/rack-mini-profiler — This project is a performance analysis tool for Ruby applications using the Rack interface. It monitors request…