Skip to content

fix(argparse): gate --ai-nics argument on ROCPROFSYS_BUILD_AINIC - #12593

Merged
ajanicijamd merged 4 commits into
developfrom
users/ajanicijamd/build-ainic-config-fix
Oct 20, 2026
Merged

ajanicijamd merged 4 commits into
developfrom
users/ajanicijamd/build-ainic-config-fix

Conversation

@ajanicijamd

@ajanicijamd ajanicijamd commented Sep 30, 2026 •

Copy link
Copy Markdown
Contributor

Motivation

rocprof-sys-run --help=all always advertised --ai-nics even on builds where AI NIC support was compiled out (ROCPROFSYS_USE_AINIC=OFF or AMD SMI < 26.3). The environ_filter("ai-nics", ...) call inside add_core_arguments() is only a runtime de-dup check, not a compile-time gate. Meanwhile, the two config settings this argument mirrors - USE_AINIC and SAMPLING_AINICS - were correctly absent in those builds, because config.cpp already guards them with #if defined(ROCPROFSYS_BUILD_AINIC) && ROCPROFSYS_BUILD_AINIC == 1.

Technical Details

source/lib/core/argparse.cpp

  • Wrap the --ai-nics / sampling_ai-nics argument block with #if defined(ROCPROFSYS_BUILD_AINIC) && ROCPROFSYS_BUILD_AINIC == 1 / #endif, symmetric with the four existing guards in config.cpp.

source/lib/rocprof-sys/library/pmc/sampler.cpp

  • Harmonise 7 bare #if defined(ROCPROFSYS_BUILD_AINIC) guards to the full && ROCPROFSYS_BUILD_AINIC == 1 form used everywhere else. Cosmetic consistency, no behaviour change.

pmc/collectors/nic/tests/CMakeLists.txt,
pmc/collectors/gpu/tests/CMakeLists.txt

  • Remove redundant if(ROCPROFSYS_BUILD_AINIC) / target_compile_definitions(...ROCPROFSYS_BUILD_AINIC=1) / endif() blocks. ROCPROFSYS_BUILD_AINIC=1 is already on the rocprofiler-systems-compile-definitions INTERFACE target (set in cmake/Packages.cmake) and propagates to both test targets via their existing link dependencies.

Issue Tracking

JIRA ID: AIPROFSYST-647

Test Plan

Build with ROCPROFSYS_USE_AINIC=ON and ROCPROFSYS_USE_AINIC=OFF and check --help=all output:

./build/test-ainic-on/bin/rocprof-sys-run  --help=all 2>&1 | grep -- '--ai-nics'
./build/test-ainic-off/bin/rocprof-sys-run --help=all 2>&1 | grep -- '--ai-nics'

Test Result

  • ROCPROFSYS_USE_AINIC=ON - --ai-nics present in help
  • ROCPROFSYS_USE_AINIC=OFF - --ai-nics absent from help

Submission Checklist

@github-actions

github-actions Bot commented Sep 30, 2026 •

Copy link
Copy Markdown
Contributor

rocprofiler-systems CI Summary

Test Results (for commit 22f5214)

Workflow jobs covered: 36

Workflow Runs Avg Test Time Tests Skipped Failed
Ubuntu 22.04 5 28m 15s 2,750 110 0
Ubuntu 24.04 5 28m 07s 2,770 120 0
Debian 4 38m 02s 2,312 86 0
RHEL 12 34m 57s 6,600 319 0
System deps 10 29m 43s 5,724 236 0
Total 36 31m 58s 20,156 871 0

Failed Tests

No failed tests reported.

Sanitizers

Thread Undefined Address
Passed Passed Passed

@therock-pr-bot

therock-pr-bot Bot commented Sep 30, 2026 •

Copy link
Copy Markdown

✅ All Policy Checks Passed

Check Status Details
📝 PR Description ✅ Pass —
⛔ Forbidden Files ✅ Pass —
🧪 Unit Test ✅ Pass —
🚫 Draft PR 🔜 To Be Enabled —
🚩 Feature Flag 🔜 To Be Enabled —
📊 Code Coverage 🔜 To Be Enabled —

🎉 All policy checks passed!

📖 Need help? See the Policy FAQ for details on every check and how to fix failures.

🙋 Wish to Override Policy?

@mradosav-amd

Copy link
Copy Markdown
Contributor

Just asking, do we really need ROCPROFSYS_BUILD_AINIC to expose? Can we always build it if amd-smi lib satisfy version? Then user can turn on/off those collection of ainic metric..

@ajanicijamd

Copy link
Copy Markdown
Contributor Author

Just asking, do we really need ROCPROFSYS_BUILD_AINIC to expose? Can we always build it if amd-smi lib satisfy version? Then user can turn on/off those collection of ainic metric..

Sure, we could do that, but that is out of scope for this PR. It has already been designed like this, to follow the design of other features that are gated with configuration flags.

@github-actions

github-actions Bot commented Oct 3, 2026 •

Copy link
Copy Markdown
Contributor

Code Coverage Report

Code Coverage Report

Unit Tests

Lines: 🔴 26.4% (📉 -3.69% vs base) — 8,686/32,954 across 321 files
Functions: 🔴 25.5% — 861/3,381

🔴 0-20% (169 files)
Lines Functions File
0.0% 0/106 0/9 source/bin/common/argument_registration.hpp
0.0% 0/267 0/28 source/bin/common/tool_runner.cpp
0.0% 0/992 0/48 source/bin/rocprof-sys-avail/avail.cpp
0.0% 0/60 0/6 source/bin/rocprof-sys-avail/avail.hpp
0.0% 0/223 0/24 source/bin/rocprof-sys-avail/common.cpp
0.0% 0/18 0/3 source/bin/rocprof-sys-avail/component_categories.hpp
0.0% 0/274 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/11 0/1 source/bin/rocprof-sys-avail/get_categories.hpp
0.0% 0/106 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/454 0/47 source/bin/rocprof-sys-causal/impl.cpp
0.0% 0/82 0/2 source/bin/rocprof-sys-causal/rocprof-sys-causal.cpp
0.0% 0/706 0/45 source/bin/rocprof-sys-instrument/details.cpp
0.0% 0/106 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/160 0/7 source/bin/rocprof-sys-instrument/info.hpp
0.0% 0/277 0/22 source/bin/rocprof-sys-instrument/internal_libs.cpp
0.0% 0/63 0/5 source/bin/rocprof-sys-instrument/log.cpp
0.0% 0/5 0/1 source/bin/rocprof-sys-instrument/log.hpp
0.0% 0/547 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/1588 0/87 source/bin/rocprof-sys-instrument/rocprof-sys-instrument.cpp
0.0% 0/166 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/57 0/5 source/bin/rocsys-exe/rocsys.cpp
0.0% 0/24 0/1 source/lib/backends/amd_smi/wrapper.hpp
0.0% 0/20 0/3 source/lib/backends/posix/backend.hpp
0.0% 0/46 0/2 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/126 0/5 source/lib/binary/analysis.cpp
0.0% 0/7 0/1 source/lib/binary/binary_info.hpp
0.0% 0/107 0/9 source/lib/binary/dwarf_entry.cpp
0.0% 0/1 0/1 source/lib/binary/dwarf_entry.hpp
0.0% 0/74 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/6 0/2 source/lib/binary/scope_filter.hpp
0.0% 0/162 0/18 source/lib/binary/symbol.cpp
0.0% 0/8 0/8 source/lib/binary/symbol.hpp
0.0% 0/10 0/2 source/lib/common/env_vars.hpp
0.0% 0/40 0/3 source/lib/common/invoke.hpp
0.0% 0/22 0/2 source/lib/common/setup.hpp
0.0% 0/25 0/2 source/lib/core/amd_smi.cpp
0.0% 0/74 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/21 0/6 source/lib/core/categories.cpp
0.0% 0/11 0/11 source/lib/core/components/fwd.hpp
0.0% 0/29 0/3 source/lib/core/config.hpp
0.0% 0/85 0/5 source/lib/core/cpu.cpp
0.0% 0/1 0/1 source/lib/core/cpu.hpp
0.0% 0/61 0/6 source/lib/core/dynamic_library.cpp
0.0% 0/28 0/7 source/lib/core/exception.cpp
0.0% 0/242 0/29 source/lib/core/gpu.cpp
0.0% 0/162 0/12 source/lib/core/gpu_metrics.cpp
0.0% 0/33 0/6 source/lib/core/mpi.hpp
0.0% 0/59 0/4 source/lib/core/mproc.cpp
0.0% 0/78 0/5 source/lib/core/perf.cpp
0.0% 0/52 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/32 0/7 source/lib/core/perfetto/emitter.cpp
0.0% 0/48 0/8 source/lib/core/perfetto/emitter.hpp
0.0% 0/9 0/1 source/lib/core/perfetto/sinks/append_mode.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/53 0/3 source/lib/core/trace_cache/cache_manager.cpp
0.0% 0/7 0/2 source/lib/core/trace_cache/cache_manager.hpp
0.0% 0/817 0/104 source/lib/core/trace_cache/perfetto_processor.cpp
0.0% 0/1 0/1 source/lib/core/trace_cache/perfetto_processor.hpp
0.0% 0/129 0/13 source/lib/core/trace_cache/post_processor.cpp
0.0% 0/45 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/543 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/678 0/39 source/lib/rocprof-sys/library.cpp
0.0% 0/78 0/6 source/lib/rocprof-sys/library/causal/components/backtrace.cpp
0.0% 0/8 0/1 source/lib/rocprof-sys/library/causal/components/backtrace.hpp
0.0% 0/105 0/11 source/lib/rocprof-sys/library/causal/components/blocking_gotcha.cpp
0.0% 0/37 0/7 source/lib/rocprof-sys/library/causal/components/causal_gotcha.cpp
0.0% 0/86 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/50 0/8 source/lib/rocprof-sys/library/causal/components/unblocking_gotcha.cpp
0.0% 0/564 0/33 source/lib/rocprof-sys/library/causal/data.cpp
0.0% 0/91 0/16 source/lib/rocprof-sys/library/causal/delay.cpp
0.0% 0/391 0/29 source/lib/rocprof-sys/library/causal/experiment.cpp
0.0% 0/3 0/1 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/296 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/76 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/154 0/17 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/74 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/321 0/29 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/29 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/69 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/176 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/79 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/350 0/20 source/lib/rocprof-sys/library/components/pthread_create_gotcha.cpp
0.0% 0/5 0/1 source/lib/rocprof-sys/library/components/pthread_create_gotcha.hpp
0.0% 0/35 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/165 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/147 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/66 0/16 source/lib/rocprof-sys/library/coverage/impl.hpp
0.0% 0/260 0/35 source/lib/rocprof-sys/library/kokkosp.cpp
0.0% 0/252 0/32 source/lib/rocprof-sys/library/perf.cpp
0.0% 0/11 0/3 source/lib/rocprof-sys/library/perf.hpp
0.0% 0/155 0/9 source/lib/rocprof-sys/library/pmc/collectors/common/settings.hpp
0.0% 0/69 0/5 source/lib/rocprof-sys/library/pmc/collectors/cpu/cache_policy.hpp
0.0% 0/36 0/5 source/lib/rocprof-sys/library/pmc/collectors/cpu/cpu_traits.hpp
0.0% 0/116 0/6 source/lib/rocprof-sys/library/pmc/collectors/gpu/cache_policy.hpp
0.0% 0/34 0/3 source/lib/rocprof-sys/library/pmc/collectors/gpu_perf_counter/cache_policy.hpp
0.0% 0/14 0/2 source/lib/rocprof-sys/library/pmc/device_providers/procfs/provider.hpp
0.0% 0/167 0/20 source/lib/rocprof-sys/library/pmc/sampler.cpp
0.0% 0/125 0/11 source/lib/rocprof-sys/library/process_sampler.cpp
0.0% 0/15 0/3 source/lib/rocprof-sys/library/process_sampler.hpp
0.0% 0/586 0/43 source/lib/rocprof-sys/library/rocprofiler-sdk.cpp
0.0% 0/16 0/2 source/lib/rocprof-sys/library/rocprofiler-sdk/callback/hip_stream.hpp
0.0% 0/102 0/10 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/53 0/6 source/lib/rocprof-sys/library/rocprofiler-sdk/fwd.cpp
0.0% 0/8 0/3 source/lib/rocprof-sys/library/rocprofiler-sdk/fwd.hpp
0.0% 0/122 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/800 0/49 source/lib/rocprof-sys/library/sampling.cpp
0.0% 0/148 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/11 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/168 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/118 0/11 source/lib/rocprof-sys/library/tracing.cpp
0.0% 0/60 0/14 source/lib/rocprof-sys/library/tracing.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/91 0/6 source/lib/rocprof-sys/timeout.cpp
0.0% 0/453 0/45 source/python/libpyrocprofsys.cpp
0.8% 7/838 1/70 source/lib/core/argparse.cpp
3.7% 66/1798 10/301 source/lib/core/config.cpp
18.8% 6/32 2/5 source/bin/common/common_utils.hpp
🟠 20-50% (6 files)
Lines Functions File
20.0% 1/5 0/2 source/lib/core/argparse.hpp
20.0% 5/25 0/3 source/lib/rocprof-sys/library/pmc/collectors/gpu/sample.hpp
22.2% 101/454 29/66 source/lib/core/trace_cache/metadata_registry.cpp
31.2% 20/64 4/9 source/lib/core/utility.hpp
31.8% 7/22 0/2 source/lib/rocprof-sys/library/pmc/collectors/nic/sample.hpp
40.9% 18/44 1/7 source/lib/rocprof-sys/library/rocprofiler-sdk/types.hpp
🟡 50-80% (26 files)
Lines Functions File
50.0% 19/38 4/5 source/lib/common/static_object.hpp
50.0% 8/16 3/3 source/lib/core/perfetto/sinks/per_pid_file_sink.cpp
50.0% 1/2 0/1 source/lib/rocprof-sys/library/pmc/collectors/nic/types.hpp
50.2% 210/418 23/35 source/bin/common/common_utils.cpp
52.4% 130/248 14/29 source/lib/rocprof-sys/library/components/category_region.hpp
56.7% 17/30 2/15 source/lib/core/trace_cache/unified_memory_processor.hpp
60.0% 36/60 7/12 source/lib/core/agent_manager.cpp
61.4% 70/114 7/10 source/lib/core/progress/bar.cpp
61.7% 348/564 26/40 source/bin/common/json_config.cpp
63.1% 53/84 4/5 source/lib/core/trace_cache/discovery.cpp
66.7% 2/3 0/2 source/lib/rocprof-sys/library/pmc/collectors/cpu/types.hpp
66.7% 22/33 3/8 source/lib/rocprof-sys/library/pmc/collectors/gpu_perf_counter/types.hpp
68.7% 46/67 11/14 source/lib/core/trace_cache/data_types.cpp
70.0% 236/337 15/17 source/bin/common/preset_registry.cpp
71.4% 30/42 3/3 source/lib/core/perfetto/sinks/file_output.cpp
71.4% 25/35 1/2 source/lib/rocprof-sys/library/rocprofiler-sdk/callback/rccl/event_info.hpp
72.1% 88/122 15/18 source/lib/core/perfetto/engine.cpp
72.2% 13/18 2/5 source/lib/rocprof-sys/library/pmc/collectors/hipfile/types.hpp
74.3% 78/105 9/10 source/lib/core/perfetto/engine_impl.hpp
74.5% 41/55 4/7 source/lib/core/config/trace_period_config.hpp
75.0% 3/4 0/1 source/lib/backends/amd_smi/nic_types.hpp
75.4% 46/61 6/8 source/lib/rocprof-sys/library/pmc/collectors/cpu/sample.hpp
75.8% 47/62 5/5 source/lib/rocprof-sys/library/pmc/collectors/gpu/gpu_traits.hpp
78.2% 61/78 9/10 source/lib/rocprof-sys/library/pmc/device_providers/rocprofiler_sdk/provider.hpp
78.6% 77/98 4/4 source/lib/core/perfetto/sinks/single_file_sink.cpp
79.2% 19/24 2/2 source/lib/core/node_info.cpp
🟢 80-100% (120 files)
Lines Functions File
80.0% 4/5 1/1 source/lib/core/agent.hpp
80.6% 133/165 10/14 source/lib/backends/procfs/backend.hpp
80.8% 135/167 30/33 source/lib/backends/rocprofiler_sdk/backend.hpp
81.2% 13/16 2/3 source/lib/rocprof-sys/library/pmc/collectors/gpu_perf_counter/gpu_perf_counter_traits.hpp
81.4% 700/860 29/34 source/lib/core/trace_cache/rocpd_processor.cpp
81.8% 36/44 3/6 source/lib/core/containers/static_vector.hpp
83.2% 129/155 17/19 source/lib/common/path.hpp
83.9% 73/87 10/12 source/lib/logger/logger.hpp
84.6% 55/65 4/4 source/lib/rocprof-sys/library/rocprofiler-sdk/buffered/kfd/page_migrate.hpp
85.1% 40/47 2/2 source/lib/core/trace_cache/storage_parser.hpp
85.2% 23/27 2/4 source/lib/rocprof-sys/library/rocprofiler-sdk/domain_registry.hpp
85.2% 213/250 20/33 source/lib/core/sdk/tracing-config.hpp
85.7% 24/28 4/7 source/lib/core/trace_cache/metadata_registry.hpp
86.0% 49/57 4/4 source/lib/rocprof-sys/library/pmc/collectors/gpu_perf_counter/device.hpp
86.6% 259/299 27/33 source/lib/common/environment.hpp
88.9% 24/27 5/6 source/lib/rocprof-sys/library/rocprofiler-sdk/stream_stack_service.hpp
89.1% 106/119 8/8 source/lib/rocprof-sys/library/pmc/collectors/cpu/device.hpp
89.3% 50/56 3/3 source/lib/rocprof-sys/library/rocprofiler-sdk/buffered/kfd/event_page_migrate.hpp
89.5% 51/57 8/8 source/lib/rocprof-sys/library/pmc/collectors/base/collector.hpp
90.0% 54/60 4/4 source/lib/core/trace_cache/buffer_storage.cpp
90.4% 178/197 14/18 source/lib/rocprof-sys/library/components/shmem_gotcha.hpp
90.5% 248/274 19/20 source/lib/core/trace_cache/unified_memory_processor.cpp
90.7% 39/43 3/3 source/lib/rocprof-sys/library/rocprofiler-sdk/buffered/kfd/event_page_fault.hpp
90.7% 39/43 3/3 source/lib/rocprof-sys/library/rocprofiler-sdk/buffered/kfd/event_queue.hpp
90.9% 10/11 2/2 source/lib/core/control/clocks/timeline.hpp
91.1% 41/45 3/3 source/lib/rocprof-sys/library/rocprofiler-sdk/buffered/kfd/queue.hpp
91.5% 43/47 7/7 source/lib/core/control/triggers/time_window.hpp
91.5% 43/47 5/6 source/lib/rocprof-sys/library/rocprofiler-sdk/buffered_domain.hpp
91.7% 11/12 2/2 source/lib/core/perfetto/session_backend.hpp
91.7% 44/48 3/3 source/lib/rocprof-sys/library/rocprofiler-sdk/buffered/kfd/event_unmap_from_gpu.hpp
91.8% 45/49 3/4 source/lib/rocprof-sys/library/pmc/collectors/nic/nic_traits.hpp
92.1% 70/76 7/8 source/lib/core/trace_cache/buffer_storage.hpp
92.2% 47/51 7/7 source/lib/core/control/clocks/posix.hpp
92.3% 24/26 1/3 source/lib/core/containers/c_array.hpp
92.3% 12/13 1/1 source/lib/rocprof-sys/library/rocprofiler-sdk/callback/rccl/transferred_bytes_tracker.hpp
92.5% 186/201 21/23 source/lib/rocprof-sys/library/rocprofiler-sdk/domain_service.hpp
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.1% 54/58 6/8 source/lib/rocprof-sys/library/components/pthread_mutex_gotcha.hpp
93.3% 265/284 21/30 source/lib/core/trace_cache/sample_type.hpp
94.1% 16/17 1/2 source/lib/rocprof-sys/library/rocprofiler-sdk/callback_domain.hpp
94.4% 51/54 4/7 source/lib/core/containers/aligned_static_vector.hpp
95.0% 38/40 6/7 source/lib/core/trace_cache/rocpd_helpers.hpp
95.2% 20/21 1/2 source/lib/rocprof-sys/library/rocprofiler-sdk/buffered/memory_allocation.hpp
95.3% 162/170 19/22 source/lib/rocprof-sys/library/components/ucx_gotcha.hpp
95.4% 62/65 1/5 source/lib/core/trace_cache/cacheable.hpp
95.4% 83/87 19/23 source/lib/core/containers/stable_vector.hpp
95.5% 105/110 12/13 source/lib/rocprof-sys/library/rocprofiler-sdk/callback/ompt/ompt.hpp
95.8% 23/24 2/4 source/lib/common/pci_bdf.hpp
96.1% 49/51 7/7 source/lib/core/process_environment_info.cpp
96.2% 126/131 10/10 source/lib/core/output/output_summary.cpp
96.3% 26/27 1/2 source/lib/common/delimit.hpp
96.5% 82/85 11/12 source/lib/core/state.hpp
96.7% 148/153 9/10 source/lib/common/md5sum.hpp
96.8% 30/31 3/4 source/lib/rocprof-sys/library/pmc/collectors/gpu_perf_counter/sample.hpp
97.0% 32/33 2/2 source/lib/rocprof-sys/library/rocprofiler-sdk/buffered/kfd/event_dropped_events.hpp
97.3% 36/37 1/2 source/lib/rocprof-sys/library/rocprofiler-sdk/buffered/scratch_memory.hpp
97.3% 36/37 4/4 source/lib/rocprof-sys/library/rocprofiler-sdk/callback/common_tracing_callbacks.hpp
97.4% 74/76 6/6 source/lib/core/common_types.hpp
97.5% 39/40 3/3 source/lib/core/utility.cpp
97.7% 85/87 11/12 source/lib/core/control/triggers/roctx.cpp
97.8% 44/45 7/11 source/lib/core/demangler.hpp
97.8% 45/46 3/3 source/lib/rocprof-sys/library/rocprofiler-sdk/buffered/kfd/page_fault.hpp
98.0% 49/50 3/3 source/lib/rocprof-sys/library/pmc/collectors/nic/device.hpp
98.1% 53/54 7/7 source/lib/rocprof-sys/library/pmc/device_providers/amd_smi/provider.hpp
98.2% 56/57 7/8 source/lib/rocprof-sys/library/rocprofiler-sdk/callback/ompt/decoder.hpp
98.5% 129/131 18/19 source/lib/rocprof-sys/library/rocprofiler-sdk/callback/roctx/core_api.hpp
98.5% 67/68 9/9 source/bin/common/cli_dispatcher.cpp
98.5% 67/68 10/12 source/lib/common/string_utility.hpp
98.6% 68/69 5/5 source/bin/rocprof-sys-instrument/dynamic_dependency_listing.hpp
98.7% 76/77 3/3 source/lib/core/perfetto/packet_framing.hpp
98.8% 81/82 15/16 source/lib/backends/amd_smi/backend.hpp
99.1% 115/116 19/19 source/lib/core/control/session.cpp
100.0% 1/1 0/1 source/bin/common/cli_dispatcher.hpp
100.0% 1/1 0/1 source/bin/common/json_config.hpp
100.0% 110/110 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% 32/32 2/3 source/lib/backends/hipfile/backend.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% 24/24 5/6 source/lib/common/synchronized.hpp
100.0% 14/14 2/5 source/lib/common/units/data_size.hpp
100.0% 11/11 2/3 source/lib/common/units/frequency.hpp
100.0% 11/11 2/3 source/lib/common/units/power.hpp
100.0% 5/5 0/3 source/lib/common/units/quantity.hpp
100.0% 8/8 0/2 source/lib/common/version.hpp
100.0% 158/158 1/1 source/lib/core/agent_info.hpp
100.0% 2/2 1/2 source/lib/core/agent_manager.hpp
100.0% 22/22 0/2 source/lib/core/containers/operators.hpp
100.0% 19/19 4/4 source/lib/core/control/clocks/steady.cpp
100.0% 2/2 1/2 source/lib/core/control/clocks/steady.hpp
100.0% 15/15 3/5 source/lib/core/control/session.hpp
100.0% 3/3 0/2 source/lib/core/control/triggers/roctx.hpp
100.0% 2/2 2/2 source/lib/core/node_info.hpp
100.0% 3/3 1/2 source/lib/core/output/output_summary.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/sinks/file_output.hpp
100.0% 1/1 0/1 source/lib/core/perfetto/sinks/per_pid_file_sink.hpp
100.0% 2/2 0/1 source/lib/core/perfetto/sinks/single_file_sink.hpp
100.0% 2/2 0/1 source/lib/core/perfetto/sinks/trace_sink.hpp
100.0% 7/7 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% 2/2 0/1 source/lib/core/trace_cache/sample_processor_interface.hpp
100.0% 9/9 3/3 source/lib/core/trace_cache/type_registry.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% 12/12 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% 55/55 4/4 source/lib/rocprof-sys/library/pmc/collectors/hipfile/device.hpp
100.0% 36/36 2/3 source/lib/rocprof-sys/library/pmc/collectors/hipfile/hipfile_traits.hpp
100.0% 20/20 2/3 source/lib/rocprof-sys/library/pmc/collectors/hipfile/sample.hpp
100.0% 3/3 0/3 source/lib/rocprof-sys/library/pmc/common/types.hpp
100.0% 43/43 2/2 source/lib/rocprof-sys/library/rocprofiler-sdk/buffered/kernel_dispatch.hpp
100.0% 39/39 1/2 source/lib/rocprof-sys/library/rocprofiler-sdk/buffered/memory_copy.hpp
100.0% 9/9 1/1 source/lib/rocprof-sys/library/rocprofiler-sdk/callback/code_object.hpp
100.0% 17/17 2/2 source/lib/rocprof-sys/library/rocprofiler-sdk/callback/rccl/device_resolver.hpp
100.0% 48/48 4/4 source/lib/rocprof-sys/library/rocprofiler-sdk/callback/rccl/rccl.hpp
100.0% 10/10 0/1 source/lib/rocprof-sys/library/rocprofiler-sdk/callback/roctx/control_api.hpp

Distribution

Range Files
0-20% 169
20-50% 6
50-80% 26
80-100% 120

Unit Tests (PR Diff Files Only)

Lines: 🔴 0.7% (📈 +0.01% vs base) — 7/1,005 across 2 files
Functions: 🔴 1.1% — 1/90

🔴 0-20% (2 files)
Lines Functions File
0.0% 0/167 0/20 source/lib/rocprof-sys/library/pmc/sampler.cpp
0.8% 7/838 (📈 +0.01%) 1/70 source/lib/core/argparse.cpp

Distribution

Range Files
0-20% 2
20-50% 0
50-80% 0
80-100% 0

E2E Tests

Lines: 🟡 72.7% — 23,966/32,954 across 321 files
Functions: 🟡 70.7% — 2,390/3,381

🔴 0-20% (30 files)
Lines Functions File
0.0% 0/106 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/85 0/5 source/lib/core/cpu.cpp
0.0% 0/1 0/1 source/lib/core/cpu.hpp
0.0% 0/61 0/6 source/lib/core/dynamic_library.cpp
0.0% 0/28 0/7 source/lib/core/exception.cpp
0.0% 0/162 0/12 source/lib/core/gpu_metrics.cpp
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/116 0/6 source/lib/rocprof-sys/library/pmc/collectors/gpu/cache_policy.hpp
0.0% 0/34 0/3 source/lib/rocprof-sys/library/pmc/collectors/gpu_perf_counter/cache_policy.hpp
0.0% 0/16 0/2 source/lib/rocprof-sys/library/rocprofiler-sdk/callback/hip_stream.hpp
0.0% 0/102 0/10 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/53 0/6 source/lib/rocprof-sys/library/rocprofiler-sdk/fwd.cpp
0.0% 0/8 0/3 source/lib/rocprof-sys/library/rocprofiler-sdk/fwd.hpp
0.0% 0/453 0/45 source/python/libpyrocprofsys.cpp
4.8% 8/165 2/31 source/lib/rocprof-sys/library/components/vaapi_gotcha.cpp
8.5% 50/586 13/43 source/lib/rocprof-sys/library/rocprofiler-sdk.cpp
8.7% 4/46 0/2 source/lib/backends/rocprofiler_sdk/wrapper.hpp
12.0% 3/25 1/2 source/lib/core/amd_smi.cpp
13.2% 32/242 6/29 source/lib/core/gpu.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
🟠 20-50% (19 files)
Lines Functions File
20.0% 5/25 0/3 source/lib/rocprof-sys/library/pmc/collectors/gpu/sample.hpp
21.3% 33/155 4/9 source/lib/rocprof-sys/library/pmc/collectors/common/settings.hpp
23.8% 108/454 31/66 source/lib/core/trace_cache/metadata_registry.cpp
24.4% 19/78 3/5 source/lib/core/perf.cpp
27.8% 27/97 4/8 source/lib/rocprof-sys-rt/src/RTposix.c
30.5% 249/817 32/104 source/lib/core/trace_cache/perfetto_processor.cpp
31.8% 7/22 0/2 source/lib/rocprof-sys/library/pmc/collectors/nic/sample.hpp
34.5% 10/29 3/6 source/lib/rocprof-sys/library/components/exit_gotcha.cpp
35.7% 30/84 10/20 source/lib/rocprof-sys/api.cpp
37.1% 39/105 5/11 source/lib/rocprof-sys/library/causal/components/blocking_gotcha.cpp
37.8% 31/82 1/2 source/bin/rocprof-sys-causal/rocprof-sys-causal.cpp
38.5% 5/13 2/3 source/lib/rocprof-sys/library/components/kill_gotcha.cpp
40.9% 18/44 1/7 source/lib/rocprof-sys/library/rocprofiler-sdk/types.hpp
43.8% 21/48 6/8 source/lib/core/perfetto/emitter.hpp
44.4% 4/9 1/3 source/lib/rocprof-sys/library/components/backtrace_timestamp.cpp
45.0% 72/160 3/7 source/bin/rocprof-sys-instrument/info.hpp
45.5% 30/66 6/16 source/lib/rocprof-sys/library/coverage/impl.hpp
46.2% 42/91 2/6 source/lib/rocprof-sys/timeout.cpp
47.7% 31/65 3/4 source/lib/rocprof-sys-rt/src/RTheap.c
🟡 50-80% (58 files)
Lines Functions File
50.0% 8/16 2/4 source/lib/binary/address_multirange.cpp
50.0% 16/32 5/7 source/lib/core/perfetto/emitter.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.9% 29/57 3/5 source/bin/rocsys-exe/rocsys.cpp
52.3% 168/321 15/29 source/lib/rocprof-sys/library/components/comm_data.cpp
54.6% 142/260 27/35 source/lib/rocprof-sys/library/kokkosp.cpp
55.6% 25/45 0/1 source/lib/core/trace_cache/sample_processor.hpp
56.7% 17/30 2/15 source/lib/core/trace_cache/unified_memory_processor.hpp
57.0% 45/79 8/19 source/lib/rocprof-sys/library/components/numa_gotcha.cpp
57.5% 23/40 1/3 source/lib/common/invoke.hpp
58.1% 97/167 15/20 source/lib/rocprof-sys/library/pmc/sampler.cpp
59.4% 63/106 5/9 source/bin/common/argument_registration.hpp
59.5% 44/74 13/18 source/lib/core/binary/address_range.cpp
61.4% 70/114 7/10 source/lib/core/progress/bar.cpp
62.7% 37/59 3/4 source/lib/core/mproc.cpp
63.8% 44/69 5/8 source/lib/rocprof-sys/library/components/fork_gotcha.cpp
63.9% 161/252 24/32 source/lib/rocprof-sys/library/perf.cpp
64.3% 54/84 4/5 source/lib/core/trace_cache/discovery.cpp
65.0% 13/20 2/3 source/lib/backends/posix/backend.hpp
66.3% 468/706 33/45 source/bin/rocprof-sys-instrument/details.cpp
66.4% 81/122 15/20 source/lib/rocprof-sys/library/runtime.cpp
66.7% 6/9 1/1 source/lib/core/perfetto/sinks/append_mode.hpp
66.7% 22/33 3/8 source/lib/rocprof-sys/library/pmc/collectors/gpu_perf_counter/types.hpp
67.6% 25/37 5/7 source/lib/rocprof-sys/library/causal/components/causal_gotcha.cpp
69.1% 375/543 40/85 source/lib/rocprof-sys-dl/dl.cpp
70.0% 35/50 5/8 source/lib/rocprof-sys/library/causal/components/unblocking_gotcha.cpp
70.5% 124/176 16/22 source/lib/rocprof-sys/library/components/mpi_gotcha.cpp
71.4% 30/42 3/3 source/lib/core/perfetto/sinks/file_output.cpp
71.4% 25/35 1/2 source/lib/rocprof-sys/library/rocprofiler-sdk/callback/rccl/event_info.hpp
72.2% 407/564 30/40 source/bin/common/json_config.cpp
72.2% 13/18 2/5 source/lib/rocprof-sys/library/pmc/collectors/hipfile/types.hpp
72.7% 245/337 16/17 source/bin/common/preset_registry.cpp
73.0% 54/74 5/6 source/lib/binary/link_map.cpp
73.6% 78/106 5/7 source/bin/rocprof-sys-instrument/function_signature.cpp
74.6% 47/63 4/5 source/bin/rocprof-sys-instrument/log.cpp
74.6% 312/418 33/35 source/bin/common/common_utils.cpp
74.8% 1188/1588 51/87 source/bin/rocprof-sys-instrument/rocprof-sys-instrument.cpp
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% 423/564 30/33 source/lib/rocprof-sys/library/causal/data.cpp
75.0% 18/24 4/5 source/lib/rocprof-sys/library/causal/sample_data.cpp
75.3% 223/296 23/25 source/lib/rocprof-sys/library/causal/sampling.cpp
75.7% 414/547 40/41 source/bin/rocprof-sys-instrument/module_function.cpp
75.8% 47/62 5/5 source/lib/rocprof-sys/library/pmc/collectors/gpu/gpu_traits.hpp
76.3% 29/38 5/5 source/lib/common/static_object.hpp
76.7% 46/60 10/12 source/lib/core/agent_manager.cpp
76.7% 99/129 12/13 source/lib/core/trace_cache/post_processor.cpp
78.2% 61/78 9/10 source/lib/rocprof-sys/library/pmc/device_providers/rocprofiler_sdk/provider.hpp
78.3% 209/267 24/28 source/bin/common/tool_runner.cpp
78.4% 116/148 26/31 source/lib/rocprof-sys/library/thread_data.hpp
79.0% 83/105 10/10 source/lib/core/perfetto/engine_impl.hpp
79.1% 219/277 20/22 source/bin/rocprof-sys-instrument/internal_libs.cpp
79.2% 19/24 2/2 source/lib/core/node_info.cpp
🟢 80-100% (214 files)
Lines Functions File
80.0% 4/5 0/1 source/bin/rocprof-sys-instrument/log.hpp
80.0% 4/5 1/1 source/lib/core/agent.hpp
80.4% 135/168 24/27 source/lib/rocprof-sys/library/thread_info.cpp
80.7% 134/166 12/12 source/bin/rocprof-sys-instrument/rocprof-sys-instrument.hpp
80.8% 135/167 30/33 source/lib/backends/rocprofiler_sdk/backend.hpp
81.2% 181/223 21/24 source/bin/rocprof-sys-avail/common.cpp
81.2% 13/16 1/1 source/lib/rocprof-sys-dl/main.c
81.2% 13/16 2/3 source/lib/rocprof-sys/library/pmc/collectors/gpu_perf_counter/gpu_perf_counter_traits.hpp
81.3% 1461/1798 276/301 source/lib/core/config.cpp
81.4% 70/86 17/22 source/lib/rocprof-sys/library/causal/components/progress_point.cpp
82.7% 43/52 5/5 source/lib/core/perfetto/cached_perfetto_session.cpp
83.2% 89/107 8/9 source/lib/binary/dwarf_entry.cpp
83.6% 327/391 18/29 source/lib/rocprof-sys/library/causal/experiment.cpp
84.0% 722/860 29/34 source/lib/core/trace_cache/rocpd_processor.cpp
84.1% 570/678 34/39 source/lib/rocprof-sys/library.cpp
84.2% 16/19 3/5 source/lib/rocprof-sys/library/components/comm_data.hpp
84.2% 139/165 11/14 source/lib/backends/procfs/backend.hpp
84.6% 137/162 17/18 source/lib/binary/symbol.cpp
84.6% 55/65 4/4 source/lib/rocprof-sys/library/rocprofiler-sdk/buffered/kfd/page_migrate.hpp
84.7% 83/98 4/4 source/lib/core/perfetto/sinks/single_file_sink.cpp
85.1% 74/87 10/12 source/lib/logger/logger.hpp
85.2% 23/27 2/4 source/lib/rocprof-sys/library/rocprofiler-sdk/domain_registry.hpp
85.7% 24/28 4/7 source/lib/core/trace_cache/metadata_registry.hpp
85.7% 78/91 14/16 source/lib/rocprof-sys/library/causal/delay.cpp
85.7% 132/154 12/17 source/lib/rocprof-sys/library/components/backtrace_metrics.cpp
86.0% 49/57 4/4 source/lib/rocprof-sys/library/pmc/collectors/gpu_perf_counter/device.hpp
86.0% 80/93 5/7 source/bin/rocprof-sys-instrument/module_function.hpp
86.8% 46/53 3/3 source/lib/core/trace_cache/cache_manager.cpp
87.5% 14/16 3/3 source/lib/core/perfetto/sinks/per_pid_file_sink.cpp
87.6% 262/299 29/33 source/lib/common/environment.hpp
87.8% 129/147 10/10 source/lib/rocprof-sys/library/coverage.cpp
88.1% 104/118 10/11 source/lib/rocprof-sys/library/tracing.cpp
88.2% 67/76 9/11 source/lib/rocprof-sys/library/components/backtrace.cpp
88.8% 403/454 36/47 source/bin/rocprof-sys-causal/impl.cpp
88.9% 24/27 5/6 source/lib/rocprof-sys/library/rocprofiler-sdk/stream_stack_service.hpp
89.0% 712/800 46/49 source/lib/rocprof-sys/library/sampling.cpp
89.2% 66/74 7/10 source/lib/rocprof-sys/library/components/callchain.cpp
89.2% 223/250 23/33 source/lib/core/sdk/tracing-config.hpp
89.3% 50/56 3/3 source/lib/rocprof-sys/library/rocprofiler-sdk/buffered/kfd/event_page_migrate.hpp
89.4% 749/838 57/70 source/lib/core/argparse.cpp
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% 54/60 10/14 source/lib/rocprof-sys/library/tracing.hpp
90.1% 247/274 11/12 source/bin/rocprof-sys-avail/generate_config.cpp
90.5% 248/274 19/20 source/lib/core/trace_cache/unified_memory_processor.cpp
90.7% 39/43 3/3 source/lib/rocprof-sys/library/rocprofiler-sdk/buffered/kfd/event_page_fault.hpp
90.7% 39/43 3/3 source/lib/rocprof-sys/library/rocprofiler-sdk/buffered/kfd/event_queue.hpp
90.9% 318/350 18/20 source/lib/rocprof-sys/library/components/pthread_create_gotcha.cpp
90.9% 20/22 2/2 source/lib/common/setup.hpp
90.9% 10/11 2/2 source/lib/core/control/clocks/timeline.hpp
90.9% 10/11 1/1 source/lib/rocprof-sys/library/thread_deleter.cpp
91.1% 41/45 3/3 source/lib/rocprof-sys/library/rocprofiler-sdk/buffered/kfd/queue.hpp
91.2% 52/57 8/8 source/lib/rocprof-sys/library/pmc/collectors/base/collector.hpp
91.5% 43/47 5/6 source/lib/rocprof-sys/library/rocprofiler-sdk/buffered_domain.hpp
91.6% 109/119 8/8 source/lib/rocprof-sys/library/pmc/collectors/cpu/device.hpp
91.7% 11/12 2/2 source/lib/core/perfetto/session_backend.hpp
91.7% 44/48 3/3 source/lib/rocprof-sys/library/rocprofiler-sdk/buffered/kfd/event_unmap_from_gpu.hpp
91.8% 45/49 3/4 source/lib/rocprof-sys/library/pmc/collectors/nic/nic_traits.hpp
92.1% 116/126 5/5 source/lib/binary/analysis.cpp
92.1% 70/76 7/8 source/lib/core/trace_cache/buffer_storage.hpp
92.2% 47/51 7/7 source/lib/core/control/clocks/posix.hpp
92.3% 12/13 1/1 source/lib/rocprof-sys/library/rocprofiler-sdk/callback/rccl/transferred_bytes_tracker.hpp
92.5% 186/201 21/23 source/lib/rocprof-sys/library/rocprofiler-sdk/domain_service.hpp
92.6% 163/176 9/9 source/lib/rocprof-sys/library/pmc/collectors/gpu/device.hpp
92.6% 113/122 17/18 source/lib/core/perfetto/engine.cpp
92.6% 919/992 41/48 source/bin/rocprof-sys-avail/avail.cpp
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.3% 265/284 21/30 source/lib/core/trace_cache/sample_type.hpp
93.6% 117/125 11/11 source/lib/rocprof-sys/library/process_sampler.cpp
93.9% 31/33 6/6 source/lib/core/mpi.hpp
94.1% 16/17 1/2 source/lib/rocprof-sys/library/rocprofiler-sdk/callback_domain.hpp
94.3% 33/35 7/9 source/lib/rocprof-sys/library/components/pthread_gotcha.cpp
94.4% 186/197 16/18 source/lib/rocprof-sys/library/components/shmem_gotcha.hpp
94.4% 17/18 3/3 source/bin/rocprof-sys-avail/component_categories.hpp
94.8% 147/155 18/19 source/lib/common/path.hpp
94.9% 74/78 6/6 source/lib/rocprof-sys/library/causal/components/backtrace.cpp
95.0% 38/40 6/7 source/lib/core/trace_cache/rocpd_helpers.hpp
95.1% 58/61 7/8 source/lib/rocprof-sys/library/pmc/collectors/cpu/sample.hpp
95.2% 20/21 1/2 source/lib/rocprof-sys/library/rocprofiler-sdk/buffered/memory_allocation.hpp
95.3% 162/170 19/22 source/lib/rocprof-sys/library/components/ucx_gotcha.hpp
95.4% 62/65 1/5 source/lib/core/trace_cache/cacheable.hpp
95.5% 105/110 12/13 source/lib/rocprof-sys/library/rocprofiler-sdk/callback/ompt/ompt.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
96.1% 49/51 7/7 source/lib/core/process_environment_info.cpp
96.2% 126/131 10/10 source/lib/core/output/output_summary.cpp
96.3% 26/27 1/2 source/lib/common/delimit.hpp
96.3% 52/54 5/7 source/lib/core/containers/aligned_static_vector.hpp
96.6% 28/29 3/3 source/lib/core/config.hpp
96.7% 148/153 9/10 source/lib/common/md5sum.hpp
96.8% 240/248 28/29 source/lib/rocprof-sys/library/components/category_region.hpp
96.8% 30/31 3/4 source/lib/rocprof-sys/library/pmc/collectors/gpu_perf_counter/sample.hpp
96.9% 62/64 9/9 source/lib/core/utility.hpp
97.0% 32/33 4/4 source/lib/core/perfetto/counter_track.hpp
97.0% 32/33 2/2 source/lib/rocprof-sys/library/rocprofiler-sdk/buffered/kfd/event_dropped_events.hpp
97.0% 65/67 14/14 source/lib/core/trace_cache/data_types.cpp
97.2% 35/36 4/5 source/lib/rocprof-sys/library/pmc/collectors/cpu/cpu_traits.hpp
97.3% 36/37 1/2 source/lib/rocprof-sys/library/rocprofiler-sdk/buffered/scratch_memory.hpp
97.3% 36/37 4/4 source/lib/rocprof-sys/library/rocprofiler-sdk/callback/common_tracing_callbacks.hpp
97.4% 74/76 6/6 source/lib/core/common_types.hpp
97.5% 39/40 3/3 source/lib/core/utility.cpp
97.7% 85/87 11/12 source/lib/core/control/triggers/roctx.cpp
97.8% 45/46 3/3 source/lib/rocprof-sys/library/rocprofiler-sdk/buffered/kfd/page_fault.hpp
98.0% 49/50 3/3 source/lib/rocprof-sys/library/pmc/collectors/nic/device.hpp
98.1% 53/54 7/7 source/lib/rocprof-sys/library/pmc/device_providers/amd_smi/provider.hpp
98.2% 56/57 7/8 source/lib/rocprof-sys/library/rocprofiler-sdk/callback/ompt/decoder.hpp
98.3% 57/58 6/8 source/lib/rocprof-sys/library/components/pthread_mutex_gotcha.hpp
98.5% 129/131 18/19 source/lib/rocprof-sys/library/rocprofiler-sdk/callback/roctx/core_api.hpp
98.5% 67/68 9/9 source/bin/common/cli_dispatcher.cpp
98.5% 67/68 10/12 source/lib/common/string_utility.hpp
98.6% 68/69 5/5 source/bin/rocprof-sys-instrument/dynamic_dependency_listing.hpp
98.6% 68/69 5/5 source/lib/rocprof-sys/library/pmc/collectors/cpu/cache_policy.hpp
98.7% 76/77 3/3 source/lib/core/perfetto/packet_framing.hpp
98.8% 81/82 15/16 source/lib/backends/amd_smi/backend.hpp
99.1% 115/116 19/19 source/lib/core/control/session.cpp
100.0% 1/1 0/1 source/bin/common/cli_dispatcher.hpp
100.0% 32/32 4/5 source/bin/common/common_utils.hpp
100.0% 1/1 0/1 source/bin/common/json_config.hpp
100.0% 60/60 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% 11/11 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% 110/110 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% 32/32 2/3 source/lib/backends/hipfile/backend.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% 6/6 1/2 source/lib/binary/scope_filter.hpp
100.0% 8/8 7/8 source/lib/binary/symbol.hpp
100.0% 10/10 2/2 source/lib/common/env_vars.hpp
100.0% 12/12 1/1 source/lib/common/join.hpp
100.0% 24/24 5/6 source/lib/common/synchronized.hpp
100.0% 14/14 3/5 source/lib/common/units/data_size.hpp
100.0% 11/11 2/3 source/lib/common/units/frequency.hpp
100.0% 11/11 2/3 source/lib/common/units/power.hpp
100.0% 5/5 0/3 source/lib/common/units/quantity.hpp
100.0% 8/8 0/2 source/lib/common/version.hpp
100.0% 158/158 1/1 source/lib/core/agent_info.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% 21/21 6/6 source/lib/core/categories.cpp
100.0% 11/11 11/11 source/lib/core/components/fwd.hpp
100.0% 55/55 6/7 source/lib/core/config/trace_period_config.hpp
100.0% 26/26 1/3 source/lib/core/containers/c_array.hpp
100.0% 22/22 0/2 source/lib/core/containers/operators.hpp
100.0% 87/87 20/23 source/lib/core/containers/stable_vector.hpp
100.0% 44/44 3/6 source/lib/core/containers/static_vector.hpp
100.0% 19/19 4/4 source/lib/core/control/clocks/steady.cpp
100.0% 2/2 2/2 source/lib/core/control/clocks/steady.hpp
100.0% 15/15 3/5 source/lib/core/control/session.hpp
100.0% 3/3 0/2 source/lib/core/control/triggers/roctx.hpp
100.0% 47/47 7/7 source/lib/core/control/triggers/time_window.hpp
100.0% 45/45 7/11 source/lib/core/demangler.hpp
100.0% 2/2 2/2 source/lib/core/node_info.hpp
100.0% 3/3 1/2 source/lib/core/output/output_summary.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/sinks/file_output.hpp
100.0% 1/1 0/1 source/lib/core/perfetto/sinks/per_pid_file_sink.hpp
100.0% 2/2 0/1 source/lib/core/perfetto/sinks/single_file_sink.hpp
100.0% 2/2 0/1 source/lib/core/perfetto/sinks/trace_sink.hpp
100.0% 1/1 0/1 source/lib/core/progress/bar.hpp
100.0% 7/7 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/2 source/lib/core/trace_cache/cache_manager.hpp
100.0% 4/4 0/3 source/lib/core/trace_cache/data_types.hpp
100.0% 1/1 1/1 source/lib/core/trace_cache/perfetto_processor.hpp
100.0% 2/2 0/1 source/lib/core/trace_cache/sample_processor_interface.hpp
100.0% 9/9 3/3 source/lib/core/trace_cache/type_registry.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% 12/12 1/1 source/lib/logger/logger.cpp
100.0% 8/8 0/1 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 0/1 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 0/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 0/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% 5/5 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% 14/14 0/1 source/lib/rocprof-sys/library/pmc/collectors/common/collector_slice.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% 55/55 4/4 source/lib/rocprof-sys/library/pmc/collectors/hipfile/device.hpp
100.0% 36/36 2/3 source/lib/rocprof-sys/library/pmc/collectors/hipfile/hipfile_traits.hpp
100.0% 20/20 2/3 source/lib/rocprof-sys/library/pmc/collectors/hipfile/sample.hpp
100.0% 3/3 0/3 source/lib/rocprof-sys/library/pmc/common/types.hpp
100.0% 15/15 2/3 source/lib/rocprof-sys/library/process_sampler.hpp
100.0% 43/43 2/2 source/lib/rocprof-sys/library/rocprofiler-sdk/buffered/kernel_dispatch.hpp
100.0% 39/39 1/2 source/lib/rocprof-sys/library/rocprofiler-sdk/buffered/memory_copy.hpp
100.0% 9/9 1/1 source/lib/rocprof-sys/library/rocprofiler-sdk/callback/code_object.hpp
100.0% 17/17 2/2 source/lib/rocprof-sys/library/rocprofiler-sdk/callback/rccl/device_resolver.hpp
100.0% 48/48 4/4 source/lib/rocprof-sys/library/rocprofiler-sdk/callback/rccl/rccl.hpp
100.0% 10/10 0/1 source/lib/rocprof-sys/library/rocprofiler-sdk/callback/roctx/control_api.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% 30
20-50% 19
50-80% 58
80-100% 214

@ajanicijamd
ajanicijamd marked this pull request as ready for review October 8, 2026 22:56
@ajanicijamd
ajanicijamd requested review from a team and jrmadsen as code owners October 8, 2026 22:56

@sputhala-amd sputhala-amd left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The code changes otherwise look good to me.

@ajanicijamd
ajanicijamd force-pushed the users/ajanicijamd/build-ainic-config-fix branch from d346633 to 566d8ae Compare October 13, 2026 23:48
@ajanicijamd
ajanicijamd requested review from a team and sputhala-amd October 14, 2026 13:43
Without this fix, rocprof-sys-run --help always advertised --ai-nics
even on builds where AI NIC support is compiled out (ROCPROFSYS_USE_AINIC
OFF or AMD SMI < 26.3). The environ_filter(ai-nics, ...) call was only
a runtime de-dup check, not a compile-time gate, so the argument was
unconditionally registered while the config.cpp settings it mirrors
(USE_AINIC, SAMPLING_AINICS) were correctly absent.

Wrap the --ai-nics / sampling_ai-nics argument block in argparse.cpp with
  #if defined(ROCPROFSYS_BUILD_AINIC) && ROCPROFSYS_BUILD_AINIC == 1
symmetric with the four existing guards in config.cpp.

Also clean up the surrounding area:
- sampler.cpp: harmonise 7 bare #if defined(ROCPROFSYS_BUILD_AINIC) guards
  to the full && ROCPROFSYS_BUILD_AINIC == 1 form used everywhere else
- pmc/collectors/{nic,gpu}/tests/CMakeLists.txt: remove redundant
  per-target ROCPROFSYS_BUILD_AINIC=1 defines; the flag is already on the
  rocprofiler-systems-compile-definitions INTERFACE target (Packages.cmake)
  and propagated to both test targets via their existing link dependencies
The --ai-nics argument is only registered by the launcher when
ROCPROFSYS_BUILD_AINIC=1, which requires AMD SMI >= 26.3. Before this
change, two test files unconditionally exercised that argument, causing
CI failures on runners with older AMD SMI.

test_cli_help.py: inject the rocprof_config session fixture into the
parametrized test() method and drop r"--ai-nics" from the pass_regex
list when amdsmi_version < (26, 3). The rest of the domain/topic
patterns (--gpus, --use-amd-smi, etc.) are unaffected and continue
to run on all machines.

test_presets.py: add @pytest.mark.amdsmi_min_version("26.3") to
test_ai_nics_without_device. That test invokes the binary with
--ai-nics=nic0; on AINIC=OFF builds the flag is unrecognized and
the binary exits non-zero, so skipping on unsupported runners is
the correct behaviour.
The second processed_environs entry for the --ai-nics argument was
"sampling_ai-nics" (with a hyphen), but the auto-registration loop
looks up the setting by get_name(), which returns the result of
strip_rocprofsys_prefix("ROCPROFSYS_SAMPLING_AINICS") = "sampling_ainics"
(all underscores). The key mismatch caused the environ_filter lookup to
miss, leaving the auto-registration path unblocked and resulting in
--sampling-ainics being registered as a second, unguarded CLI argument
for the same setting.

Fix: change the key to "sampling_ainics" to match the convention used
by the analogous --cpus (sampling_cpus) and --gpus ("sampling_gpus")
arguments.

Remove test_sampling_ainics_help from test_ainic.py: that test was
passing only because of the bug (it found the unintentionally
auto-registered --sampling-ainics in --help=sampling output). After the
fix --sampling-ainics is correctly suppressed. Coverage for the AINIC
CLI flag appearing in help is already provided by the test_cli_help.py
domain_gpu, domain_rocm, and topic_process cases.
@dgaliffiAMD
dgaliffiAMD force-pushed the users/ajanicijamd/build-ainic-config-fix branch from 566d8ae to ed6209a Compare October 19, 2026 18:51

@dgaliffiAMD dgaliffiAMD left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you.

@ajanicijamd
ajanicijamd merged commit df6ff2f into develop Oct 20, 2026
131 of 132 checks passed
@ajanicijamd
ajanicijamd deleted the users/ajanicijamd/build-ainic-config-fix branch October 20, 2026 20:57
@systems-assistant

Copy link
Copy Markdown
Contributor

TheRock Submodule Bump Activity

Newest first

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants