Repository navigation
refactor(rocprofiler-systems): Remove tim::exists() and path::exists() - #9996
Merged
Merged
Conversation
Contributor
rocprofiler-systems CI SummaryTest Results (for commit
|
| Workflow | Runs | Avg Test Time | Tests | Skipped | Failed |
|---|---|---|---|---|---|
| Ubuntu 22.04 | 5 | 26m 14s | 2,495 | 83 | 0 |
| Ubuntu 24.04 | 5 | 27m 52s | 2,475 | 83 | 0 |
| Debian | 4 | 33m 01s | 2,076 | 57 | 0 |
| RHEL | 12 | 30m 58s | 5,988 | 230 | 0 |
| System deps | 10 | 28m 39s | 5,150 | 168 | 0 |
| Total | 36 | 29m 28s | 18,184 | 621 | 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. |
|
🚫 Please fix the failed policies before requesting reviews. The following policy checks failed:
The |
lloginov-amd
force-pushed
the
users/lloginov-amd/tim-rem-exists
branch
from
August 12, 2026 08:21
6430a0a to
86e22a2
Compare
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/941 | 0/48 | source/bin/rocprof-sys-avail/avail.cpp |
| 0.0% 0/61 | 0/6 | source/bin/rocprof-sys-avail/avail.hpp |
| 0.0% 0/227 | 0/25 | source/bin/rocprof-sys-avail/common.cpp |
| 0.0% 0/17 | 0/3 | source/bin/rocprof-sys-avail/component_categories.hpp |
| 0.0% 0/258 | 0/12 | source/bin/rocprof-sys-avail/generate_config.cpp |
| 0.0% 0/39 | 0/2 | source/bin/rocprof-sys-avail/get_availability.hpp |
| 0.0% 0/10 | 0/1 | source/bin/rocprof-sys-avail/get_categories.hpp |
| 0.0% 0/102 | 0/6 | source/bin/rocprof-sys-avail/hw_counter_query.cpp |
| 0.0% 0/4 | 0/1 | source/bin/rocprof-sys-avail/info_type.cpp |
| 0.0% 0/9 | 0/1 | source/bin/rocprof-sys-avail/info_type.hpp |
| 0.0% 0/440 | 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/63 | 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/523 | 0/40 | 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/1537 | 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/15 | 0/1 | source/lib/backends/rocprofiler_sdk/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/10 | 0/3 | source/lib/common/synchronized.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/33 | 0/3 | source/lib/core/amd_smi.cpp |
| 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/26 | 0/3 | source/lib/core/config.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/178 | 0/23 | source/lib/core/gpu.cpp |
| 0.0% 0/160 | 0/12 | source/lib/core/gpu_metrics.cpp |
| 0.0% 0/32 | 0/6 | source/lib/core/mpi.hpp |
| 0.0% 0/56 | 0/4 | source/lib/core/mproc.cpp |
| 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/56 | 0/6 | source/lib/core/perfetto.hpp |
| 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/341 | 0/22 | source/lib/core/rocprofiler-sdk.cpp |
| 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/763 | 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/749 | 0/31 | 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/547 | 0/90 | 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/79 | 0/13 | source/lib/rocprof-sys-user/user.cpp |
| 0.0% 0/70 | 0/18 | 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/218 | 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/1312 | 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/265 | 0/25 | source/lib/rocprof-sys/library/rocprofiler-sdk/kfd_events.cpp |
| 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/68 | 0/14 | source/lib/rocprof-sys/regions.cpp |
| 0.0% 0/82 | 0/4 | source/lib/rocprof-sys/timeout.cpp |
| 0.0% 0/454 | 0/46 | 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 |
| 2.5% 42/1710 | 7/290 | source/lib/core/config.cpp |
| 7.1% 1/14 | 0/1 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/iterators/primitive_iterator.hpp |
| 8.4% 15/178 | 3/25 | source/lib/core/constraint.cpp |
| 15.4% 4/26 | 0/6 | source/lib/core/trace_cache/metadata_registry.hpp |
| 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.4% 6/31 | 2/5 | source/bin/common/common_utils.hpp |
🟠 20-50% (11 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.8% 15/63 | 3/12 | source/lib/core/agent_manager.cpp |
| 30.0% 127/423 | 12/46 | build/coverage/_deps/fmt-src/include/fmt/format.h |
| 32.1% 52/162 | 7/17 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/input/json_sax.hpp |
| 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 |
| 47.2% 221/468 | 17/38 | 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% (32 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 |
| 52.0% 13/25 | 2/3 | source/lib/rocprof-sys/library/pmc/collectors/gpu_perf_counter/gpu_perf_counter_traits.hpp |
| 52.9% 219/414 | 25/37 | source/bin/common/common_utils.cpp |
| 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.3% 48/77 | 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 |
| 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.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.6% 212/296 | 14/16 | 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% 77/99 | 10/11 | source/lib/core/perfetto/engine_impl.hpp |
| 79.3% 88/111 | 13/15 | source/lib/common/path.hpp |
🟢 80-100% (72 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 |
| 81.2% 39/48 | 3/4 | source/lib/core/utility.cpp |
| 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 |
| 88.1% 273/310 | 29/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.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 |
| 92.6% 163/176 | 9/9 | source/lib/rocprof-sys/library/pmc/collectors/gpu/device.hpp |
| 92.7% 38/41 | 6/11 | source/lib/core/demangler.hpp |
| 92.9% 13/14 | 0/1 | source/lib/rocprof-sys/library/pmc/collectors/common/collector_slice.hpp |
| 93.2% 68/73 | 7/8 | source/lib/core/trace_cache/buffer_storage.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.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.3% 79/82 | 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 | 6/6 | source/lib/core/common_types.hpp |
| 97.3% 73/75 | 3/3 | source/lib/core/perfetto/packet_framing.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 |
| 99.1% 110/111 | 25/26 | source/lib/backends/rocprofiler_sdk/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% 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% 2/2 | 0/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% 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% | 203 |
| 20-50% | 11 |
| 50-80% | 32 |
| 80-100% | 72 |
E2E Tests
Code Coverage: e2e-tests
Lines: 🟡 62.7% — 22,283/35,518 across 318 files
Functions: 🟡 63.3% — 2,303/3,640
🔴 0-20% (51 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/15 | 0/1 | source/lib/backends/rocprofiler_sdk/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/79 | 0/5 | source/lib/core/perf.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/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/265 | 0/25 | source/lib/rocprof-sys/library/rocprofiler-sdk/kfd_events.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/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.6% 1/166 | 1/13 | source/lib/core/perfetto.cpp |
| 2.5% 33/1312 | 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 |
| 7.1% 4/56 | 1/6 | source/lib/core/perfetto.hpp |
| 8.3% 3/36 | 1/9 | source/lib/rocprof-sys/library/rocprofiler-sdk/marker_writer.cpp |
| 11.3% 8/71 | 4/10 | source/lib/rocprof-sys/library/components/callchain.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 |
| 17.0% 127/749 | 6/31 | source/lib/core/trace_cache/rocpd_processor.cpp |
| 18.0% 32/178 | 6/23 | source/lib/core/gpu.cpp |
🟠 20-50% (26 files)
| Lines | Functions | File |
|---|---|---|
| 22.0% 75/341 | 8/22 | source/lib/core/rocprofiler-sdk.cpp |
| 22.5% 49/218 | 5/30 | source/lib/rocprof-sys/library/components/backtrace_metrics.cpp |
| 23.6% 122/516 | 24/71 | source/lib/core/trace_cache/metadata_registry.cpp |
| 26.5% 202/763 | 24/103 | source/lib/core/trace_cache/perfetto_processor.cpp |
| 27.8% 27/97 | 4/8 | source/lib/rocprof-sys-rt/src/RTposix.c |
| 30.0% 136/454 | 7/46 | source/python/libpyrocprofsys.cpp |
| 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 |
| 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 |
| 47.7% 52/109 | 12/30 | source/lib/rocprof-sys/library/tracing.hpp |
| 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.4% 39/79 | 6/13 | source/lib/rocprof-sys-user/user.cpp |
🟡 50-80% (69 files)
| Lines | Functions | File |
|---|---|---|
| 50.0% 8/16 | 2/4 | source/lib/binary/address_multirange.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.8% 128/252 | 25/37 | source/lib/rocprof-sys/library/kokkosp.cpp |
| 50.8% 215/423 | 24/46 | build/coverage/_deps/fmt-src/include/fmt/format.h |
| 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 |
| 55.7% 39/70 | 13/18 | source/lib/rocprof-sys/api.cpp |
| 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.0% 142/245 | 20/31 | source/lib/rocprof-sys/library/perf.cpp |
| 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 |
| 61.5% 288/468 | 21/38 | build/coverage/_deps/fmt-src/include/fmt/base.h |
| 61.8% 42/68 | 5/8 | source/lib/rocprof-sys/library/components/fork_gotcha.cpp |
| 61.8% 614/994 | 51/65 | source/lib/rocprof-sys/library/sampling.cpp |
| 62.1% 18/29 | 1/1 | source/lib/core/perfetto/locked_file_append.cpp |
| 62.3% 48/77 | 4/5 | source/lib/core/trace_cache/discovery.cpp |
| 62.5% 50/80 | 13/18 | source/lib/core/binary/address_range.cpp |
| 63.1% 70/111 | 7/10 | source/lib/core/progress/bar.cpp |
| 64.7% 22/34 | 3/4 | source/lib/core/perfetto/sinks/io_helpers.hpp |
| 65.2% 116/178 | 17/25 | source/lib/core/constraint.cpp |
| 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.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.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 |
| 71.8% 393/547 | 46/90 | source/lib/rocprof-sys-dl/dl.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.0% 409/553 | 30/33 | source/lib/rocprof-sys/library/causal/data.cpp |
| 74.0% 219/296 | 15/16 | source/bin/common/preset_registry.cpp |
| 74.5% 35/47 | 4/6 | source/lib/rocprof-sys/library/pmc/collectors/cpu/cpu_traits.hpp |
| 74.5% 120/161 | 23/27 | source/lib/rocprof-sys/library/thread_info.cpp |
| 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% 90/119 | 11/12 | source/lib/core/trace_cache/post_processor.cpp |
| 75.9% 511/673 | 35/46 | source/bin/rocprof-sys-instrument/details.cpp |
| 76.2% 48/63 | 5/6 | source/bin/rocprof-sys-instrument/log.cpp |
| 76.3% 1172/1537 | 52/87 | source/bin/rocprof-sys-instrument/rocprof-sys-instrument.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.7% 482/620 | 27/36 | source/lib/rocprof-sys/library.cpp |
| 77.8% 7/9 | 4/6 | source/lib/core/constraint.hpp |
| 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 |
| 79.0% 327/414 | 35/37 | source/bin/common/common_utils.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% (172 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 |
| 80.5% 1377/1710 | 264/290 | source/lib/core/config.cpp |
| 80.9% 55/68 | 12/14 | source/lib/rocprof-sys/regions.cpp |
| 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.8% 81/99 | 11/11 | source/lib/core/perfetto/engine_impl.hpp |
| 81.8% 428/523 | 40/40 | source/bin/rocprof-sys-instrument/module_function.cpp |
| 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 |
| 84.2% 314/373 | 18/29 | source/lib/rocprof-sys/library/causal/experiment.cpp |
| 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.1% 74/87 | 14/16 | source/lib/rocprof-sys/library/causal/delay.cpp |
| 85.2% 52/61 | 8/9 | source/lib/core/utility.hpp |
| 85.8% 97/113 | 9/11 | source/lib/rocprof-sys/library/process_sampler.cpp |
| 86.0% 135/157 | 12/12 | source/bin/rocprof-sys-instrument/rocprof-sys-instrument.hpp |
| 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 |
| 86.3% 290/336 | 16/20 | source/lib/rocprof-sys/library/components/pthread_create_gotcha.cpp |
| 87.0% 20/23 | 4/5 | source/lib/core/containers/static_vector.hpp |
| 87.0% 47/54 | 3/3 | source/lib/core/trace_cache/cache_manager.cpp |
| 87.5% 42/48 | 4/5 | source/lib/core/output_file_registry.cpp |
| 87.6% 141/161 | 13/16 | source/lib/backends/procfs/backend.hpp |
| 87.6% 99/113 | 10/11 | source/lib/rocprof-sys/library/tracing.cpp |
| 88.4% 389/440 | 35/47 | source/bin/rocprof-sys-causal/impl.cpp |
| 89.0% 129/145 | 10/10 | source/lib/rocprof-sys/library/coverage.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.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% 18/20 | 5/5 | source/bin/rocprof-sys-instrument/function_signature.hpp |
| 90.0% 9/10 | 1/1 | source/lib/binary/scope_filter.cpp |
| 90.0% 9/10 | 3/3 | source/lib/common/synchronized.hpp |
| 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.6% 106/117 | 5/5 | source/lib/binary/analysis.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.2% 83/91 | 6/7 | source/bin/rocprof-sys-instrument/function_signature.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.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.8% 30/32 | 6/6 | source/lib/core/mpi.hpp |
| 93.8% 240/256 | 28/32 | source/lib/rocprof-sys/library/components/category_region.hpp |
| 94.1% 16/17 | 3/3 | source/bin/rocprof-sys-avail/component_categories.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.3% 79/82 | 11/12 | source/lib/core/state.hpp |
| 96.6% 56/58 | 7/7 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/conversions/to_json.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 | 6/6 | source/lib/core/common_types.hpp |
| 97.3% 73/75 | 3/3 | source/lib/core/perfetto/packet_framing.hpp |
| 97.5% 39/40 | 6/7 | source/lib/core/trace_cache/rocpd_helpers.hpp |
| 97.6% 40/41 | 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 |
| 99.1% 110/111 | 25/26 | source/lib/backends/rocprofiler_sdk/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% 3/3 | 1/1 | source/lib/common/units.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% 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% 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% | 51 |
| 20-50% | 26 |
| 50-80% | 69 |
| 80-100% | 172 |
lloginov-amd
marked this pull request as ready for review
August 12, 2026 11:22
mradosav-amd
approved these changes
Aug 12, 2026
dgaliffiAMD
approved these changes
Aug 12, 2026
lloginov-amd
force-pushed
the
users/lloginov-amd/tim-rem-exists
branch
from
August 13, 2026 09:16
86e22a2 to
6a31562
Compare
Contributor
|
'rocprofiler-sdk" test failures are unrelated |
This was referenced Aug 14, 2026
kcossett-amd
added a commit
that referenced
this pull request
Aug 17, 2026
## Motivation <!-- Explain the purpose of this PR and the goals it aims to achieve. --> Since #9996 was merged, `trace-time-window` is failing in ASan: See results from my investigation: #8749 (comment) I've investigated the runtime-instrument/binary-rewrite failure. The condition fix (https://github.com/ROCm/rocm-systems/pull/9996/changes#diff-7aa9eb486d6498bd67d85737c680f982343d2304dcb9548367fbaebdd2f067d8R137) in #9996 enabled a previously-dead branch that now calls closeSymtab on the target binary before Dyninst opens it for the real rewrite. This is exposing an existing bug (the PR itself is NOT a problem). Calling that is destructive: closeSymtab -> ~Symtab -> MappedFile::closeMappedFile -> munmap of the file image, but hte Elf_X object survives because Elf_X::end() is a no-op upstream. Dyninst's DwarfHandle::all_dwarf_handles cache is keyed only on filename, so the reopen returns the cached handle still pointing at the dead Elf_X. The crash lands when _fini triggers lazy type parsing and gelf_getehdr reads the unmapped image Commenting out closeSymtab is a sound workaround for now (https://github.com/ROCm/rocm-systems/blame/develop/projects/rocprofiler-systems/source/bin/rocprof-sys-instrument/rocprof-sys-instrument.hpp#L152) (it leaks one Symtab, mostly harmless), but the real fix belongs in Dyninst... createDwarfHandle must not reuse a cached handle bound to a different Elf_X. I tested the workaround and the problem vanishes. I'll have to get to work on the dyninst side of things. ## Why only ASan ? Because without ASan the kernel hands the same address back, so the dangling pointer accidentally lands on a valid, byte-identical remapping of the same file. The bug is always present ... ASan just stops it from being silently benign. Here's the traced mmap/munmap sequence for the target binary, same build, same command, ASLR disabled in both: ``` without ASan with ASan MMAP 0x7ffff7f76000 (109648) MMAP 0x7ffff22ab000 (109648) MMAP 0x7ffff7082000 (second open) MMAP 0x7ffff2290000 (second open) MUNMAP 0x7ffff7f76000 <- closeSymtab MUNMAP 0x7ffff22ab000 <- closeSymtab MMAP 0x7ffff7f76000 <- SAME ADDRESS MMAP 0x7fffefc0d000 <- different address ``` Causes failure. ## Technical Details <!-- Explain the changes along with any relevant GitHub links. --> As a workaround, until I can handle dyninst, comment out `closeSymtab`. (Yes there is a `close_symtab_file` function in our code, but that is unused, so I will not touch it). ## Issue Tracking <!-- Include a GitHub Issue and/or JIRA ID. Do not post any full JIRA links here. --> <!-- GitHub issue: #1234 --> <!-- JIRA ID: EXAMPLECOMPONENT-1234 --> JIRA ID: AIPROFSYST-730 ## Test Plan <!-- Explain any relevant testing done to verify this PR. --> Local + workflows ## Test Result Local: Error no longer observed, tests pass 100% of the time. Workflows: See logs <!-- Briefly summarize test outcomes. --> <img width="877" height="127" alt="image" src="https://github.com/user-attachments/assets/69d29547-cfc4-40d5-8266-be0ef4cd049c" /> ## Submission Checklist - [x] Look over the contributing guidelines at https://github.com/ROCm/rocm-systems/blob/develop/CONTRIBUTING.md.
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
This PR is part of a PR series to remove the dependency on Timemory filepath utilities.
Previously, tim::filepath::exists and the in-tree common::path::exists were both single functions trying to answer three different questions depending on the caller — "is this a regular file?", "is this a directory?", or "does anything at all exist here?" — with two incompatible implementations (stat-based, following symlinks vs. lstat-based, not following symlinks). Apart from being confusing, it also hid latent bugs where a character device (/dev/kfd, /dev/dri/renderD128 — real entries in a GPU process's /proc//maps) could be treated as real binary files.
Technical Details
This PR removes the in-tree common::path::exists and all usages of tim::filepath::exists and introduces the in-tree path::common::is_regular_file function in path.hpp, based upon non-throwing version of std::filesystem::is_regular_file().
Every call site of previous exists() was individually classified as file-intent or directory-intent and routed to the matching predicate: the new common::path::is_regular_file() or already existing in-tree common::path::is_directory().
In source/lib/common/environment.hpp, added missing #include that was previously included transitively.
In rocprof-sys-instrument.hpp :: rocprofsys_het_is_executable, two fixes made:
if(_cmd.empty())flipped to the correctif(!_cmd.empty()), enabling previously dead branchstd::string_view _cmdinput parameter type changed toconst std::string& _cmdto ensure null-termination, as it is later fed toverbprintf()andDyninst::SymtabAPI::Symtab::openFile(), which require it.Issue Tracking
JIRA ID: AIPROFSYST-528
Test Plan
rocprof-sys-runandrocprof-sys-instrumenton thetransposeHIP example; inspect the metadata JSON for device-node leakage; explicitly exercise the three bug-fix sites (LD_LIBRARY_PATH, ROOT search paths,--generate-configsidempotency).Test Result
rocprof-sys-runandrocprof-sys-instrumentboth complete successfully;instrumentation resolves the same 15 linked libraries with and without
rocprofiler_systems_ROOTset.memory_maps_files(58 entries) contains zero/dev/kfdor/dev/dri/renderD128entriesLD_LIBRARY_PATHbug fix:rocprof-sys-run -- envshows the dl librarydirectory present in the child's
LD_LIBRARY_PATH(previously absent).--log -1output shows the "rocprofiler-systemsroot path" log entry and ROOT-derived
bin/libsearch paths, bothpreviously absent.
--generate-configsidempotency: run twice against the same outputdirectory,
causal-0.cfgis present and unchanged after both runs (theprocess aborts on an unrelated, pre-existing
ROCPROFSYS_LAUNCHERsettings error in both runs, confirming this is not introduced by the
predicate swap).
Submission Checklist