基于 eBPF 与 Wasm 的零代码可观测性平台,为云原生和 AI 应用采集指标、链路追踪、请求日志与性能剖析数据。
facebookincubator/dynolog
轻量级遥测守护进程,导出 Linux、CPU、GPU 指标,并可为 PyTorch 分布式训练触发按需追踪。
- Star
- 388
- Fork
- 93
- 未关闭 Issue
- 33
- 最近提交
- 昨天
这是什么?
Dynolog 是面向 CPU-GPU 异构系统的性能监控守护进程,既支持常驻的持续监控,也支持深入的性能剖析。剖析模式通过对守护进程发起远程过程调用触发,本地或远程主机都可以用 `dyno` 命令行工具与之通信。
它采集内核指标(CPU、网络、IO 资源使用),在 Intel 和 AMD CPU 上通过 Linux perf_event 读取硬件 PMU 计数器,并通过 DCGM 采集 NVIDIA GPU 指标。指标可以输出到标准输出、OTLP 端点,或通过可扩展的 Logger 类写入 Meta 内部的 ODS 和 Scuba 系统。
针对 PyTorch 任务,Dynolog 与 PyTorch Profiler(v1.13.0 及以后)集成,可按需跨多张 GPU 触发追踪,也支持在 Slurm 调度的分布式训练作业中协同采集。项目仅面向 Linux,提供 RPM、Debian 安装包及源码编译方式。
核心功能
- 01在 Linux 上持续采集内核、CPU 和 PMU 指标。
- 02通过 dyno 命令行远程触发 PyTorch Profiler 按需追踪。
- 03基于 DCGM 2.x 和 3.x 监控 NVIDIA GPU。
- 04支持将指标导出到 OTLP 兼容的可观测性后端。
- 05日志输出目标可扩展,支持 ODS、Scuba、OTLP 和标准输出。
适用场景
- 在大规模分布式 PyTorch 训练中跨多张 GPU 追踪性能瓶颈。
- 在生产环境中监控 Linux 服务器的 CPU、网络和 IO 状态。
- 将 NVIDIA 数据中心主机的 GPU 指标接入现有可观测性系统。
快速上手
- 1
从发布页面下载适合你发行版的安装包
- 2
在 Ubuntu 或 Debian 上安装 deb 包
sudo dpkg -i dynolog_0.2.1-0-amd64.deb - 3
使用 systemd 启动 dynolog 服务
sudo systemctl start dynolog - 4
使用 dyno 命令行工具检查守护进程是否运行
dyno status
使用前须知
- 仅支持 Linux,不支持其他平台。
- GPU 监控仅适用于 NVIDIA GPU,且需要单独安装 DCGM。
- GPU 追踪功能需要 PyTorch v1.13.0 或兼容版本。
收录于专题
标签
常见问题
- dynolog 是什么?
- 轻量级遥测守护进程,导出 Linux、CPU、GPU 指标,并可为 PyTorch 分布式训练触发按需追踪。 Dynolog 是面向 CPU-GPU 异构系统的性能监控守护进程,既支持常驻的持续监控,也支持深入的性能剖析。剖析模式通过对守护进程发起远程过程调用触发,本地或远程主机都可以用 `dyno` 命令行工具与之通信。
- dynolog 可以免费使用吗?用的什么许可证?
- dynolog 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- dynolog 还在维护吗?
- 活跃维护中。dynolog 最近一次提交是在 2026年11月6日。
- dynolog 适合用来做什么?
- 在大规模分布式 PyTorch 训练中跨多张 GPU 追踪性能瓶颈。 在生产环境中监控 Linux 服务器的 CPU、网络和 IO 状态。 将 NVIDIA 数据中心主机的 GPU 指标接入现有可观测性系统。
- dynolog 怎么安装和运行?
- 从发布页面下载适合你发行版的安装包 在 Ubuntu 或 Debian 上安装 deb 包: sudo dpkg -i dynolog_0.2.1-0-amd64.deb 使用 systemd 启动 dynolog 服务: sudo systemctl start dynolog 使用 dyno 命令行工具检查守护进程是否运行: dyno status
- 在哪里获取 dynolog?
- 源代码和安装说明在 GitHub 上:https://github.com/facebookincubator/dynolog
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
开源的追踪与性能分析套件,包含 SDK、守护进程和浏览器端 UI,用于分析 Android、Linux 等系统的 trace。
基于 Intel Processor Trace 的 Linux 性能追踪工具,可记录进程的每一次函数调用并以时间线展示。
一个用 Go 编写的守护进程,持续监控 NVIDIA GPU 与 GPU 互连结构,检测硬件错误并报告节点健康状态。
用 C 编写的轻量遥测代理,可收集、处理并转发日志、指标和链路追踪数据。
与厂商无关的服务,用于接收、处理并导出链路追踪、指标和日志数据到多种可观测性后端。