Zero-code observability for cloud-native and AI applications, using eBPF and Wasm to collect metrics, traces, request logs and profiles.
facebookincubator/dynolog
A lightweight telemetry daemon that exports Linux, CPU, GPU and PyTorch training metrics and triggers on-demand traces.
- Stars
- 388
- Forks
- 94
- Open issues
- 33
- Last commit
- 20 hours ago
What is it?
Dynolog is a monitoring daemon for heterogeneous CPU-GPU systems, built for both always-on performance monitoring and deep-dive profiling. Profiling modes are activated by a remote procedure call to the daemon, and a single `dyno` command line tool talks to it on the local or a remote host.
It collects kernel metrics covering CPU, network and IO usage, hardware PMU counters from Linux perf_event on Intel and AMD CPUs, and NVIDIA GPU metrics through DCGM. Metrics can be written to standard output, to OTLP endpoints, or to Meta's internal ODS and Scuba systems through a pluggable Logger class.
For PyTorch workloads, dynolog integrates with the PyTorch Profiler (v1.13.0 and later) so that traces can be triggered on demand across many GPUs, including coordinated tracing in Slurm-managed distributed training jobs. It targets Linux only, with RPM and Debian packages as well as source builds.
Key features
- 01Always-on kernel, CPU and PMU metric collection on Linux.
- 02On-demand PyTorch Profiler traces triggered remotely via the dyno CLI.
- 03NVIDIA GPU monitoring through DCGM 2.x and 3.x.
- 04OTLP metrics export to OpenTelemetry-compatible backends.
- 05Pluggable logger for ODS, Scuba, OTLP or stdout.
Use cases
- Tracing slow iterations in large distributed PyTorch training jobs across many GPUs.
- Monitoring CPU, network and IO health on Linux servers in production.
- Collecting GPU metrics from NVIDIA data center hosts into an existing observability stack.
Quick start
- 1
Download the release package for your distro from the releases page
- 2
Install the Debian package on Ubuntu or Debian
sudo dpkg -i dynolog_0.2.1-0-amd64.deb - 3
Start the dynolog service with systemd
sudo systemctl start dynolog - 4
Check that the daemon is running with the dyno CLI
dyno status
Things to know
- Linux only; non-Linux platforms are not supported.
- GPU monitoring works only with NVIDIA GPUs and requires separately installing DCGM.
- GPU trace collection requires PyTorch v1.13.0 or a compatible version.
In collections
Topics
FAQ
- What is dynolog?
- A lightweight telemetry daemon that exports Linux, CPU, GPU and PyTorch training metrics and triggers on-demand traces. Dynolog is a monitoring daemon for heterogeneous CPU-GPU systems, built for both always-on performance monitoring and deep-dive profiling. Profiling modes are activated by a remote procedure call to the daemon, and a single `dyno` command line tool talks to it on the local or a remote host.
- Is dynolog free to use? What license does it have?
- dynolog is open source under the MIT license. Check the license terms before using it in commercial products.
- Is dynolog still maintained?
- Actively maintained. The last commit to dynolog was on Nov 7, 2026.
- What can I use dynolog for?
- Tracing slow iterations in large distributed PyTorch training jobs across many GPUs. Monitoring CPU, network and IO health on Linux servers in production. Collecting GPU metrics from NVIDIA data center hosts into an existing observability stack.
- How do I install dynolog?
- Download the release package for your distro from the releases page Install the Debian package on Ubuntu or Debian: sudo dpkg -i dynolog_0.2.1-0-amd64.deb Start the dynolog service with systemd: sudo systemctl start dynolog Check that the daemon is running with the dyno CLI: dyno status
- Where can I get dynolog?
- The source code and installation instructions are on GitHub: https://github.com/facebookincubator/dynolog
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Open-source tracing and profiling suite with SDKs, system daemons and a browser-based UI for analyzing traces on Android, Linux and Chromium.
A Linux profiler that uses Intel Processor Trace to record every function call in a process and display them on an interactive timeline.
A Go daemon that continuously monitors NVIDIA GPUs and GPU fabric, detects hardware errors, and reports node health on Linux hosts and Kubernetes.
Lightweight telemetry agent in C that collects, processes and forwards logs, metrics and traces from many sources to many destinations.
A vendor-agnostic service that receives, processes and exports traces, metrics and logs to multiple observability backends.