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.
파일 탐색기
최종 버전 다운로드 (.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
# 설치 가이드
git clone https://github.com/facebookincubator/dynolog
깃허브에서 프로젝트 코드 전체를 내 컴퓨터로 내려받습니다.
cd dynolog
방금 내려받은 프로젝트 폴더 안으로 이동합니다.
2. 공식 설치 스크립트
쉬움 추천- APT (Debian/Ubuntu 계열) Debian/Ubuntu 계열 리눅스에 기본 내장된 패키지 매니저입니다.
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
공식 설치 스크립트를 다운로드해서 바로 실행합니다. 이 한 줄로 필요한 게 자동으로 설치됩니다.
sudo apt-get install -y cmake ninja-build
APT 패키지 저장소에서 바로 설치합니다 (Debian/Ubuntu 계열).
이 레포의 README에 적힌 실제 명령어를 그대로 가져왔습니다.
3. Docker
쉬움- Git GitHub에서 프로젝트 코드를 내려받으려면 필요합니다.
- Docker Desktop 컨테이너를 빌드하고 실행하려면 필요합니다. 설치 후 실행해서 백그라운드에 켜두세요.
docker build -f Dockerfile.otlp -t dynolog .
Dockerfile을 기반으로 실행 가능한 이미지를 빌드합니다.
docker run -p 8080:80 dynolog
빌드된 이미지를 실제 컨테이너로 실행합니다.
4. CMake
보통sudo dnf install cmake ninja cargo
이 명령어를 터미널에 그대로 입력해 실행하세요.
sudo apt-get install -y cmake ninja-build
APT 패키지 저장소에서 바로 설치합니다 (Debian/Ubuntu 계열).
conda install cmake ninja
이 명령어를 터미널에 그대로 입력해 실행하세요.
이 레포의 README에 적힌 실제 명령어를 그대로 가져왔습니다.
5. Rust
보통- Git GitHub에서 프로젝트 코드를 내려받으려면 필요합니다.
- Rust (rustup) rustup으로 설치하면 cargo도 함께 설치됩니다.
sudo dnf install cmake ninja cargo
이 명령어를 터미널에 그대로 입력해 실행하세요.
이 레포의 README에 적힌 실제 명령어를 그대로 가져왔습니다.
