Celtoys/Remotery logo

Celtoys/Remotery

Free

Single C file, Realtime CPU/GPU Profiler with Remote Web Viewer

FreeFree tier
Type
Open Source
Company
Celtoys

About Celtoys/Remotery

Remotery is a realtime CPU/GPU profiler implemented as a single C file, with a viewer that runs entirely in a web browser. It provides lightweight instrumentation for multiple CPU and GPU threads, supporting Windows, Linux, macOS, iOS, Android, Xbox, and FreeBSD. The viewer uses GPU-accelerated UI rendering, bypassing the DOM for real-time 60 Hz updates at 10,000x performance. Features include an automatic thread sampler that identifies processor cores without administrator privileges, a console for logging and sending commands to the application, a Property API for recording named/typed values over time, and the ability to drop saved traces onto the viewer for historical inspection. The profiler also profiles itself and displays its own performance in the viewer. Supported GPU profiling APIs include Direct3D 11/12, OpenGL, CUDA, Metal, and Vulkan.

Key Features

Lightweight instrumentation of multiple CPU and GPU threads
Web-based viewer compatible with Chrome, Firefox, and Safari on desktops, mobiles, and tablets
GPU UI rendering bypassing the DOM for real-time 60 Hz updates at 10,000x performance
Automatic thread sampler revealing processor cores without administrator privileges
Drop saved traces onto the viewer to load and inspect historical runs
Console output for logging text and console input for sending commands to the application
Property API for recording named/typed values over time alongside samples
Self-profiling to display the profiler's own performance in the viewer
Supported profiling platforms: Windows (7/8/10/11/UWP), Linux, macOS, iOS, Android, Xbox One/Series, FreeBSD
Supported GPU profiling APIs: D3D 11/12, OpenGL, CUDA, Metal, Vulkan

Pros & Cons

Pros
  • Single C file implementation makes integration into C/C++ projects straightforward
  • Web viewer is cross-platform and device-agnostic, no separate viewer installation needed
  • Supports a wide range of platforms and GPU APIs out of the box
  • GPU-accelerated UI provides high performance and low overhead
  • Self-profiling helps assess the profiler's own performance impact
  • Automatic thread sampling works without elevated privileges
  • Ability to drop saved traces for offline analysis
Cons
  • Designed primarily for C/C++ projects; integration into other languages may require additional work
  • Requires manual instrumentation of code sections to profile (no automatic function tracing)
  • The viewer is a web application, so a network connection between the profiled application and the viewer is needed for real-time monitoring
  • Limited to profiling platforms and GPU APIs explicitly supported; not all combinations may be available

Best For

Real-time performance profiling of CPU and GPU in game engines and simulationsInstrumenting multi-threaded applications to identify bottlenecksRemote monitoring of embedded or headless systems via web browserAnalyzing historical profiling data by loading saved tracesIntegrating console commands and logging into instrumented applications

FAQ

What platforms does Remotery support?
Remotery supports Windows (7/8/10/11/UWP), Linux, macOS, iOS, Android, Xbox One/Series, and FreeBSD.
Which GPU profiling APIs are supported?
Remotery supports D3D 11/12, OpenGL, CUDA, Metal, and Vulkan.
How do I compile and integrate Remotery into my project?
Add lib/Remotery.c and lib/Remotery.h to your program and set include directories. On Windows (MSVC) required libraries are automatically linked via pragma comments; on other platforms you may need to link pthreads, ws2_32, winmm, etc.
Is the viewer standalone or does it require a server?
The viewer runs in a web browser and connects to the profiled application remotely; no separate server setup is needed.