feat(rocprofiler-systems): Change default output format to rocpd - #10418
Merged
dgaliffiAMD merged 30 commits intoAug 28, 2026
Conversation
Contributor
rocprofiler-systems CI SummaryTest Results (for commit
|
| Workflow | Runs | Avg Test Time | Tests | Skipped | Failed |
|---|---|---|---|---|---|
| Ubuntu 22.04 | 5 | 29m 31s | 2,570 | 100 | 0 |
| Ubuntu 24.04 | 5 | 31m 21s | 2,590 | 110 | 0 |
| Debian | 4 | 36m 18s | 2,168 | 78 | 0 |
| RHEL | 12 | 35m 55s | 6,168 | 277 | 0 |
| System deps | 10 | 31m 29s | 5,364 | 216 | 0 |
| Total | 36 | 33m 12s | 18,860 | 781 | 0 |
Failed Tests
No failed tests reported.
Sanitizers
| Thread | Undefined | Address |
|---|---|---|
| Passed | Passed | Passed |
✅ All Policy Checks Passed
📖 Need help? See the Policy FAQ for details on every check and how to fix failures. |
dgaliffiAMD
reviewed
Aug 23, 2026
dgaliffiAMD
left a comment
Contributor
There was a problem hiding this comment.
Sorry, I know that your change is still in draft, but I took a bit of a look today.
Contributor
|
| Lines | Functions | File |
|---|---|---|
| 0.0% 0/10 | 0/2 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/byte_container_with_subtype.hpp |
| 0.0% 0/1 | 0/1 | build/coverage/_deps/spdlog-src/include/spdlog/details/log_msg_buffer.h |
| 0.0% 0/1 | 0/1 | build/coverage/_deps/spdlog-src/include/spdlog/sinks/ansicolor_sink.h |
| 0.0% 0/2 | 0/1 | build/coverage/include/profiler-hub/shared_types.hpp |
| 0.0% 0/105 | 0/9 | source/bin/common/argument_registration.hpp |
| 0.0% 0/254 | 0/28 | source/bin/common/tool_runner.cpp |
| 0.0% 0/61 | 0/6 | source/bin/rocprof-sys-avail/avail.hpp |
| 0.0% 0/258 | 0/12 | source/bin/rocprof-sys-avail/generate_config.cpp |
| 0.0% 0/102 | 0/6 | source/bin/rocprof-sys-avail/hw_counter_query.cpp |
| 0.0% 0/446 | 0/47 | source/bin/rocprof-sys-causal/impl.cpp |
| 0.0% 0/80 | 0/2 | source/bin/rocprof-sys-causal/rocprof-sys-causal.cpp |
| 0.0% 0/673 | 0/46 | source/bin/rocprof-sys-instrument/details.cpp |
| 0.0% 0/91 | 0/7 | source/bin/rocprof-sys-instrument/function_signature.cpp |
| 0.0% 0/20 | 0/5 | source/bin/rocprof-sys-instrument/function_signature.hpp |
| 0.0% 0/158 | 0/7 | source/bin/rocprof-sys-instrument/info.hpp |
| 0.0% 0/264 | 0/22 | source/bin/rocprof-sys-instrument/internal_libs.cpp |
| 0.0% 0/64 | 0/6 | source/bin/rocprof-sys-instrument/log.cpp |
| 0.0% 0/5 | 0/1 | source/bin/rocprof-sys-instrument/log.hpp |
| 0.0% 0/533 | 0/41 | source/bin/rocprof-sys-instrument/module_function.cpp |
| 0.0% 0/93 | 0/7 | source/bin/rocprof-sys-instrument/module_function.hpp |
| 0.0% 0/1536 | 0/87 | source/bin/rocprof-sys-instrument/rocprof-sys-instrument.cpp |
| 0.0% 0/157 | 0/12 | source/bin/rocprof-sys-instrument/rocprof-sys-instrument.hpp |
| 0.0% 0/2 | 0/1 | source/bin/rocprof-sys-run/rocprof-sys-run.cpp |
| 0.0% 0/2 | 0/1 | source/bin/rocprof-sys-sample/rocprof-sys-sample.cpp |
| 0.0% 0/24 | 0/1 | source/lib/backends/amd_smi/wrapper.hpp |
| 0.0% 0/16 | 0/4 | source/lib/binary/address_multirange.cpp |
| 0.0% 0/9 | 0/1 | source/lib/binary/address_multirange.hpp |
| 0.0% 0/117 | 0/5 | source/lib/binary/analysis.cpp |
| 0.0% 0/7 | 0/1 | source/lib/binary/binary_info.hpp |
| 0.0% 0/102 | 0/9 | source/lib/binary/dwarf_entry.cpp |
| 0.0% 0/1 | 0/1 | source/lib/binary/dwarf_entry.hpp |
| 0.0% 0/69 | 0/6 | source/lib/binary/link_map.cpp |
| 0.0% 0/3 | 0/1 | source/lib/binary/link_map.hpp |
| 0.0% 0/10 | 0/1 | source/lib/binary/scope_filter.cpp |
| 0.0% 0/5 | 0/2 | source/lib/binary/scope_filter.hpp |
| 0.0% 0/158 | 0/18 | source/lib/binary/symbol.cpp |
| 0.0% 0/8 | 0/8 | source/lib/binary/symbol.hpp |
| 0.0% 0/9 | 0/2 | source/lib/common/env_vars.hpp |
| 0.0% 0/40 | 0/3 | source/lib/common/invoke.hpp |
| 0.0% 0/150 | 0/10 | source/lib/common/md5sum.hpp |
| 0.0% 0/22 | 0/2 | source/lib/common/setup.hpp |
| 0.0% 0/3 | 0/1 | source/lib/common/units.hpp |
| 0.0% 0/166 | 0/2 | source/lib/core/agent_info.hpp |
| 0.0% 0/80 | 0/18 | source/lib/core/binary/address_range.cpp |
| 0.0% 0/9 | 0/3 | source/lib/core/binary/address_range.hpp |
| 0.0% 0/49 | 0/10 | source/lib/core/categories.cpp |
| 0.0% 0/11 | 0/11 | source/lib/core/components/fwd.hpp |
| 0.0% 0/14 | 0/2 | source/lib/core/containers/aligned_static_vector.hpp |
| 0.0% 0/11 | 0/3 | source/lib/core/containers/c_array.hpp |
| 0.0% 0/1 | 0/1 | source/lib/core/containers/operators.hpp |
| 0.0% 0/46 | 0/12 | source/lib/core/containers/stable_vector.hpp |
| 0.0% 0/23 | 0/5 | source/lib/core/containers/static_vector.hpp |
| 0.0% 0/89 | 0/6 | source/lib/core/cpu.cpp |
| 0.0% 0/1 | 0/1 | source/lib/core/cpu.hpp |
| 0.0% 0/53 | 0/6 | source/lib/core/dynamic_library.cpp |
| 0.0% 0/28 | 0/7 | source/lib/core/exception.cpp |
| 0.0% 0/160 | 0/12 | source/lib/core/gpu_metrics.cpp |
| 0.0% 0/33 | 0/6 | source/lib/core/mpi.hpp |
| 0.0% 0/24 | 0/2 | source/lib/core/node_info.cpp |
| 0.0% 0/2 | 0/2 | source/lib/core/node_info.hpp |
| 0.0% 0/79 | 0/5 | source/lib/core/perf.cpp |
| 0.0% 0/51 | 0/5 | source/lib/core/perfetto/cached_perfetto_session.cpp |
| 0.0% 0/33 | 0/4 | source/lib/core/perfetto/counter_track.hpp |
| 0.0% 0/29 | 0/7 | source/lib/core/perfetto/emitter.cpp |
| 0.0% 0/48 | 0/9 | source/lib/core/perfetto/emitter.hpp |
| 0.0% 0/7 | 0/1 | source/lib/core/perfetto/sinks/append_mode.hpp |
| 0.0% 0/13 | 0/3 | source/lib/core/perfetto/sinks/tee_sink.cpp |
| 0.0% 0/1 | 0/1 | source/lib/core/perfetto/sinks/tee_sink.hpp |
| 0.0% 0/1 | 0/1 | source/lib/core/progress/bar.hpp |
| 0.0% 0/8 | 0/3 | source/lib/core/sdk/tracing-config-deps.hpp |
| 0.0% 0/54 | 0/3 | source/lib/core/trace_cache/cache_manager.cpp |
| 0.0% 0/7 | 0/3 | source/lib/core/trace_cache/cache_manager.hpp |
| 0.0% 0/516 | 0/71 | source/lib/core/trace_cache/metadata_registry.cpp |
| 0.0% 0/764 | 0/103 | source/lib/core/trace_cache/perfetto_processor.cpp |
| 0.0% 0/119 | 0/12 | source/lib/core/trace_cache/post_processor.cpp |
| 0.0% 0/817 | 0/32 | source/lib/core/trace_cache/rocpd_processor.cpp |
| 0.0% 0/77 | 0/1 | source/lib/core/trace_cache/sample_processor.hpp |
| 0.0% 0/14 | 0/6 | source/lib/rocprof-sys-causal-api/causal_api.cpp |
| 0.0% 0/539 | 0/85 | source/lib/rocprof-sys-dl/dl.cpp |
| 0.0% 0/16 | 0/1 | source/lib/rocprof-sys-dl/main.c |
| 0.0% 0/280 | 0/31 | source/lib/rocprof-sys-rt/src/RTcommon.c |
| 0.0% 0/29 | 0/4 | source/lib/rocprof-sys-rt/src/RTheap-linux.c |
| 0.0% 0/65 | 0/4 | source/lib/rocprof-sys-rt/src/RTheap.c |
| 0.0% 0/212 | 0/22 | source/lib/rocprof-sys-rt/src/RTlinux.c |
| 0.0% 0/97 | 0/8 | source/lib/rocprof-sys-rt/src/RTposix.c |
| 0.0% 0/6 | 0/2 | source/lib/rocprof-sys-rt/src/RTsignal.c |
| 0.0% 0/11 | 0/2 | source/lib/rocprof-sys-rt/src/RTthread-x86-64.c |
| 0.0% 0/3 | 0/1 | source/lib/rocprof-sys-rt/src/RTthread.c |
| 0.0% 0/84 | 0/20 | source/lib/rocprof-sys/api.cpp |
| 0.0% 0/620 | 0/36 | source/lib/rocprof-sys/library.cpp |
| 0.0% 0/77 | 0/6 | source/lib/rocprof-sys/library/causal/components/backtrace.cpp |
| 0.0% 0/7 | 0/2 | source/lib/rocprof-sys/library/causal/components/backtrace.hpp |
| 0.0% 0/93 | 0/11 | source/lib/rocprof-sys/library/causal/components/blocking_gotcha.cpp |
| 0.0% 0/33 | 0/7 | source/lib/rocprof-sys/library/causal/components/causal_gotcha.cpp |
| 0.0% 0/85 | 0/22 | source/lib/rocprof-sys/library/causal/components/progress_point.cpp |
| 0.0% 0/23 | 0/3 | source/lib/rocprof-sys/library/causal/components/progress_point.hpp |
| 0.0% 0/44 | 0/8 | source/lib/rocprof-sys/library/causal/components/unblocking_gotcha.cpp |
| 0.0% 0/553 | 0/33 | source/lib/rocprof-sys/library/causal/data.cpp |
| 0.0% 0/87 | 0/16 | source/lib/rocprof-sys/library/causal/delay.cpp |
| 0.0% 0/373 | 0/29 | source/lib/rocprof-sys/library/causal/experiment.cpp |
| 0.0% 0/3 | 0/2 | source/lib/rocprof-sys/library/causal/experiment.hpp |
| 0.0% 0/24 | 0/5 | source/lib/rocprof-sys/library/causal/sample_data.cpp |
| 0.0% 0/268 | 0/25 | source/lib/rocprof-sys/library/causal/sampling.cpp |
| 0.0% 0/4 | 0/1 | source/lib/rocprof-sys/library/causal/selected_entry.cpp |
| 0.0% 0/5 | 0/3 | source/lib/rocprof-sys/library/causal/selected_entry.hpp |
| 0.0% 0/71 | 0/11 | source/lib/rocprof-sys/library/components/backtrace.cpp |
| 0.0% 0/1 | 0/1 | source/lib/rocprof-sys/library/components/backtrace.hpp |
| 0.0% 0/215 | 0/30 | source/lib/rocprof-sys/library/components/backtrace_metrics.cpp |
| 0.0% 0/11 | 0/2 | source/lib/rocprof-sys/library/components/backtrace_metrics.hpp |
| 0.0% 0/9 | 0/3 | source/lib/rocprof-sys/library/components/backtrace_timestamp.cpp |
| 0.0% 0/4 | 0/2 | source/lib/rocprof-sys/library/components/backtrace_timestamp.hpp |
| 0.0% 0/71 | 0/10 | source/lib/rocprof-sys/library/components/callchain.cpp |
| 0.0% 0/1 | 0/1 | source/lib/rocprof-sys/library/components/callchain.hpp |
| 0.0% 0/367 | 0/30 | source/lib/rocprof-sys/library/components/comm_data.cpp |
| 0.0% 0/19 | 0/5 | source/lib/rocprof-sys/library/components/comm_data.hpp |
| 0.0% 0/8 | 0/2 | source/lib/rocprof-sys/library/components/ensure_storage.hpp |
| 0.0% 0/28 | 0/6 | source/lib/rocprof-sys/library/components/exit_gotcha.cpp |
| 0.0% 0/1 | 0/1 | source/lib/rocprof-sys/library/components/exit_gotcha.hpp |
| 0.0% 0/68 | 0/8 | source/lib/rocprof-sys/library/components/fork_gotcha.cpp |
| 0.0% 0/1 | 0/1 | source/lib/rocprof-sys/library/components/fork_gotcha.hpp |
| 0.0% 0/13 | 0/3 | source/lib/rocprof-sys/library/components/kill_gotcha.cpp |
| 0.0% 0/1 | 0/1 | source/lib/rocprof-sys/library/components/kill_gotcha.hpp |
| 0.0% 0/158 | 0/22 | source/lib/rocprof-sys/library/components/mpi_gotcha.cpp |
| 0.0% 0/2 | 0/1 | source/lib/rocprof-sys/library/components/mpi_gotcha.hpp |
| 0.0% 0/533 | 0/12 | source/lib/rocprof-sys/library/components/mpip.hpp |
| 0.0% 0/78 | 0/19 | source/lib/rocprof-sys/library/components/numa_gotcha.cpp |
| 0.0% 0/2 | 0/1 | source/lib/rocprof-sys/library/components/numa_gotcha.hpp |
| 0.0% 0/336 | 0/20 | source/lib/rocprof-sys/library/components/pthread_create_gotcha.cpp |
| 0.0% 0/3 | 0/1 | source/lib/rocprof-sys/library/components/pthread_create_gotcha.hpp |
| 0.0% 0/34 | 0/9 | source/lib/rocprof-sys/library/components/pthread_gotcha.cpp |
| 0.0% 0/24 | 0/2 | source/lib/rocprof-sys/library/components/pthread_mutex_gotcha_policy.hpp |
| 0.0% 0/164 | 0/31 | source/lib/rocprof-sys/library/components/vaapi_gotcha.cpp |
| 0.0% 0/2 | 0/1 | source/lib/rocprof-sys/library/components/vaapi_gotcha.hpp |
| 0.0% 0/145 | 0/10 | source/lib/rocprof-sys/library/coverage.cpp |
| 0.0% 0/29 | 0/5 | source/lib/rocprof-sys/library/coverage.hpp |
| 0.0% 0/60 | 0/16 | source/lib/rocprof-sys/library/coverage/impl.hpp |
| 0.0% 0/252 | 0/37 | source/lib/rocprof-sys/library/kokkosp.cpp |
| 0.0% 0/245 | 0/31 | source/lib/rocprof-sys/library/perf.cpp |
| 0.0% 0/11 | 0/3 | source/lib/rocprof-sys/library/perf.hpp |
| 0.0% 0/186 | 0/12 | source/lib/rocprof-sys/library/pmc/collectors/common/settings.hpp |
| 0.0% 0/66 | 0/5 | source/lib/rocprof-sys/library/pmc/collectors/cpu/cache_policy.hpp |
| 0.0% 0/47 | 0/6 | source/lib/rocprof-sys/library/pmc/collectors/cpu/cpu_traits.hpp |
| 0.0% 0/52 | 0/9 | source/lib/rocprof-sys/library/pmc/collectors/cpu/perfetto_policy.hpp |
| 0.0% 0/100 | 0/6 | source/lib/rocprof-sys/library/pmc/collectors/gpu/cache_policy.hpp |
| 0.0% 0/222 | 0/36 | source/lib/rocprof-sys/library/pmc/collectors/gpu/perfetto_policy.hpp |
| 0.0% 0/25 | 0/3 | source/lib/rocprof-sys/library/pmc/collectors/gpu/sample.hpp |
| 0.0% 0/32 | 0/3 | source/lib/rocprof-sys/library/pmc/collectors/gpu_perf_counter/cache_policy.hpp |
| 0.0% 0/39 | 0/7 | source/lib/rocprof-sys/library/pmc/collectors/gpu_perf_counter/perfetto_policy.hpp |
| 0.0% 0/16 | 0/2 | source/lib/rocprof-sys/library/pmc/collectors/nic/sample.hpp |
| 0.0% 0/14 | 0/2 | source/lib/rocprof-sys/library/pmc/device_providers/procfs/provider.hpp |
| 0.0% 0/148 | 0/18 | source/lib/rocprof-sys/library/pmc/sampler.cpp |
| 0.0% 0/113 | 0/11 | source/lib/rocprof-sys/library/process_sampler.cpp |
| 0.0% 0/13 | 0/1 | source/lib/rocprof-sys/library/process_sampler.hpp |
| 0.0% 0/2 | 0/1 | source/lib/rocprof-sys/library/rocm.cpp |
| 0.0% 0/1268 | 0/88 | source/lib/rocprof-sys/library/rocprofiler-sdk.cpp |
| 0.0% 0/111 | 0/13 | source/lib/rocprof-sys/library/rocprofiler-sdk/counters.cpp |
| 0.0% 0/17 | 0/6 | source/lib/rocprof-sys/library/rocprofiler-sdk/counters.hpp |
| 0.0% 0/129 | 0/9 | source/lib/rocprof-sys/library/rocprofiler-sdk/fwd.cpp |
| 0.0% 0/34 | 0/7 | source/lib/rocprof-sys/library/rocprofiler-sdk/fwd.hpp |
| 0.0% 0/36 | 0/9 | source/lib/rocprof-sys/library/rocprofiler-sdk/marker_writer.cpp |
| 0.0% 0/136 | 0/13 | source/lib/rocprof-sys/library/rocprofiler-sdk/rccl.cpp |
| 0.0% 0/112 | 0/10 | source/lib/rocprof-sys/library/rocprofiler-sdk/roctx_client.cpp |
| 0.0% 0/118 | 0/20 | source/lib/rocprof-sys/library/runtime.cpp |
| 0.0% 0/2 | 0/1 | source/lib/rocprof-sys/library/runtime.hpp |
| 0.0% 0/994 | 0/65 | source/lib/rocprof-sys/library/sampling.cpp |
| 0.0% 0/145 | 0/31 | source/lib/rocprof-sys/library/thread_data.hpp |
| 0.0% 0/10 | 0/3 | source/lib/rocprof-sys/library/thread_data_growth.hpp |
| 0.0% 0/10 | 0/1 | source/lib/rocprof-sys/library/thread_deleter.cpp |
| 0.0% 0/5 | 0/1 | source/lib/rocprof-sys/library/thread_deleter.hpp |
| 0.0% 0/161 | 0/27 | source/lib/rocprof-sys/library/thread_info.cpp |
| 0.0% 0/2 | 0/1 | source/lib/rocprof-sys/library/thread_info.hpp |
| 0.0% 0/113 | 0/11 | source/lib/rocprof-sys/library/tracing.cpp |
| 0.0% 0/109 | 0/30 | source/lib/rocprof-sys/library/tracing.hpp |
| 0.0% 0/3 | 0/1 | source/lib/rocprof-sys/library/tracing/annotation.cpp |
| 0.0% 0/45 | 0/4 | source/lib/rocprof-sys/library/tracing/annotation.hpp |
| 0.0% 0/8 | 0/2 | source/lib/rocprof-sys/progress.cpp |
| 0.0% 0/74 | 0/16 | source/lib/rocprof-sys/regions.cpp |
| 0.0% 0/82 | 0/4 | source/lib/rocprof-sys/timeout.cpp |
| 0.0% 0/440 | 0/45 | source/python/libpyrocprofsys.cpp |
| 0.6% 1/166 | 1/13 | source/lib/core/perfetto.cpp |
| 0.8% 7/859 | 1/74 | source/lib/core/argparse.cpp |
| 6.1% 2/33 | 1/3 | source/lib/core/amd_smi.cpp |
| 7.1% 1/14 | 0/1 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/iterators/primitive_iterator.hpp |
| 9.6% 17/178 | 4/25 | source/lib/core/constraint.cpp |
| 13.2% 30/227 | 8/25 | source/bin/rocprof-sys-avail/common.cpp |
| 15.4% 4/26 | 0/6 | source/lib/core/trace_cache/metadata_registry.hpp |
| 18.0% 32/178 | 6/23 | source/lib/core/gpu.cpp |
| 18.2% 4/22 | 1/3 | source/lib/common/static_object.hpp |
| 18.8% 9/48 | 2/5 | source/lib/core/output_file_registry.cpp |
| 19.0% 4/21 | 0/2 | source/lib/backends/rocprofiler_sdk/wrapper.hpp |
| 19.4% 6/31 | 2/5 | source/bin/common/common_utils.hpp |
🟠 20-50% (14 files)
| Lines | Functions | File |
|---|---|---|
| 20.0% 1/5 | 0/2 | source/lib/core/argparse.hpp |
| 21.3% 13/61 | 3/9 | source/lib/core/utility.hpp |
| 22.2% 2/9 | 0/6 | source/lib/core/constraint.hpp |
| 23.2% 13/56 | 1/4 | source/lib/core/mproc.cpp |
| 32.1% 52/162 | 7/17 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/input/json_sax.hpp |
| 34.8% 147/423 | 14/46 | build/coverage/_deps/fmt-src/include/fmt/format.h |
| 35.3% 612/1732 | 156/302 | source/lib/core/config.cpp |
| 36.5% 23/63 | 6/12 | source/lib/core/agent_manager.cpp |
| 38.2% 13/34 | 1/4 | source/lib/core/perfetto/sinks/io_helpers.hpp |
| 40.3% 195/484 | 14/17 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/input/lexer.hpp |
| 40.5% 17/42 | 5/12 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/exceptions.hpp |
| 46.0% 433/941 | 10/48 | source/bin/rocprof-sys-avail/avail.cpp |
| 47.4% 222/468 | 17/39 | build/coverage/_deps/fmt-src/include/fmt/base.h |
| 49.6% 127/256 | 14/32 | source/lib/rocprof-sys/library/components/category_region.hpp |
🟡 50-80% (35 files)
| Lines | Functions | File |
|---|---|---|
| 50.0% 153/306 | 9/11 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/output/serializer.hpp |
| 50.0% 1/2 | 0/1 | source/lib/rocprof-sys/library/pmc/collectors/nic/types.hpp |
| 51.9% 220/424 | 25/37 | source/bin/common/common_utils.cpp |
| 52.0% 13/25 | 2/3 | source/lib/rocprof-sys/library/pmc/collectors/gpu_perf_counter/gpu_perf_counter_traits.hpp |
| 53.3% 8/15 | 3/3 | source/lib/core/perfetto/sinks/per_pid_file_sink.cpp |
| 55.0% 22/40 | 4/6 | build/coverage/_deps/fmt-src/include/fmt/ranges.h |
| 55.6% 5/9 | 1/3 | build/coverage/_deps/fmt-src/include/fmt/chrono.h |
| 55.7% 34/61 | 5/8 | source/lib/rocprof-sys/library/pmc/collectors/cpu/sample.hpp |
| 58.3% 14/24 | 3/8 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/output/output_adapters.hpp |
| 58.3% 7/12 | 0/4 | build/coverage/_deps/spdlog-src/include/spdlog/common.h |
| 60.0% 3/5 | 1/1 | source/lib/core/agent.hpp |
| 62.1% 18/29 | 1/1 | source/lib/core/perfetto/locked_file_append.cpp |
| 62.1% 41/66 | 7/8 | source/lib/rocprof-sys/library/pmc/collectors/base/collector.hpp |
| 62.8% 49/78 | 4/5 | source/lib/core/trace_cache/discovery.cpp |
| 63.1% 70/111 | 7/10 | source/lib/core/progress/bar.cpp |
| 63.4% 272/429 | 33/40 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/json.hpp |
| 64.1% 336/524 | 26/40 | source/bin/common/json_config.cpp |
| 65.4% 34/52 | 4/4 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/conversions/from_json.hpp |
| 65.4% 17/26 | 2/3 | source/lib/core/config.hpp |
| 66.2% 47/71 | 5/5 | source/lib/rocprof-sys/library/pmc/collectors/gpu/gpu_traits.hpp |
| 66.4% 87/131 | 4/5 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/input/parser.hpp |
| 66.7% 2/3 | 0/2 | source/lib/rocprof-sys/library/pmc/collectors/cpu/types.hpp |
| 67.2% 43/64 | 11/14 | source/lib/core/trace_cache/data_types.cpp |
| 68.4% 39/57 | 4/6 | source/lib/core/perfetto.hpp |
| 68.8% 22/32 | 3/8 | source/lib/rocprof-sys/library/pmc/collectors/gpu_perf_counter/types.hpp |
| 71.1% 69/97 | 8/8 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/iterators/iter_impl.hpp |
| 71.9% 220/306 | 15/17 | source/bin/common/preset_registry.cpp |
| 72.3% 86/119 | 14/17 | source/lib/core/perfetto/engine.cpp |
| 73.7% 28/38 | 6/7 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/iterators/iteration_proxy.hpp |
| 75.0% 3/4 | 0/1 | source/lib/backends/amd_smi/nic_types.hpp |
| 75.0% 3/4 | 1/2 | source/lib/core/perfetto/sinks/single_file_sink.hpp |
| 76.5% 78/102 | 4/4 | source/lib/core/perfetto/sinks/single_file_sink.cpp |
| 77.8% 7/9 | 0/1 | source/bin/rocprof-sys-avail/info_type.hpp |
| 77.8% 77/99 | 10/11 | source/lib/core/perfetto/engine_impl.hpp |
| 79.3% 88/111 | 13/15 | source/lib/common/path.hpp |
🟢 80-100% (81 files)
| Lines | Functions | File |
|---|---|---|
| 80.0% 8/10 | 1/2 | build/coverage/include/profiler-hub/writer_types.hpp |
| 80.5% 62/77 | 9/10 | source/lib/rocprof-sys/library/pmc/device_providers/rocprofiler_sdk/provider.hpp |
| 82.8% 48/58 | 6/7 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/conversions/to_json.hpp |
| 83.9% 135/161 | 12/16 | source/lib/backends/procfs/backend.hpp |
| 84.6% 11/13 | 2/4 | source/lib/rocprof-sys/library/rocprofiler-sdk/roctx_client.hpp |
| 85.0% 85/100 | 11/15 | source/lib/logger/logger.hpp |
| 85.1% 40/47 | 2/2 | source/lib/core/trace_cache/storage_parser.hpp |
| 86.9% 213/245 | 15/16 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/conversions/to_chars.hpp |
| 89.0% 276/310 | 30/35 | source/lib/common/environment.hpp |
| 89.1% 49/55 | 4/4 | source/lib/rocprof-sys/library/pmc/collectors/gpu_perf_counter/device.hpp |
| 89.1% 221/248 | 23/33 | source/lib/core/sdk/tracing-config.hpp |
| 89.5% 34/38 | 5/8 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/input/input_adapters.hpp |
| 90.0% 54/60 | 4/4 | source/lib/core/trace_cache/buffer_storage.cpp |
| 90.1% 100/111 | 8/8 | source/lib/rocprof-sys/library/pmc/collectors/cpu/device.hpp |
| 90.7% 303/334 | 28/31 | source/lib/core/trace_cache/sample_type.hpp |
| 90.9% 10/11 | 1/2 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/json_ref.hpp |
| 91.0% 243/267 | 19/20 | source/lib/core/trace_cache/unified_memory_processor.cpp |
| 91.3% 178/195 | 14/18 | source/lib/rocprof-sys/library/components/shmem_gotcha.hpp |
| 91.7% 11/12 | 2/2 | source/lib/core/perfetto/session_backend.hpp |
| 91.7% 44/48 | 4/4 | source/lib/core/utility.cpp |
| 92.6% 163/176 | 9/9 | source/lib/rocprof-sys/library/pmc/collectors/gpu/device.hpp |
| 92.9% 13/14 | 0/1 | source/lib/rocprof-sys/library/pmc/collectors/common/collector_slice.hpp |
| 93.0% 40/43 | 6/11 | source/lib/core/demangler.hpp |
| 93.2% 68/73 | 7/8 | source/lib/core/trace_cache/buffer_storage.hpp |
| 94.1% 16/17 | 3/3 | source/bin/rocprof-sys-avail/component_categories.hpp |
| 94.2% 129/137 | 29/32 | source/lib/backends/rocprofiler_sdk/backend.hpp |
| 94.7% 36/38 | 7/7 | build/coverage/_deps/spdlog-src/include/spdlog/logger.h |
| 94.7% 54/57 | 6/8 | source/lib/rocprof-sys/library/components/pthread_mutex_gotcha.hpp |
| 94.8% 55/58 | 1/5 | source/lib/core/trace_cache/cacheable.hpp |
| 94.8% 92/97 | 9/10 | source/lib/rocprof-sys/library/rocprofiler-sdk/trace_control.cpp |
| 95.0% 19/20 | 4/6 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/string_concat.hpp |
| 95.7% 22/23 | 4/6 | source/lib/common/synchronized.hpp |
| 95.8% 23/24 | 2/4 | source/lib/common/pci_bdf.hpp |
| 95.9% 162/169 | 19/22 | source/lib/rocprof-sys/library/components/ucx_gotcha.hpp |
| 96.2% 25/26 | 1/2 | source/lib/common/delimit.hpp |
| 96.5% 82/85 | 11/12 | source/lib/core/state.hpp |
| 96.8% 30/31 | 3/4 | source/lib/rocprof-sys/library/pmc/collectors/gpu_perf_counter/sample.hpp |
| 97.3% 73/75 | 3/3 | source/lib/core/perfetto/packet_framing.hpp |
| 97.4% 74/76 | 6/6 | source/lib/core/common_types.hpp |
| 97.5% 39/40 | 6/7 | source/lib/core/trace_cache/rocpd_helpers.hpp |
| 97.8% 45/46 | 7/7 | source/lib/rocprof-sys/library/rocprofiler-sdk/rccl_internal.hpp |
| 97.9% 47/48 | 3/3 | source/lib/rocprof-sys/library/pmc/collectors/nic/device.hpp |
| 98.1% 51/52 | 7/7 | source/lib/rocprof-sys/library/pmc/device_providers/amd_smi/provider.hpp |
| 98.7% 78/79 | 15/16 | source/lib/backends/amd_smi/backend.hpp |
| 100.0% 14/14 | 1/1 | build/coverage/_deps/fmt-src/include/fmt/ostream.h |
| 100.0% 6/6 | 0/3 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/adl_serializer.hpp |
| 100.0% 2/2 | 0/1 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/input/position_t.hpp |
| 100.0% 2/2 | 0/1 | build/coverage/_deps/spdlog-src/include/spdlog/details/backtracer.h |
| 100.0% 2/2 | 0/1 | build/coverage/_deps/spdlog-src/include/spdlog/details/circular_q.h |
| 100.0% 1/1 | 0/1 | build/coverage/include/profiler-hub/reader_types.hpp |
| 100.0% 1/1 | 0/1 | source/bin/common/json_config.hpp |
| 100.0% 39/39 | 2/2 | source/bin/rocprof-sys-avail/get_availability.hpp |
| 100.0% 10/10 | 1/1 | source/bin/rocprof-sys-avail/get_categories.hpp |
| 100.0% 4/4 | 1/1 | source/bin/rocprof-sys-avail/info_type.cpp |
| 100.0% 107/107 | 13/14 | source/lib/backends/amd_smi/device.hpp |
| 100.0% 7/7 | 0/1 | source/lib/backends/amd_smi/gpu_types.hpp |
| 100.0% 1/1 | 0/1 | source/lib/backends/rocprofiler_sdk/types.hpp |
| 100.0% 12/12 | 1/1 | source/lib/common/join.hpp |
| 100.0% 5/5 | 1/1 | source/lib/common/string_utility.hpp |
| 100.0% 8/8 | 0/2 | source/lib/common/version.hpp |
| 100.0% 2/2 | 1/2 | source/lib/core/agent_manager.hpp |
| 100.0% 1/1 | 0/1 | source/lib/core/output_file_registry.hpp |
| 100.0% 1/1 | 0/1 | source/lib/core/perfetto/category_registry.hpp |
| 100.0% 1/1 | 0/1 | source/lib/core/perfetto/engine.hpp |
| 100.0% 7/7 | 0/1 | source/lib/core/perfetto/locked_file_append.hpp |
| 100.0% 9/9 | 2/3 | source/lib/core/perfetto/sinks/polymorphic_sink_view.hpp |
| 100.0% 6/6 | 2/2 | source/lib/core/perfetto/sinks/recording_sink.cpp |
| 100.0% 5/5 | 0/2 | source/lib/core/perfetto/sinks/recording_sink.hpp |
| 100.0% 6/6 | 2/2 | source/lib/core/progress/tracker.cpp |
| 100.0% 1/1 | 0/1 | source/lib/core/progress/tracker.hpp |
| 100.0% 4/4 | 0/3 | source/lib/core/trace_cache/data_types.hpp |
| 100.0% 9/9 | 3/3 | source/lib/core/trace_cache/type_registry.hpp |
| 100.0% 24/24 | 4/5 | source/lib/core/trace_cache/unified_memory_processor.hpp |
| 100.0% 5/5 | 2/2 | source/lib/core/track_registry.cpp |
| 100.0% 4/4 | 0/2 | source/lib/core/track_registry.hpp |
| 100.0% 10/10 | 1/1 | source/lib/logger/logger.cpp |
| 100.0% 9/9 | 0/2 | source/lib/rocprof-sys/library/pmc/collectors/gpu/types.hpp |
| 100.0% 20/20 | 4/4 | source/lib/rocprof-sys/library/pmc/collectors/nic/perfetto_policy.hpp |
| 100.0% 2/2 | 0/2 | source/lib/rocprof-sys/library/pmc/common/types.hpp |
| 100.0% 34/34 | 3/4 | source/lib/rocprof-sys/library/rocprofiler-sdk/marker_writer.hpp |
| 100.0% 3/3 | 1/2 | source/lib/rocprof-sys/library/rocprofiler-sdk/trace_control.hpp |
Distribution
| Range | Files |
|---|---|
| 0-20% | 191 |
| 20-50% | 14 |
| 50-80% | 35 |
| 80-100% | 81 |
E2E Tests
Code Coverage: e2e-tests
Lines: 🟡 64.4% — 22,708/35,268 across 321 files
Functions: 🟡 64.3% — 2,350/3,653
🔴 0-20% (49 files)
| Lines | Functions | File |
|---|---|---|
| 0.0% 0/10 | 0/2 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/byte_container_with_subtype.hpp |
| 0.0% 0/1 | 0/1 | build/coverage/_deps/spdlog-src/include/spdlog/details/log_msg_buffer.h |
| 0.0% 0/1 | 0/1 | build/coverage/_deps/spdlog-src/include/spdlog/sinks/ansicolor_sink.h |
| 0.0% 0/2 | 0/1 | build/coverage/include/profiler-hub/shared_types.hpp |
| 0.0% 0/102 | 0/6 | source/bin/rocprof-sys-avail/hw_counter_query.cpp |
| 0.0% 0/24 | 0/1 | source/lib/backends/amd_smi/wrapper.hpp |
| 0.0% 0/166 | 0/2 | source/lib/core/agent_info.hpp |
| 0.0% 0/89 | 0/6 | source/lib/core/cpu.cpp |
| 0.0% 0/1 | 0/1 | source/lib/core/cpu.hpp |
| 0.0% 0/53 | 0/6 | source/lib/core/dynamic_library.cpp |
| 0.0% 0/28 | 0/7 | source/lib/core/exception.cpp |
| 0.0% 0/160 | 0/12 | source/lib/core/gpu_metrics.cpp |
| 0.0% 0/13 | 0/3 | source/lib/core/perfetto/sinks/tee_sink.cpp |
| 0.0% 0/1 | 0/1 | source/lib/core/perfetto/sinks/tee_sink.hpp |
| 0.0% 0/8 | 0/3 | source/lib/core/sdk/tracing-config-deps.hpp |
| 0.0% 0/6 | 0/2 | source/lib/rocprof-sys-rt/src/RTsignal.c |
| 0.0% 0/11 | 0/2 | source/lib/rocprof-sys-rt/src/RTthread-x86-64.c |
| 0.0% 0/3 | 0/1 | source/lib/rocprof-sys-rt/src/RTthread.c |
| 0.0% 0/1 | 0/1 | source/lib/rocprof-sys/library/components/exit_gotcha.hpp |
| 0.0% 0/1 | 0/1 | source/lib/rocprof-sys/library/components/kill_gotcha.hpp |
| 0.0% 0/164 | 0/31 | source/lib/rocprof-sys/library/components/vaapi_gotcha.cpp |
| 0.0% 0/52 | 0/9 | source/lib/rocprof-sys/library/pmc/collectors/cpu/perfetto_policy.hpp |
| 0.0% 0/100 | 0/6 | source/lib/rocprof-sys/library/pmc/collectors/gpu/cache_policy.hpp |
| 0.0% 0/222 | 0/36 | source/lib/rocprof-sys/library/pmc/collectors/gpu/perfetto_policy.hpp |
| 0.0% 0/25 | 0/3 | source/lib/rocprof-sys/library/pmc/collectors/gpu/sample.hpp |
| 0.0% 0/32 | 0/3 | source/lib/rocprof-sys/library/pmc/collectors/gpu_perf_counter/cache_policy.hpp |
| 0.0% 0/39 | 0/7 | source/lib/rocprof-sys/library/pmc/collectors/gpu_perf_counter/perfetto_policy.hpp |
| 0.0% 0/16 | 0/2 | source/lib/rocprof-sys/library/pmc/collectors/nic/sample.hpp |
| 0.0% 0/2 | 0/1 | source/lib/rocprof-sys/library/rocm.cpp |
| 0.0% 0/111 | 0/13 | source/lib/rocprof-sys/library/rocprofiler-sdk/counters.cpp |
| 0.0% 0/17 | 0/6 | source/lib/rocprof-sys/library/rocprofiler-sdk/counters.hpp |
| 0.0% 0/129 | 0/9 | source/lib/rocprof-sys/library/rocprofiler-sdk/fwd.cpp |
| 0.0% 0/34 | 0/7 | source/lib/rocprof-sys/library/rocprofiler-sdk/fwd.hpp |
| 0.0% 0/136 | 0/13 | source/lib/rocprof-sys/library/rocprofiler-sdk/rccl.cpp |
| 0.0% 0/112 | 0/10 | source/lib/rocprof-sys/library/rocprofiler-sdk/roctx_client.cpp |
| 0.0% 0/3 | 0/1 | source/lib/rocprof-sys/library/tracing/annotation.cpp |
| 0.0% 0/45 | 0/4 | source/lib/rocprof-sys/library/tracing/annotation.hpp |
| 0.0% 0/440 | 0/45 | source/python/libpyrocprofsys.cpp |
| 0.6% 1/166 | 1/13 | source/lib/core/perfetto.cpp |
| 2.6% 33/1268 | 3/88 | source/lib/rocprof-sys/library/rocprofiler-sdk.cpp |
| 6.1% 2/33 | 1/3 | source/lib/core/amd_smi.cpp |
| 7.1% 1/14 | 0/1 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/iterators/primitive_iterator.hpp |
| 8.3% 3/36 | 1/9 | source/lib/rocprof-sys/library/rocprofiler-sdk/marker_writer.cpp |
| 13.6% 38/280 | 7/31 | source/lib/rocprof-sys-rt/src/RTcommon.c |
| 13.8% 4/29 | 1/4 | source/lib/rocprof-sys-rt/src/RTheap-linux.c |
| 14.2% 30/212 | 4/22 | source/lib/rocprof-sys-rt/src/RTlinux.c |
| 16.2% 12/74 | 4/16 | source/lib/rocprof-sys/regions.cpp |
| 18.0% 32/178 | 6/23 | source/lib/core/gpu.cpp |
| 19.0% 4/21 | 0/2 | source/lib/backends/rocprofiler_sdk/wrapper.hpp |
🟠 20-50% (25 files)
| Lines | Functions | File |
|---|---|---|
| 21.5% 17/79 | 3/5 | source/lib/core/perf.cpp |
| 23.3% 190/817 | 9/32 | source/lib/core/trace_cache/rocpd_processor.cpp |
| 23.6% 122/516 | 24/71 | source/lib/core/trace_cache/metadata_registry.cpp |
| 27.8% 27/97 | 4/8 | source/lib/rocprof-sys-rt/src/RTposix.c |
| 31.7% 59/186 | 6/12 | source/lib/rocprof-sys/library/pmc/collectors/common/settings.hpp |
| 32.1% 52/162 | 7/17 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/input/json_sax.hpp |
| 32.6% 249/764 | 34/103 | source/lib/core/trace_cache/perfetto_processor.cpp |
| 35.7% 30/84 | 10/20 | source/lib/rocprof-sys/api.cpp |
| 35.7% 10/28 | 3/6 | source/lib/rocprof-sys/library/components/exit_gotcha.cpp |
| 38.5% 5/13 | 2/3 | source/lib/rocprof-sys/library/components/kill_gotcha.cpp |
| 38.8% 31/80 | 1/2 | source/bin/rocprof-sys-causal/rocprof-sys-causal.cpp |
| 39.8% 37/93 | 5/11 | source/lib/rocprof-sys/library/causal/components/blocking_gotcha.cpp |
| 40.3% 195/484 | 14/17 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/input/lexer.hpp |
| 40.5% 17/42 | 5/12 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/exceptions.hpp |
| 41.3% 26/63 | 7/12 | source/lib/core/agent_manager.cpp |
| 43.8% 21/48 | 6/9 | source/lib/core/perfetto/emitter.hpp |
| 43.9% 36/82 | 2/4 | source/lib/rocprof-sys/timeout.cpp |
| 44.4% 4/9 | 1/3 | source/lib/rocprof-sys/library/components/backtrace_timestamp.cpp |
| 45.0% 27/60 | 6/16 | source/lib/rocprof-sys/library/coverage/impl.hpp |
| 45.6% 72/158 | 3/7 | source/bin/rocprof-sys-instrument/info.hpp |
| 46.2% 36/78 | 6/19 | source/lib/rocprof-sys/library/components/numa_gotcha.cpp |
| 47.7% 31/65 | 3/4 | source/lib/rocprof-sys-rt/src/RTheap.c |
| 48.3% 14/29 | 5/7 | source/lib/core/perfetto/emitter.cpp |
| 48.5% 178/367 | 16/30 | source/lib/rocprof-sys/library/components/comm_data.cpp |
| 49.5% 54/109 | 12/30 | source/lib/rocprof-sys/library/tracing.hpp |
🟡 50-80% (72 files)
| Lines | Functions | File |
|---|---|---|
| 50.0% 8/16 | 2/4 | source/lib/binary/address_multirange.cpp |
| 50.0% 7/14 | 2/6 | source/lib/rocprof-sys-causal-api/causal_api.cpp |
| 50.0% 1/2 | 0/1 | source/lib/rocprof-sys/library/components/numa_gotcha.hpp |
| 50.0% 1/2 | 0/1 | source/lib/rocprof-sys/library/components/vaapi_gotcha.hpp |
| 50.0% 1/2 | 0/1 | source/lib/rocprof-sys/library/pmc/collectors/nic/types.hpp |
| 50.0% 1/2 | 0/1 | source/lib/rocprof-sys/library/thread_info.hpp |
| 50.0% 4/8 | 1/2 | source/lib/rocprof-sys/progress.cpp |
| 50.4% 213/423 | 23/46 | build/coverage/_deps/fmt-src/include/fmt/format.h |
| 50.8% 128/252 | 25/37 | source/lib/rocprof-sys/library/kokkosp.cpp |
| 52.0% 13/25 | 2/3 | source/lib/rocprof-sys/library/pmc/collectors/gpu_perf_counter/gpu_perf_counter_traits.hpp |
| 53.2% 41/77 | 0/1 | source/lib/core/trace_cache/sample_processor.hpp |
| 53.4% 79/148 | 12/18 | source/lib/rocprof-sys/library/pmc/sampler.cpp |
| 55.0% 22/40 | 4/6 | build/coverage/_deps/fmt-src/include/fmt/ranges.h |
| 55.6% 5/9 | 1/3 | build/coverage/_deps/fmt-src/include/fmt/chrono.h |
| 56.2% 172/306 | 9/11 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/output/serializer.hpp |
| 57.5% 23/40 | 1/3 | source/lib/common/invoke.hpp |
| 58.3% 14/24 | 3/8 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/output/output_adapters.hpp |
| 58.3% 7/12 | 0/4 | build/coverage/_deps/spdlog-src/include/spdlog/common.h |
| 60.0% 63/105 | 5/9 | source/bin/common/argument_registration.hpp |
| 60.0% 3/5 | 1/1 | source/lib/core/agent.hpp |
| 60.9% 131/215 | 12/30 | source/lib/rocprof-sys/library/components/backtrace_metrics.cpp |
| 61.8% 289/468 | 21/39 | build/coverage/_deps/fmt-src/include/fmt/base.h |
| 61.8% 42/68 | 5/8 | source/lib/rocprof-sys/library/components/fork_gotcha.cpp |
| 62.1% 18/29 | 1/1 | source/lib/core/perfetto/locked_file_append.cpp |
| 62.5% 50/80 | 13/18 | source/lib/core/binary/address_range.cpp |
| 62.8% 49/78 | 4/5 | source/lib/core/trace_cache/discovery.cpp |
| 63.1% 70/111 | 7/10 | source/lib/core/progress/bar.cpp |
| 63.3% 155/245 | 23/31 | source/lib/rocprof-sys/library/perf.cpp |
| 64.7% 22/34 | 3/4 | source/lib/core/perfetto/sinks/io_helpers.hpp |
| 65.4% 34/52 | 4/4 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/conversions/from_json.hpp |
| 65.5% 281/429 | 33/40 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/json.hpp |
| 66.1% 37/56 | 3/4 | source/lib/core/mproc.cpp |
| 66.2% 47/71 | 5/5 | source/lib/rocprof-sys/library/pmc/collectors/gpu/gpu_traits.hpp |
| 66.4% 87/131 | 4/5 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/input/parser.hpp |
| 66.9% 79/118 | 15/20 | source/lib/rocprof-sys/library/runtime.cpp |
| 67.1% 106/158 | 14/22 | source/lib/rocprof-sys/library/components/mpi_gotcha.cpp |
| 68.8% 22/32 | 3/8 | source/lib/rocprof-sys/library/pmc/collectors/gpu_perf_counter/types.hpp |
| 69.1% 465/673 | 34/46 | source/bin/rocprof-sys-instrument/details.cpp |
| 69.2% 373/539 | 40/85 | source/lib/rocprof-sys-dl/dl.cpp |
| 69.2% 18/26 | 2/6 | source/lib/core/trace_cache/metadata_registry.hpp |
| 69.2% 9/13 | 0/1 | source/lib/rocprof-sys/library/process_sampler.hpp |
| 69.7% 46/66 | 7/8 | source/lib/rocprof-sys/library/pmc/collectors/base/collector.hpp |
| 70.2% 40/57 | 4/6 | source/lib/core/perfetto.hpp |
| 70.3% 64/91 | 5/7 | source/bin/rocprof-sys-instrument/function_signature.cpp |
| 70.6% 24/34 | 5/9 | source/lib/rocprof-sys/library/components/pthread_gotcha.cpp |
| 71.1% 69/97 | 8/8 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/iterators/iter_impl.hpp |
| 71.4% 10/14 | 1/2 | source/lib/core/containers/aligned_static_vector.hpp |
| 72.5% 721/994 | 52/65 | source/lib/rocprof-sys/library/sampling.cpp |
| 72.7% 24/33 | 5/7 | source/lib/rocprof-sys/library/causal/components/causal_gotcha.cpp |
| 72.7% 32/44 | 5/8 | source/lib/rocprof-sys/library/causal/components/unblocking_gotcha.cpp |
| 73.7% 28/38 | 6/7 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/iterators/iteration_proxy.hpp |
| 74.2% 227/306 | 16/17 | source/bin/common/preset_registry.cpp |
| 74.3% 411/553 | 30/33 | source/lib/rocprof-sys/library/causal/data.cpp |
| 74.5% 35/47 | 4/6 | source/lib/rocprof-sys/library/pmc/collectors/cpu/cpu_traits.hpp |
| 75.0% 15/20 | 5/5 | source/bin/rocprof-sys-instrument/function_signature.hpp |
| 75.0% 3/4 | 0/1 | source/lib/backends/amd_smi/nic_types.hpp |
| 75.0% 18/24 | 4/5 | source/lib/rocprof-sys/library/causal/sample_data.cpp |
| 75.2% 394/524 | 30/40 | source/bin/common/json_config.cpp |
| 75.6% 1161/1536 | 51/87 | source/bin/rocprof-sys-instrument/rocprof-sys-instrument.cpp |
| 75.6% 90/119 | 11/12 | source/lib/core/trace_cache/post_processor.cpp |
| 76.5% 408/533 | 40/41 | source/bin/rocprof-sys-instrument/module_function.cpp |
| 76.6% 49/64 | 5/6 | source/bin/rocprof-sys-instrument/log.cpp |
| 76.8% 53/69 | 5/6 | source/lib/binary/link_map.cpp |
| 77.3% 17/22 | 3/3 | source/lib/common/static_object.hpp |
| 77.4% 328/424 | 35/37 | source/bin/common/common_utils.cpp |
| 77.7% 482/620 | 27/36 | source/lib/rocprof-sys/library.cpp |
| 77.9% 113/145 | 26/31 | source/lib/rocprof-sys/library/thread_data.hpp |
| 78.0% 209/268 | 23/25 | source/lib/rocprof-sys/library/causal/sampling.cpp |
| 78.1% 139/178 | 19/25 | source/lib/core/constraint.cpp |
| 79.1% 201/254 | 24/28 | source/bin/common/tool_runner.cpp |
| 79.2% 19/24 | 2/2 | source/lib/core/node_info.cpp |
| 79.9% 211/264 | 20/22 | source/bin/rocprof-sys-instrument/internal_libs.cpp |
🟢 80-100% (175 files)
| Lines | Functions | File |
|---|---|---|
| 80.0% 4/5 | 0/1 | source/bin/rocprof-sys-instrument/log.hpp |
| 80.5% 62/77 | 9/10 | source/lib/rocprof-sys/library/pmc/device_providers/rocprofiler_sdk/provider.hpp |
| 81.2% 69/85 | 17/22 | source/lib/rocprof-sys/library/causal/components/progress_point.cpp |
| 81.2% 13/16 | 1/1 | source/lib/rocprof-sys-dl/main.c |
| 81.4% 131/161 | 24/27 | source/lib/rocprof-sys/library/thread_info.cpp |
| 81.8% 1417/1732 | 277/302 | source/lib/core/config.cpp |
| 81.8% 81/99 | 11/11 | source/lib/core/perfetto/engine_impl.hpp |
| 82.4% 42/51 | 5/5 | source/lib/core/perfetto/cached_perfetto_session.cpp |
| 82.4% 187/227 | 22/25 | source/bin/rocprof-sys-avail/common.cpp |
| 83.3% 85/102 | 4/4 | source/lib/core/perfetto/sinks/single_file_sink.cpp |
| 83.4% 131/157 | 12/12 | source/bin/rocprof-sys-instrument/rocprof-sys-instrument.hpp |
| 84.2% 16/19 | 3/5 | source/lib/rocprof-sys/library/components/comm_data.hpp |
| 84.3% 86/102 | 8/9 | source/lib/binary/dwarf_entry.cpp |
| 84.6% 11/13 | 2/4 | source/lib/rocprof-sys/library/rocprofiler-sdk/roctx_client.hpp |
| 84.8% 134/158 | 17/18 | source/lib/binary/symbol.cpp |
| 85.0% 317/373 | 18/29 | source/lib/rocprof-sys/library/causal/experiment.cpp |
| 85.1% 74/87 | 14/16 | source/lib/rocprof-sys/library/causal/delay.cpp |
| 85.8% 97/113 | 9/11 | source/lib/rocprof-sys/library/process_sampler.cpp |
| 86.0% 86/100 | 11/15 | source/lib/logger/logger.hpp |
| 86.0% 80/93 | 5/7 | source/bin/rocprof-sys-instrument/module_function.hpp |
| 87.0% 47/54 | 3/3 | source/lib/core/trace_cache/cache_manager.cpp |
| 87.4% 390/446 | 35/47 | source/bin/rocprof-sys-causal/impl.cpp |
| 87.5% 42/48 | 4/5 | source/lib/core/output_file_registry.cpp |
| 87.6% 99/113 | 10/11 | source/lib/rocprof-sys/library/tracing.cpp |
| 88.9% 8/9 | 5/6 | source/lib/core/constraint.hpp |
| 89.0% 129/145 | 10/10 | source/lib/rocprof-sys/library/coverage.cpp |
| 89.0% 299/336 | 16/20 | source/lib/rocprof-sys/library/components/pthread_create_gotcha.cpp |
| 89.0% 276/310 | 31/35 | source/lib/common/environment.hpp |
| 89.1% 49/55 | 4/4 | source/lib/rocprof-sys/library/pmc/collectors/gpu_perf_counter/device.hpp |
| 89.1% 221/248 | 23/33 | source/lib/core/sdk/tracing-config.hpp |
| 89.4% 768/859 | 59/74 | source/lib/core/argparse.cpp |
| 89.8% 220/245 | 15/16 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/conversions/to_chars.hpp |
| 90.0% 9/10 | 1/1 | source/lib/binary/scope_filter.cpp |
| 90.0% 54/60 | 4/4 | source/lib/core/trace_cache/buffer_storage.cpp |
| 90.0% 9/10 | 1/1 | source/lib/rocprof-sys/library/thread_deleter.cpp |
| 90.1% 64/71 | 9/11 | source/lib/rocprof-sys/library/components/backtrace.cpp |
| 90.1% 64/71 | 7/10 | source/lib/rocprof-sys/library/components/callchain.cpp |
| 90.7% 234/258 | 11/12 | source/bin/rocprof-sys-avail/generate_config.cpp |
| 90.7% 303/334 | 28/31 | source/lib/core/trace_cache/sample_type.hpp |
| 90.9% 10/11 | 1/2 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/json_ref.hpp |
| 90.9% 20/22 | 2/2 | source/lib/common/setup.hpp |
| 91.0% 243/267 | 19/20 | source/lib/core/trace_cache/unified_memory_processor.cpp |
| 91.3% 178/195 | 14/18 | source/lib/rocprof-sys/library/components/shmem_gotcha.hpp |
| 91.3% 21/23 | 4/5 | source/lib/core/containers/static_vector.hpp |
| 91.5% 107/117 | 5/5 | source/lib/binary/analysis.cpp |
| 91.7% 11/12 | 2/2 | source/lib/core/perfetto/session_backend.hpp |
| 91.9% 102/111 | 8/8 | source/lib/rocprof-sys/library/pmc/collectors/cpu/device.hpp |
| 92.6% 163/176 | 9/9 | source/lib/rocprof-sys/library/pmc/collectors/gpu/device.hpp |
| 92.8% 873/941 | 41/48 | source/bin/rocprof-sys-avail/avail.cpp |
| 92.9% 13/14 | 0/1 | source/lib/rocprof-sys/library/pmc/collectors/common/collector_slice.hpp |
| 92.9% 13/14 | 2/2 | source/lib/rocprof-sys/library/pmc/device_providers/procfs/provider.hpp |
| 93.1% 27/29 | 3/5 | source/lib/rocprof-sys/library/coverage.hpp |
| 93.2% 68/73 | 7/8 | source/lib/core/trace_cache/buffer_storage.hpp |
| 93.3% 111/119 | 16/17 | source/lib/core/perfetto/engine.cpp |
| 93.3% 14/15 | 3/3 | source/lib/core/perfetto/sinks/per_pid_file_sink.cpp |
| 93.4% 239/256 | 28/32 | source/lib/rocprof-sys/library/components/category_region.hpp |
| 93.9% 31/33 | 6/6 | source/lib/core/mpi.hpp |
| 94.1% 16/17 | 3/3 | source/bin/rocprof-sys-avail/component_categories.hpp |
| 94.2% 129/137 | 29/32 | source/lib/backends/rocprofiler_sdk/backend.hpp |
| 94.4% 152/161 | 14/16 | source/lib/backends/procfs/backend.hpp |
| 94.6% 105/111 | 14/15 | source/lib/common/path.hpp |
| 94.7% 36/38 | 7/7 | build/coverage/_deps/spdlog-src/include/spdlog/logger.h |
| 94.8% 55/58 | 1/5 | source/lib/core/trace_cache/cacheable.hpp |
| 95.0% 19/20 | 4/6 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/string_concat.hpp |
| 95.1% 58/61 | 7/8 | source/lib/rocprof-sys/library/pmc/collectors/cpu/sample.hpp |
| 95.7% 44/46 | 10/12 | source/lib/core/containers/stable_vector.hpp |
| 95.7% 45/47 | 2/2 | source/lib/core/trace_cache/storage_parser.hpp |
| 95.8% 23/24 | 2/4 | source/lib/common/pci_bdf.hpp |
| 95.9% 162/169 | 19/22 | source/lib/rocprof-sys/library/components/ucx_gotcha.hpp |
| 96.1% 74/77 | 6/6 | source/lib/rocprof-sys/library/causal/components/backtrace.cpp |
| 96.2% 25/26 | 1/2 | source/lib/common/delimit.hpp |
| 96.6% 56/58 | 7/7 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/conversions/to_json.hpp |
| 96.7% 59/61 | 9/9 | source/lib/core/utility.hpp |
| 96.8% 30/31 | 3/4 | source/lib/rocprof-sys/library/pmc/collectors/gpu_perf_counter/sample.hpp |
| 96.9% 62/64 | 14/14 | source/lib/core/trace_cache/data_types.cpp |
| 96.9% 94/97 | 10/10 | source/lib/rocprof-sys/library/rocprofiler-sdk/trace_control.cpp |
| 97.0% 32/33 | 4/4 | source/lib/core/perfetto/counter_track.hpp |
| 97.3% 73/75 | 3/3 | source/lib/core/perfetto/packet_framing.hpp |
| 97.4% 74/76 | 6/6 | source/lib/core/common_types.hpp |
| 97.5% 39/40 | 6/7 | source/lib/core/trace_cache/rocpd_helpers.hpp |
| 97.7% 42/43 | 7/11 | source/lib/core/demangler.hpp |
| 97.8% 45/46 | 7/7 | source/lib/rocprof-sys/library/rocprofiler-sdk/rccl_internal.hpp |
| 97.9% 47/48 | 4/4 | source/lib/core/utility.cpp |
| 97.9% 47/48 | 3/3 | source/lib/rocprof-sys/library/pmc/collectors/nic/device.hpp |
| 98.0% 147/150 | 9/10 | source/lib/common/md5sum.hpp |
| 98.1% 51/52 | 7/7 | source/lib/rocprof-sys/library/pmc/device_providers/amd_smi/provider.hpp |
| 98.2% 56/57 | 6/8 | source/lib/rocprof-sys/library/components/pthread_mutex_gotcha.hpp |
| 98.7% 78/79 | 15/16 | source/lib/backends/amd_smi/backend.hpp |
| 100.0% 14/14 | 1/1 | build/coverage/_deps/fmt-src/include/fmt/ostream.h |
| 100.0% 6/6 | 0/3 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/adl_serializer.hpp |
| 100.0% 38/38 | 7/8 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/input/input_adapters.hpp |
| 100.0% 2/2 | 0/1 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/input/position_t.hpp |
| 100.0% 2/2 | 0/1 | build/coverage/_deps/spdlog-src/include/spdlog/details/backtracer.h |
| 100.0% 2/2 | 0/1 | build/coverage/_deps/spdlog-src/include/spdlog/details/circular_q.h |
| 100.0% 1/1 | 0/1 | build/coverage/include/profiler-hub/reader_types.hpp |
| 100.0% 10/10 | 1/2 | build/coverage/include/profiler-hub/writer_types.hpp |
| 100.0% 31/31 | 4/5 | source/bin/common/common_utils.hpp |
| 100.0% 1/1 | 0/1 | source/bin/common/json_config.hpp |
| 100.0% 61/61 | 6/6 | source/bin/rocprof-sys-avail/avail.hpp |
| 100.0% 39/39 | 2/2 | source/bin/rocprof-sys-avail/get_availability.hpp |
| 100.0% 10/10 | 1/1 | source/bin/rocprof-sys-avail/get_categories.hpp |
| 100.0% 4/4 | 1/1 | source/bin/rocprof-sys-avail/info_type.cpp |
| 100.0% 9/9 | 0/1 | source/bin/rocprof-sys-avail/info_type.hpp |
| 100.0% 2/2 | 1/1 | source/bin/rocprof-sys-run/rocprof-sys-run.cpp |
| 100.0% 2/2 | 1/1 | source/bin/rocprof-sys-sample/rocprof-sys-sample.cpp |
| 100.0% 107/107 | 13/14 | source/lib/backends/amd_smi/device.hpp |
| 100.0% 7/7 | 0/1 | source/lib/backends/amd_smi/gpu_types.hpp |
| 100.0% 1/1 | 0/1 | source/lib/backends/rocprofiler_sdk/types.hpp |
| 100.0% 9/9 | 0/1 | source/lib/binary/address_multirange.hpp |
| 100.0% 7/7 | 1/1 | source/lib/binary/binary_info.hpp |
| 100.0% 1/1 | 0/1 | source/lib/binary/dwarf_entry.hpp |
| 100.0% 3/3 | 0/1 | source/lib/binary/link_map.hpp |
| 100.0% 5/5 | 1/2 | source/lib/binary/scope_filter.hpp |
| 100.0% 8/8 | 7/8 | source/lib/binary/symbol.hpp |
| 100.0% 9/9 | 2/2 | source/lib/common/env_vars.hpp |
| 100.0% 12/12 | 1/1 | source/lib/common/join.hpp |
| 100.0% 5/5 | 1/1 | source/lib/common/string_utility.hpp |
| 100.0% 23/23 | 5/6 | source/lib/common/synchronized.hpp |
| 100.0% 3/3 | 1/1 | source/lib/common/units.hpp |
| 100.0% 8/8 | 0/2 | source/lib/common/version.hpp |
| 100.0% 2/2 | 1/2 | source/lib/core/agent_manager.hpp |
| 100.0% 5/5 | 0/2 | source/lib/core/argparse.hpp |
| 100.0% 9/9 | 1/3 | source/lib/core/binary/address_range.hpp |
| 100.0% 49/49 | 10/10 | source/lib/core/categories.cpp |
| 100.0% 11/11 | 11/11 | source/lib/core/components/fwd.hpp |
| 100.0% 26/26 | 3/3 | source/lib/core/config.hpp |
| 100.0% 11/11 | 1/3 | source/lib/core/containers/c_array.hpp |
| 100.0% 1/1 | 0/1 | source/lib/core/containers/operators.hpp |
| 100.0% 2/2 | 2/2 | source/lib/core/node_info.hpp |
| 100.0% 1/1 | 0/1 | source/lib/core/output_file_registry.hpp |
| 100.0% 1/1 | 0/1 | source/lib/core/perfetto/category_registry.hpp |
| 100.0% 1/1 | 0/1 | source/lib/core/perfetto/engine.hpp |
| 100.0% 7/7 | 0/1 | source/lib/core/perfetto/locked_file_append.hpp |
| 100.0% 7/7 | 1/1 | source/lib/core/perfetto/sinks/append_mode.hpp |
| 100.0% 9/9 | 2/3 | source/lib/core/perfetto/sinks/polymorphic_sink_view.hpp |
| 100.0% 6/6 | 2/2 | source/lib/core/perfetto/sinks/recording_sink.cpp |
| 100.0% 5/5 | 0/2 | source/lib/core/perfetto/sinks/recording_sink.hpp |
| 100.0% 4/4 | 2/2 | source/lib/core/perfetto/sinks/single_file_sink.hpp |
| 100.0% 1/1 | 0/1 | source/lib/core/progress/bar.hpp |
| 100.0% 6/6 | 2/2 | source/lib/core/progress/tracker.cpp |
| 100.0% 1/1 | 0/1 | source/lib/core/progress/tracker.hpp |
| 100.0% 85/85 | 11/12 | source/lib/core/state.hpp |
| 100.0% 7/7 | 1/3 | source/lib/core/trace_cache/cache_manager.hpp |
| 100.0% 4/4 | 0/3 | source/lib/core/trace_cache/data_types.hpp |
| 100.0% 9/9 | 3/3 | source/lib/core/trace_cache/type_registry.hpp |
| 100.0% 24/24 | 4/5 | source/lib/core/trace_cache/unified_memory_processor.hpp |
| 100.0% 5/5 | 2/2 | source/lib/core/track_registry.cpp |
| 100.0% 4/4 | 0/2 | source/lib/core/track_registry.hpp |
| 100.0% 10/10 | 1/1 | source/lib/logger/logger.cpp |
| 100.0% 7/7 | 1/2 | source/lib/rocprof-sys/library/causal/components/backtrace.hpp |
| 100.0% 23/23 | 2/3 | source/lib/rocprof-sys/library/causal/components/progress_point.hpp |
| 100.0% 3/3 | 1/2 | source/lib/rocprof-sys/library/causal/experiment.hpp |
| 100.0% 4/4 | 1/1 | source/lib/rocprof-sys/library/causal/selected_entry.cpp |
| 100.0% 5/5 | 2/3 | source/lib/rocprof-sys/library/causal/selected_entry.hpp |
| 100.0% 1/1 | 1/1 | source/lib/rocprof-sys/library/components/backtrace.hpp |
| 100.0% 11/11 | 1/2 | source/lib/rocprof-sys/library/components/backtrace_metrics.hpp |
| 100.0% 4/4 | 0/2 | source/lib/rocprof-sys/library/components/backtrace_timestamp.hpp |
| 100.0% 1/1 | 1/1 | source/lib/rocprof-sys/library/components/callchain.hpp |
| 100.0% 8/8 | 2/2 | source/lib/rocprof-sys/library/components/ensure_storage.hpp |
| 100.0% 1/1 | 0/1 | source/lib/rocprof-sys/library/components/fork_gotcha.hpp |
| 100.0% 2/2 | 0/1 | source/lib/rocprof-sys/library/components/mpi_gotcha.hpp |
| 100.0% 533/533 | 12/12 | source/lib/rocprof-sys/library/components/mpip.hpp |
| 100.0% 3/3 | 0/1 | source/lib/rocprof-sys/library/components/pthread_create_gotcha.hpp |
| 100.0% 24/24 | 1/2 | source/lib/rocprof-sys/library/components/pthread_mutex_gotcha_policy.hpp |
| 100.0% 11/11 | 0/3 | source/lib/rocprof-sys/library/perf.hpp |
| 100.0% 66/66 | 5/5 | source/lib/rocprof-sys/library/pmc/collectors/cpu/cache_policy.hpp |
| 100.0% 3/3 | 0/2 | source/lib/rocprof-sys/library/pmc/collectors/cpu/types.hpp |
| 100.0% 9/9 | 0/2 | source/lib/rocprof-sys/library/pmc/collectors/gpu/types.hpp |
| 100.0% 20/20 | 4/4 | source/lib/rocprof-sys/library/pmc/collectors/nic/perfetto_policy.hpp |
| 100.0% 2/2 | 0/2 | source/lib/rocprof-sys/library/pmc/common/types.hpp |
| 100.0% 34/34 | 3/4 | source/lib/rocprof-sys/library/rocprofiler-sdk/marker_writer.hpp |
| 100.0% 3/3 | 1/2 | source/lib/rocprof-sys/library/rocprofiler-sdk/trace_control.hpp |
| 100.0% 2/2 | 0/1 | source/lib/rocprof-sys/library/runtime.hpp |
| 100.0% 10/10 | 3/3 | source/lib/rocprof-sys/library/thread_data_growth.hpp |
| 100.0% 5/5 | 1/1 | source/lib/rocprof-sys/library/thread_deleter.hpp |
Distribution
| Range | Files |
|---|---|
| 0-20% | 49 |
| 20-50% | 25 |
| 50-80% | 72 |
| 80-100% | 175 |
Previously the profiler defaulted to Perfetto (.proto) output, requiring users to explicitly opt in to rocpd via ROCPROFSYS_USE_ROCPD=1 or --output-format rocpd. This change reverses the default so that rocpd (.db) is produced out of the box and Perfetto becomes opt-in. Key changes: - config.cpp: set ROCPROFSYS_TRACE default to false, ROCPROFSYS_USE_ROCPD default to true; ROCPROFSYS_PROFILE stays false to avoid unintended timemory output - balanced.json preset: disable Perfetto tracing, enable rocpd output - preset_registry: add is_rocpd_output_enabled() helper so the runtime summary can reflect the correct default - common_utils.cpp: default tracing_on to false, rocpd_on to true; pre-run summary now lists rocpd.db path instead of .proto path - tool_runner.cpp: update QUICK REFERENCE to reflect rocpd as default - docs: update understanding-rocprof-sys-output.rst — rocpd is now the default; --output-format proto is the example for opting in to Perfetto - examples/README.md: flip ROCPROFSYS_TRACE default to false and ROCPROFSYS_USE_ROCPD default to true in the reference table - CHANGELOG.md: document the behaviour change under 1.6.0 Resolves AIPROFSYST-717
Add two tests to TestOutputFormatSelection in test_tool_runner.py to cover the default output format change introduced in AIPROFSYST-717: - test_default_produces_rocpd_only: runs rocprof-sys-run with no --output-format flag and verifies that ROCPROFSYS_USE_ROCPD=true, ROCPROFSYS_TRACE=false, and ROCPROFSYS_PROFILE=false are the resolved defaults, and that a rocpd.db is produced with no .proto file. Uses no_base_env=True to bypass the framework's ROCPROFSYS_TRACE=ON base env; ROCPROFSYS_TIME_OUTPUT=OFF and ROCPROFSYS_FILE_OUTPUT=ON are set explicitly so the output helpers find files in a flat output_dir rather than a timestamped subdirectory. - test_proto_only_disables_rocpd: passes --output-format proto and verifies the inverse — Perfetto is produced and rocpd is disabled, confirming that Perfetto is now an explicit opt-in.
…ents Six handlers in rocpd_processor_t called get_agent_by_type_index / get_agent_by_id without catching std::out_of_range, causing SIGABRT when an expected agent (e.g. CPU agent index 0) was not registered on the current system. The pattern was already established for the KFD handler. Apply the same try/catch-with-early-return guard to the remaining unguarded handlers: - pmc_event_with_sample - gpu_pmc_sample - gpu_perf_counter_sample - ainic_pmc_sample - cpu_pmc_sample (this is the one that triggered CI failures after making rocpd the default output format in AIPROFSYST-717) - PMC info registration loop in finalize_processing (uses continue instead of return) Unhandled samples and PMC registrations now emit a LOG_WARNING and are skipped, preventing a hard crash when agent discovery is incomplete.
profile-only and profile-mpi are lightweight flat-profile presets with tracing explicitly disabled. Since rocpd is now the library default, add output.rocpd_output.enabled=false to both presets to preserve their minimal-overhead character. Update CHANGELOG to document which built-in presets implicitly gain rocpd output and which explicitly opt out.
examples/README.md: correct ROCPROFSYS_PROFILE default from true to false. source/lib/core/config.cpp: add _set(env_vars::USE_ROCPD, false) to the USE_ROCPD defaulted to false; the default flip in this PR makes the omission live.
Change is_section_enabled's default_value from true to false, matching the runtime defaults of ROCPROFSYS_TRACE and ROCPROFSYS_PROFILE (both false). Remove the now-redundant explicit default arguments from the three call sites in common_utils.cpp so defaults are maintained in one place.
ajanicijamd
marked this pull request as ready for review
August 25, 2026 17:17
In multi-process scenarios (e.g. shmem-pingpong), two processes may attempt to flush their in-memory rocpd databases to the same output file simultaneously, producing SQLITE_BUSY (rc=5) from profiler-hub's sqlite3_backup_step. The resulting std::runtime_error was propagating uncaught and calling std::terminate. Wrap flush_in_memory_data_to_disk() in a try/catch: on failure, log LOG_ERROR and return early (skipping register_file since the file was not written). The underlying race should be addressed in profiler-hub with retry/back-off or per-PID output filenames. This regression was exposed by making rocpd the default output format; previously these tests used Perfetto only and never triggered rocpd flushing.
ajanicijamd
force-pushed
the
users/ajanicijamd/change-default-output-to-rocpd
branch
from
August 26, 2026 17:07
a67dca7 to
55dbbe1
Compare
Replace the three-part raw JSON chain with a call to the existing is_rocpd_output_enabled helper, which already encapsulates the same logic and owns the default value. This avoids a second place that would need updating if the JSON structure ever changes. As a side effect, presets that do not mention output.rocpd_output now correctly show "rocPD Output: ON" in their description, since the helper defaults to true (matching the library default).
dgaliffiAMD
reviewed
Aug 27, 2026
Co-authored-by: David Galiffi <David.Galiffi@amd.com>
In print_pre_execution_info (common_utils.cpp), add a "To visualize results" section that shows how to open rocpd output in ROCm Optiq and Perfetto traces in ui.perfetto.dev, conditioned on which outputs are actually enabled for the run. In tool_runner.cpp, split the QUICK REFERENCE Output/Default fields onto separate lines and add a "View with" entry, aligning all five labels to the same column width.
Replace the seven duplicated try/catch blocks around m_writer->insert_pmc_event_data() with a single private helper try_insert_pmc_event(). The helper: - Catches std::runtime_error thrown by insert_validator::require_pmc when a PMC was not registered due to an earlier agent lookup failure - Logs LOG_WARNING only once per unregistered PMC (tracked per name+agent key in m_unregistered_pmcs_already_warned), preventing a flood of identical warnings when many samples reference the same missing counter - Counts all dropped samples in m_dropped_pmc_events_count At finalize_processing(), if any events were dropped, emit a single LOG_WARNING with the total drop count, the output DB path, and a sorted list of unregistered counters. Otherwise keep the existing success LOG_INFO. Also add the missing <cstddef>, <string>, <string_view>, and <unordered_set> includes to the header.
When a rocpd database file already exists at the output path (e.g. left by a previous profiling session with ROCPROFSYS_USE_PID=OFF), log a warning naming the file and noting that its data will be lost, then remove it so the new session starts from a clean in-memory state. Recommends ROCPROFSYS_USE_PID=ON as a way to avoid the overwrite.
dgaliffiAMD
approved these changes
Aug 28, 2026
Contributor
|
That Co-Pilot change was unintentional. I will revert. |
dgaliffiAMD
force-pushed
the
users/ajanicijamd/change-default-output-to-rocpd
branch
from
August 28, 2026 15:11
f462864 to
244233c
Compare
dgaliffiAMD
approved these changes
Aug 28, 2026
yhuiYH
reviewed
Aug 28, 2026
Contributor
|
Workflow failure unrelated and will be tracked separately. |
dgaliffiAMD
deleted the
users/ajanicijamd/change-default-output-to-rocpd
branch
August 28, 2026 22:30
5 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation
The rocpd format (SQLite
.dbdatabase) provides richer, more queryable profiling data than Perfetto traces and is the recommended output for most workflows. Previously users had to explicitly opt in viaROCPROFSYS_USE_ROCPD=1or--output-format rocpd, while Perfetto was produced silently on every run even when not needed.This PR makes rocpd the out-of-the-box default and moves Perfetto to an explicit opt-in.
Technical Details
ROCPROFSYS_TRACE(Perfetto) now defaults tofalseandROCPROFSYS_USE_ROCPDdefaults totrue.ROCPROFSYS_PROFILE(timemory) remainsfalse; its prior default was derived by negating theTRACEdefault, so hardcoding it preserves the original opt-in behavior.source/lib/core/config.cpp— setROCPROFSYS_TRACEdefault tofalse,ROCPROFSYS_USE_ROCPDdefault totrue,ROCPROFSYS_PROFILEdefault tofalsesource/bin/common/presets/balanced.json— disable Perfetto tracing, enable rocpd outputsource/bin/common/preset_registry.hpp/.cpp— addis_rocpd_output_enabled()helper so the pre-run summary reflects the correct per-preset output statesource/bin/common/common_utils.cpp—tracing_ondefaults tofalse,rocpd_ondefaults totrue; pre-run summary now listsrocpd.dbpathsource/bin/common/tool_runner.cpp— update QUICK REFERENCE to showrocpd.dbas the default outputdocs/how-to/understanding-rocprof-sys-output.rst— rocpd is now "the default output format"; the opt-in example demonstrates--output-format protofor Perfetto rather than--output-format rocpdexamples/README.md— flipROCPROFSYS_TRACEdefault tofalseandROCPROFSYS_USE_ROCPDdefault totruein the reference tableCHANGELOG.md— document the behavior change under 1.6.0Robustness fixes in
rocpd_processor.cppuncovered by making rocpd the default:try_insert_pmc_event()helper; skipped events are deduplicated per counter name+agent and a summary warning listing all dropped counters is emitted at finalization.finalize_processing()now catches exceptions fromflush_in_memory_data_to_disk()(SQLITE_BUSY when two processes flush to the same file simultaneously) and logs an error instead of terminating.ROCPROFSYS_USE_PID=OFF), a warning is logged naming the file and noting that its data will be lost, then the file is removed so the new session starts from a clean in-memory state. The warning recommends ROCPROFSYS_USE_PID=ON to avoid the overwrite.Perfetto and timemory are still fully supported. Users wanting Perfetto can pass
--output-format protoor setROCPROFSYS_TRACE=true. Theworkload-tracepreset continues to produce both rocpd and Perfetto output.Issue Tracking
JIRA ID: AIPROFSYST-717
Test Plan
Run
rocprof-sys-sample -- <app>with no flags and confirm onlyrocpd.dbis produced. Run with--output-format protoand confirm only.protois produced. Run with--output-format proto rocpdand confirm both outputsare produced. Verify the
--preset=balancedproduces rocpd output and no Perfetto file. Verify--preset=workload-traceproduces both. VerifyROCPROFSYS_TRACE=trueproduces Perfetto output.Test Result
Submission Checklist