dynolog
Dynolog is a telemetry daemon for performance monitoring and tracing. It exports metrics from different components in the system like the linux kernel, CPU, disks, Intel PT, GPUs etc. Dynolog also integrates with pytorch and can trigger traces for distributed training applications.
File Explorer
Download Latest Version (.zip)- dynolog-ci.yml
- dcgm.rs
- gputrace.rs
- mod.rs
- status.rs
- utils.rs
- version.rs
- main.rs
- Cargo.toml
- CMakeLists.txt
- OTLPProto.cmake
- dyno_logo.svg
- logging_to_ods.md
- logging_to_otlp.md
- logging_to_scuba.md
- Metrics.md
- profiler_flow.png
- pytorch_profiler.md
- CMakeLists.txt
- RdcWrapperExample.cpp
- AmdDeviceTopology.cpp
- AmdDeviceTopology.h
- CMakeLists.txt
- RdcWrapper.cpp
- RdcWrapper.h
- CMakeLists.txt
- dcgm_agent.h
- dcgm_api_export.h
- dcgm_errors.h
- dcgm_fields.h
- dcgm_structs.h
- DcgmApiStub.cpp
- DcgmApiStub.h
- DcgmGroupInfo.cpp
- DcgmGroupInfo.h
- Entity.cpp
- Entity.h
- Utils.cpp
- Utils.h
- CMakeLists.txt
- Endpoint.h
- FabricManager.h
- Utils.h
- api.proto
- CMakeLists.txt
- EnvAttribution.cpp
- EnvAttribution.h
- Flags.cpp
- Flags.h
- K8sPodCache.cpp
- K8sPodCache.h
- PodResourcesClient.cpp
- PodResourcesClient.h
- CMakeLists.txt
- ExtraTypes.cpp
- ExtraTypes.h
- MetricFrame.cpp
- MetricFrame.h
- MetricFrameBase.cpp
- MetricFrameBase.h
- MetricFrameTsUnit.cpp
- MetricFrameTsUnit.h
- MetricFrameTsUnitInterface.h
- MetricSeries.h
- MetricValues.h
- TextTable.cpp
- TextTable.h
- InterruptStatsMonitor.cpp
- InterruptStatsMonitor.h
- CMakeLists.txt
- EthtoolCounters.cpp
- EthtoolCounters.h
- RdmaCounters.cpp
- RdmaCounters.h
- RdmaMonitor.cpp
- RdmaMonitor.h
- SysfsCounter.cpp
- SysfsCounter.h
- CMakeLists.txt
- SimpleJsonServer.cpp
- SimpleJsonServer.h
- SimpleJsonServerInl.h
- CMakeLists.txt
- TpuGroupInfo.cpp
- TpuGroupInfo.h
- TpuScraper.cpp
- TpuScraper.h
- CMakeLists.txt
- IPCMonitor.cpp
- IPCMonitor.h
- CMakeLists.txt
- CompositeLogger.cpp
- CompositeLogger.h
- CPUTimeMonitor.cpp
- CPUTimeMonitor.h
- EthtoolStatsReader.cpp
- EthtoolStatsReader.h
- FBRelayLogger.cpp
- FBRelayLogger.h
- KernelCollector.cpp
- KernelCollector.h
- KernelCollectorBase.cpp
- KernelCollectorBase.h
- KvmStatsCollector.cpp
- KvmStatsCollector.h
- LibkinetoConfigManager.cpp
- LibkinetoConfigManager.h
- LibkinetoJobRegistry.cpp
- LibkinetoJobRegistry.h
- LibkinetoTypes.h
- Logger.cpp
- Logger.h
- Main.cpp
- Metrics.cpp
- Metrics.h
- MonitorBase.h
- ODSJsonLogger.cpp
- ODSJsonLogger.h
- OtlpLogger.cpp
- OtlpLogger.h
- OtlpMetricsLogger.cpp
- OtlpMetricsLogger.h
- PerfMonitor.cpp
- PerfMonitor.h
- PrometheusLogger.cpp
- PrometheusLogger.h
- ScubaLogger.cpp
- ScubaLogger.h
- ServiceHandler.cpp
- ServiceHandler.h
- String.cpp
- String.h
- Ticker.h
- Types.h
- AmdDeviceTopologyTest.cpp
- RdcWrapperTest.cpp
- CMakeLists.txt
- IPCFabricTest.cpp
- IPCSender.cpp
- CMakeLists.txt
- MetricFrameTest.cpp
- MetricFrameTsUnitTest.cpp
- MetricSeriesTest.cpp
- MetricValuesTest.cpp
- TextTableTest.cpp
- RdmaMonitorTests.cpp
- SysfsCountersTests.cpp
- CMakeLists.txt
- SimpleJsonClientTest.cpp
- SimpleJsonClientTest.h
- SimpleJsonClientTestCLI.cpp
- TpuGroupInfoTest.cpp
- TpuScraperTest.cpp
- CMakeLists.txt
- IPCMonitorTest.cpp
- CMakeLists.txt
- CPUTimeMonitorTest.cpp
- EthtoolStatsReaderTest.cpp
- InterruptStatsMonitorTest.cpp
- KernelCollecterTest.cpp
- LibkinetoConfigManagerTest.cpp
- MonitorTickerTest.cpp
- otel-collector-config.yaml
- OtlpLoggerTest.cpp
- OtlpMetricsLoggerTest.cpp
- PrometheusLoggerTest.cpp
- StringTest.cpp
- CMakeLists.txt
- README.md
- CMakeLists.txt
- DefsTest.cpp
- SystemProcFsTest.cpp
- SystemTest.cpp
- CMakeLists.txt
- Defaults.h
- Defs.h
- ProcFsHelpers.h
- System.cpp
- System.h
- perf_script_output__cpu_wide.txt
- perf_script_output__cpu_wide2.txt
- perf_script_output__cpu_wide_short.txt
- perf_script_output__cpu_wide_tiny.txt
- perf_script_output__stress.txt
- perf_script_output__stress_ushort.txt
- CMakeLists.txt
- IptCapChecker.cpp
- parse_lines__tests.py
- CMakeLists.txt
- IptEventBuilder.cpp
- IptEventBuilder.h
- main.py
- tracer.py
- maps
- CMakeLists.txt
- MonDataTest.cpp
- MonitorMockTest.cpp
- MonitorTest.cpp
- MuxQueueStrategyTest.cpp
- TimeSlotStrategyTest.cpp
- CMakeLists.txt
- Filter.cpp
- Filter.h
- IntelPTMonitor.cpp
- IntelPTMonitor.h
- MonData.cpp
- MonData.h
- Monitor.h
- MuxQueueStrategy.h
- PerCpuSliceGenerator.h
- SchedulingStrategy.h
- TimeSlotStrategy.h
- TraceCollector.cpp
- TraceCollector.h
- TraceMonitor.cpp
- TraceMonitor.h
- bperf.h
- bperf_leader_cgroup.bpf.c
- broadwell_core.cpp
- broadwell_uncore.cpp
- broadwellde_core.cpp
- broadwellde_uncore.cpp
- broadwellx_core.cpp
- broadwellx_uncore.cpp
- cascadelakex_core.cpp
- cascadelakex_uncore.cpp
- cascadelakex_uncore_experimental.cpp
- CMakeLists.txt
- emeraldrapids_core.cpp
- emeraldrapids_uncore.cpp
- emeraldrapids_uncore_experimental.cpp
- goldmont_core.cpp
- haswellx_core.cpp
- haswellx_uncore.cpp
- icelake_core.cpp
- icelake_uncore.cpp
- icelake_uncore_experimental.cpp
- icelakex_core.cpp
- icelakex_uncore.cpp
- icelakex_uncore_experimental.cpp
- ivybridge_core.cpp
- ivybridge_uncore.cpp
- JsonEvents.h
- knightslanding_core.cpp
- knightslanding_uncore.cpp
- nehalemex_core.cpp
- sandybridge_core.cpp
- sandybridge_uncore.cpp
- sapphirerapids_core.cpp
- sapphirerapids_uncore.cpp
- sapphirerapids_uncore_experimental.cpp
- sierraforest_core.cpp
- sierraforest_uncore.cpp
- sierraforest_uncore_experimental.cpp
- skylake_core.cpp
- skylake_uncore.cpp
- skylakex_core.cpp
- skylakex_uncore.cpp
- skylakex_uncore_experimental.cpp
- snowridgex_core.cpp
- snowridgex_uncore.cpp
- snowridgex_uncore_experimental.cpp
- CMakeLists.txt
- CpuArch.h
- CMakeLists.txt
- bad_event_config
- bad_event_field
- cpu_cycles
- ArmEventsTest.cpp
- BPerfEventsGroupPerThreadTest.cpp
- BPerfEventsGroupTest.cpp
- BuiltinMetricsTest.cpp
- ClocksTest.cpp
- CMakeLists.txt
- MockPerCpuCountReader.h
- MockPerUncoreCountReader.h
- PerCpuGeneratorsTest.cpp
- PerfEventsGroupTest.cpp
- PmuDevicesTest.cpp
- ThreadCountReaderTest.cpp
- AmdEvents.cpp
- AmdEvents.h
- ArmEvents.cpp
- ArmEvents.h
- BPerfCountReader.cpp
- BPerfCountReader.h
- BPerfEventsGroup.cpp
- BPerfEventsGroup.h
- BPerfPerThreadReader.cpp
- BPerfPerThreadReader.h
- BPerfPinnedMapNames.h
- BuiltinMetrics.cpp
- BuiltinMetrics.h
- CMakeLists.txt
- CpuArch.h
- Metrics.cpp
- Metrics.h
- PerCpuBase.h
- PerCpuCountReader.h
- PerCpuCountSampleGenerator.h
- PerCpuDummyGenerator.h
- PerCpuSampleGeneratorBase.h
- PerCpuThreadSwitchGenerator.h
- PerCpuTraceAuxGenerator.h
- PerfEventsGroup.h
- PerPerfEventsGroupBase.h
- PerUncoreCountReader.h
- PmuDevices.cpp
- PmuDevices.h
- PmuEvent.cpp
- PmuEvent.h
- ThreadCountReader.h
- Consumer.hpp
- Data.hpp
- MPMCBenchmark.hpp
- MPMCQueueBenchmark.cpp
- MPMCQueueConsumerWrapper.hpp
- MPMCQueueProducerWrapper.hpp
- MPMCRingBufferBenchmark.cpp
- Producer.hpp
- RingBufferConsumerWrapper.hpp
- RingBufferProducerWrapper.hpp
- SPSCBenchmark.hpp
- SPSCQueueBenchmark.cpp
- SPSCQueueConsumerWrapper.hpp
- SPSCQueueProducerWrapper.hpp
- SPSCRingBufferBenchmark.cpp
- ThreadBind.hpp
- TriggerableThread.hpp
- PerCpuRingBufferTest.cpp
- RingBufferTest.cpp
- ShmPerCpuRingBufferTest.cpp
- Consumer.h
- PerCpuRingBuffer.h
- Producer.h
- README.rst
- RingBuffer.h
- RingBufferBlockingOps.h
- Shm.h
- IntervalSlicerTest.cpp
- SlicerTest.cpp
- StreamTest.cpp
- Event.h
- IntervalSlicer.cpp
- IntervalSlicer.h
- PerfEventStream.h
- Slicer.h
- Stream.h
- TagStack.h
- TscConverterStream.h
- ValueTimeSeries.h
- CMakeLists.txt
- CMakeLists.txt
- control
- make_deb.sh
- linear_model_example.py
- unitrace.py
- xor.py
- dynolog.spec
- make_rpm.sh
- run_with_dyno_wrapper.sh
- build.sh
- dynolog.conf
- dynolog.service
- README.md
- dev
- interrupts
- stat
- uevent
- unique_id
- xgmi_physical_id
- uevent
- unique_id
- xgmi_physical_id
- properties
- properties
- properties
- properties
- speed
- speed
- physical_package_id
- physical_package_id
- physical_package_id
- physical_package_id
- physical_package_id
- physical_package_id
- physical_package_id
- physical_package_id
- physical_package_id
- physical_package_id
- physical_package_id
- physical_package_id
- physical_package_id
- physical_package_id
- physical_package_id
- physical_package_id
- BuildTests.cmake
- cpr
- DCGM
- fmt
- gflags
- glog
- googletest
- json
- opentelemetry-cpp.submodule.txt
- opentelemetry-proto
- pfs
- prometheus-cpp
- .dockerignore
- .gitignore
- .gitmodules
- .pre-commit-config.yaml
- CHANGELOG.md
- CMakeLists.txt
- CODE_OF_CONDUCT.md
- CONTRIBUTING.md
- Dockerfile.otlp
- Dockerfile.otlp-test
- dynolog.dockerfile
- dynolog_hta.dockerfile
- LICENSE
- README.md
- RELEASE.md
- version.txt
# Installation Guide
git clone https://github.com/facebookincubator/dynolog
Downloads the entire project code from GitHub to your computer.
cd dynolog
Moves into the project folder you just downloaded.
2. Official Install Script
Easy Recommended- APT (Debian/Ubuntu κ³μ΄) Built into Debian/Ubuntu-based Linux distributions.
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Downloads and runs the official install script in one line β this handles the full setup automatically.
sudo apt-get install -y cmake ninja-build
Installs directly from the APT package repository (Debian/Ubuntu-based).
Pulled directly from this repo's README.
3. Docker
Easy- Git Needed to download the project code from GitHub.
- Docker Desktop Needed to build and run containers. Install it and keep it running in the background.
docker build -f Dockerfile.otlp -t dynolog .
Builds a runnable image based on the Dockerfile.
docker run -p 8080:80 dynolog
Runs the built image as an actual container.
4. CMake
Mediumsudo dnf install cmake ninja cargo
Type this command into your terminal and run it.
sudo apt-get install -y cmake ninja-build
Installs directly from the APT package repository (Debian/Ubuntu-based).
conda install cmake ninja
Type this command into your terminal and run it.
Pulled directly from this repo's README.
5. Rust
Medium- Git Needed to download the project code from GitHub.
- Rust (rustup) Installing via rustup also installs cargo.
sudo dnf install cmake ninja cargo
Type this command into your terminal and run it.
Pulled directly from this repo's README.
