Skip to content

fix(rocprofiler-sdk): Fix ROCPROFILER_ASYNC_SIGNAL_HANDLER_THREADS deadlock - #9984

Merged
itrowbri merged 30 commits into
developfrom
users/itrowbri/fix-queue-interposition-hang
Sep 15, 2026
Merged

itrowbri merged 30 commits into
developfrom
users/itrowbri/fix-queue-interposition-hang

Conversation

@itrowbri

@itrowbri itrowbri commented Aug 11, 2026 •

Copy link
Copy Markdown
Contributor

Motivation

Queue interposition implementation currently has a deadlock when ROCPROFILER_ASYNC_SIGNAL_HANDLER_THREADS < n where n is the number of kernels connected via a barrier or something similar. So, for instance, if we have 4 async handler threads and 8 kernels with a barrier (performing an operation like all_reduce), we will hit a deadlock. This PR is a draft built on Ben's rocr-runtime changes currently.

Technical Details

Changed .current thread pool which blocked on individual signals to a single monitor thread which waits on any signal with the fixed hsa_amd_signal_wait_any

Issue Tracking

JIRA ID: ROCM-29087

Test Plan

Add regression test to ensure deadlock doesn't reoccur

Test Result

Added hip graph bin file test which deadlocked without fix does not deadlock with code changes

Submission Checklist

@itrowbri itrowbri changed the title Initial implementation of monitor thread fix(rocprofiler-sdk): Fix ROCPROFILER_ASYNC_SIGNAL_HANDLER_THREADS deadlock Aug 11, 2026
@bwelton
bwelton force-pushed the users/bewelton/fix-hsa-signal-wait-any-oob branch from 216acc5 to 8a8f052 Compare August 11, 2026 18:06

@bwelton bwelton 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.

Generally find this good to go, The comments from @eble-amd should be addressed but afterwards feel free to send this up.

@itrowbri
itrowbri force-pushed the users/itrowbri/fix-queue-interposition-hang branch from 49dfa07 to 5818469 Compare August 11, 2026 18:40
@itrowbri
itrowbri marked this pull request as ready for review August 11, 2026 19:27
@itrowbri
itrowbri requested review from a team as code owners August 11, 2026 19:27
Copilot AI lite review requested due to automatic review settings August 11, 2026 19:27

Copilot AI 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.

Pull request overview

This PR addresses a deadlock in rocprofiler-sdk’s queue interposition completion handling when the number of async handler threads is smaller than the number of concurrently-blocked kernel completion signals (e.g., barrier/all_reduce patterns). It replaces the per-signal blocking worker model with a single completion-monitor thread that waits on a dynamic set of signals via hsa_amd_signal_wait_any.

Changes:

  • Replaces the async signal handler task-group approach with a single completion-monitor thread and an inbox/active-set model.
  • Defers completion registration until after the final doorbell publish, then registers all pending completion waits with the monitor.
  • Updates init/fini synchronization to drain and stop the new monitor thread before finalizing the signal pool.
Suppressed comments (1)

projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/hsa/queue_interposition.cpp:590

  • drain_completion_monitor waits for inflight to reach 0 with no escape hatch. If finalization begins while there are in-flight waits whose signals will never complete (e.g., runtime teardown), this loop can spin forever and prevent shutdown. Consider bailing out when registration::get_fini_status() != 0 and letting stop_completion_monitor drive the teardown cleanup instead.
    get_core_table()->hsa_signal_store_screlease_fn(mon.wake_signal, 1);
    if(mon.thread.joinable()) mon.thread.join();

    get_core_table()->hsa_signal_destroy_fn(mon.wake_signal);
    mon.wake_signal = {};

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Copilot AI 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.

Pull request overview

Copilot reviewed 10 out of 13 changed files in this pull request and generated 1 comment.

Suppressed comments (2)

projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/hsa/queue_interposition.cpp:621

  • Creating this raw thread skips the SDK's internal-thread creation notifications. The replaced create_task_group emitted notify_pre_internal_thread_create/notify_post_internal_thread_create, and the public rocprofiler_at_internal_thread_create contract lets thread-aware tools suppress wrapping of SDK threads. Production raw-thread sites follow the same pattern (for example, kfd/kfd.cpp:962-964 and thread_trace/core.cpp:325-329). Restore the pre/post notifications around this construction.
    mon.thread = std::thread{[&mon]() { completion_monitor_loop(mon); }};

projects/rocprofiler-sdk/tests/hip-graph-forkjoin-deadlock/CMakeLists.txt:56

  • Pin the retired handler-pool size in this regression. Before this change the thread count defaults from GPU_MAX_HW_QUEUES, so on systems where that value is at least the graph width, this test does not reproduce the reported handler threads < dependent kernels condition and can pass without the fix. The new monitor ignores the variable, while setting it to 1 guarantees the pre-fix implementation exercises the deadlock.
        "ROCPROFILER_QUEUE_INTERPOSITION=1"

Copilot AI 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.

Pull request overview

Copilot reviewed 10 out of 13 changed files in this pull request and generated 1 comment.

Suppressed comments (4)

projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/hsa/queue_interposition.cpp:621

  • Wrap this new SDK-owned thread creation with internal_threading::notify_pre_internal_thread_create(ROCPROFILER_LIBRARY) and the matching post notification, and retain the removed internal_threading.hpp include. Otherwise clients registered through rocprofiler_at_internal_thread_create are not notified and pthread-wrapping tools may instrument this internal monitor. This is the established pattern in hsa/kfd.cpp:961-964 and thread_trace/core.cpp:325-344.
    mon.thread = std::thread{[&mon]() { completion_monitor_loop(mon); }};

projects/rocprofiler-sdk/tests/hip-graph-forkjoin-deadlock/validate.py:93

  • Correlation IDs are batch/API IDs, not per-dispatch IDs: write_interceptor intentionally assigns one correlation ID to every dispatch packet in a batch (queue_interposition.cpp:715-767). Correct graph output can therefore contain duplicates, so this assertion can fail without any duplicate completion. Use each record's unique dispatch_info.dispatch_id for this check instead.
    assert len(cids) == len(set(cids)), "duplicate correlation ids"

projects/rocprofiler-sdk/samples/external_correlation_id_request/CMakeLists.txt:103

  • The inline-async-delay test no longer introduces any delay: this PR removes the only ROCPROFILER_TEST_INLINE_ASYNC_DELAY_US hook and now gives the test the ordinary stress environment. It therefore no longer deterministically covers delayed completion despite its name. Preserve an equivalent monitor delay/synchronization hook and enable it here, or remove/rename the test if that coverage is intentionally dropped.
               "${external-correlation-id-request-inline-stress-env}"

projects/rocprofiler-sdk/tests/hip-graph-forkjoin-deadlock/CMakeLists.txt:56

  • This regression does not pin the old handler-pool size below the graph width, so an inherited GPU_MAX_HW_QUEUES >= 8 makes the pre-fix implementation avoid the deadlock and lets the test pass without exercising the regression. Set the legacy override to one thread explicitly; the new monitor can ignore it, while the fixture remains guaranteed to fail if the bounded handler pool is reintroduced.
        "ROCPROFILER_QUEUE_INTERPOSITION=1"

Copilot AI 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.

Pull request overview

Copilot reviewed 10 out of 13 changed files in this pull request and generated 1 comment.

Suppressed comments (2)

projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/hsa/queue_interposition.cpp:368

  • inflight is used as a completion barrier by drain_completion_monitor(), but every decrement is memory_order_relaxed. Therefore the acquire load that observes zero does not synchronize with the monitor's preceding run_completion() work, so a context-stop thread can continue teardown without a C++ happens-before edge from completion processing. Use release semantics for all decrements (and keep the acquire load), and decrement only after all per-entry cleanup that the drain is meant to cover.
    // Registered-but-not-yet-completed waits (inbox + active). Lets other threads
    // observe quiescence without touching the monitor-private `active` vector.
    std::atomic<uint64_t> inflight = {0};

projects/rocprofiler-sdk/samples/external_correlation_id_request/CMakeLists.txt:103

  • This test is still named inline-async-delay, but it now uses exactly the stress environment and runs fewer iterations than the stress test. Removing ROCPROFILER_TEST_INLINE_ASYNC_DELAY_US from both the implementation and this test eliminates the deterministic lag that this regression case exercised, making the test redundant rather than coverage for delayed completion processing. Restore an equivalent monitor delay hook for this test or rename/remove the case if that behavior is intentionally no longer covered.
               LABELS
               "samples;repro"
               ENVIRONMENT
               "${external-correlation-id-request-inline-stress-env}"

Copilot AI 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.

Pull request overview

Copilot reviewed 10 out of 13 changed files in this pull request and generated 1 comment.

Suppressed comments (2)

projects/rocprofiler-sdk/tests/hip-graph-forkjoin-deadlock/CMakeLists.txt:56

  • This regression does not force the condition it is intended to cover. The retired implementation sized its pool from GPU_MAX_HW_QUEUES unless ROCPROFILER_ASYNC_SIGNAL_HANDLER_THREADS was set, so on a host where that resolves to at least the workload concurrency, the old code can pass. Set the old knob to a small value (for example, 1) so this test deterministically distinguishes the deadlocking implementation from the monitor implementation.
        # Pin interposition on: this regression only exercises the monitor path when the
        # inline path is active. It would default on for these contexts, but set it
        # explicitly so a future default-logic change cannot silently no-op the test.
        "ROCPROFILER_QUEUE_INTERPOSITION=1"

projects/rocprofiler-sdk/tests/hip-graph-forkjoin-deadlock/validate.py:93

  • Correlation IDs are not unique per dispatch: the interposition path deliberately assigns one correlation ID to every packet in a submitted batch (queue_interposition.cpp:741-743). A graph batch containing multiple kernels therefore makes this test reject valid output. Check dispatch_info.dispatch_id instead; that field is globally unique per dispatch (queue_interposition.cpp:703-704).
def test_correlation_ids_unique(input_data):
    """Internal correlation ids are unique across captured dispatches; a
    duplicate would indicate a completion accounted for more than once."""

@github-actions

github-actions Bot commented Sep 14, 2026 •

Copy link
Copy Markdown
Contributor

rocprofiler-systems CI Summary

Test Results (for commit c01232b)

Workflow jobs covered: 31

Workflow Runs Avg Test Time Tests Skipped Failed
Ubuntu 22.04 5 30m 19s 2,570 100 0
Ubuntu 24.04 5 29m 53s 2,590 110 0
Debian 4 37m 00s 2,168 78 0
RHEL 7 34m 28s 3,598 174 0
System deps 10 30m 12s 5,364 216 0
Total 31 32m 00s 16,290 678 0

Failed Tests

No failed tests reported.

Sanitizers

Thread Undefined Address
Passed Passed Passed

@therock-pr-bot

Copy link
Copy Markdown

✅ All Policy Checks Passed

Check Status Details
📝 PR Description ✅ Pass —
⛔ Forbidden Files ✅ Pass —
🧪 Unit Test ⚠️ Warning Error: Source/code files changed without an accompanying unit test.
Expected: add at least one test file named like test_<name>.py / test_<name>.cpp (or <name>_test.*).
Current: code file(s) changed: projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/hsa/hsa.cpp, projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/hsa/queue_controller.cpp, projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/hsa/queue_interposition.cpp, projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/hsa/queue_interposition.hpp, projects/rocprofiler-sdk/source/lib/rocprofiler-sdk/registration.cpp (+6 more); no test file found
🚫 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?

@github-actions

Copy link
Copy Markdown
Contributor

Code Coverage Report

Code Coverage Report

Unit Tests

Code Coverage: unit-tests

Lines: 🔴 23.1% — 8,443/36,569 across 324 files
Functions: 🔴 25.4% — 956/3,759

🔴 0-20% (191 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/105 0/9 source/bin/common/argument_registration.hpp
0.0% 0/254 0/28 source/bin/common/tool_runner.cpp
0.0% 0/59 0/6 source/bin/rocprof-sys-avail/avail.hpp
0.0% 0/260 0/12 source/bin/rocprof-sys-avail/generate_config.cpp
0.0% 0/102 0/6 source/bin/rocprof-sys-avail/hw_counter_query.cpp
0.0% 0/447 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/670 0/45 source/bin/rocprof-sys-instrument/details.cpp
0.0% 0/91 0/7 source/bin/rocprof-sys-instrument/function_signature.cpp
0.0% 0/20 0/5 source/bin/rocprof-sys-instrument/function_signature.hpp
0.0% 0/158 0/7 source/bin/rocprof-sys-instrument/info.hpp
0.0% 0/264 0/22 source/bin/rocprof-sys-instrument/internal_libs.cpp
0.0% 0/64 0/6 source/bin/rocprof-sys-instrument/log.cpp
0.0% 0/5 0/1 source/bin/rocprof-sys-instrument/log.hpp
0.0% 0/532 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/1535 0/87 source/bin/rocprof-sys-instrument/rocprof-sys-instrument.cpp
0.0% 0/157 0/12 source/bin/rocprof-sys-instrument/rocprof-sys-instrument.hpp
0.0% 0/2 0/1 source/bin/rocprof-sys-run/rocprof-sys-run.cpp
0.0% 0/2 0/1 source/bin/rocprof-sys-sample/rocprof-sys-sample.cpp
0.0% 0/24 0/1 source/lib/backends/amd_smi/wrapper.hpp
0.0% 0/16 0/4 source/lib/binary/address_multirange.cpp
0.0% 0/9 0/1 source/lib/binary/address_multirange.hpp
0.0% 0/117 0/5 source/lib/binary/analysis.cpp
0.0% 0/7 0/1 source/lib/binary/binary_info.hpp
0.0% 0/102 0/9 source/lib/binary/dwarf_entry.cpp
0.0% 0/1 0/1 source/lib/binary/dwarf_entry.hpp
0.0% 0/69 0/6 source/lib/binary/link_map.cpp
0.0% 0/3 0/1 source/lib/binary/link_map.hpp
0.0% 0/10 0/1 source/lib/binary/scope_filter.cpp
0.0% 0/5 0/2 source/lib/binary/scope_filter.hpp
0.0% 0/158 0/18 source/lib/binary/symbol.cpp
0.0% 0/8 0/8 source/lib/binary/symbol.hpp
0.0% 0/9 0/2 source/lib/common/env_vars.hpp
0.0% 0/40 0/3 source/lib/common/invoke.hpp
0.0% 0/150 0/10 source/lib/common/md5sum.hpp
0.0% 0/22 0/2 source/lib/common/setup.hpp
0.0% 0/166 0/2 source/lib/core/agent_info.hpp
0.0% 0/80 0/18 source/lib/core/binary/address_range.cpp
0.0% 0/9 0/3 source/lib/core/binary/address_range.hpp
0.0% 0/49 0/10 source/lib/core/categories.cpp
0.0% 0/11 0/11 source/lib/core/components/fwd.hpp
0.0% 0/14 0/2 source/lib/core/containers/aligned_static_vector.hpp
0.0% 0/11 0/3 source/lib/core/containers/c_array.hpp
0.0% 0/1 0/1 source/lib/core/containers/operators.hpp
0.0% 0/46 0/12 source/lib/core/containers/stable_vector.hpp
0.0% 0/23 0/5 source/lib/core/containers/static_vector.hpp
0.0% 0/84 0/5 source/lib/core/cpu.cpp
0.0% 0/1 0/1 source/lib/core/cpu.hpp
0.0% 0/54 0/6 source/lib/core/dynamic_library.cpp
0.0% 0/28 0/7 source/lib/core/exception.cpp
0.0% 0/160 0/12 source/lib/core/gpu_metrics.cpp
0.0% 0/33 0/6 source/lib/core/mpi.hpp
0.0% 0/24 0/2 source/lib/core/node_info.cpp
0.0% 0/2 0/2 source/lib/core/node_info.hpp
0.0% 0/80 0/5 source/lib/core/perf.cpp
0.0% 0/51 0/5 source/lib/core/perfetto/cached_perfetto_session.cpp
0.0% 0/33 0/4 source/lib/core/perfetto/counter_track.hpp
0.0% 0/29 0/7 source/lib/core/perfetto/emitter.cpp
0.0% 0/48 0/9 source/lib/core/perfetto/emitter.hpp
0.0% 0/7 0/1 source/lib/core/perfetto/sinks/append_mode.hpp
0.0% 0/13 0/3 source/lib/core/perfetto/sinks/tee_sink.cpp
0.0% 0/1 0/1 source/lib/core/perfetto/sinks/tee_sink.hpp
0.0% 0/1 0/1 source/lib/core/progress/bar.hpp
0.0% 0/8 0/3 source/lib/core/sdk/tracing-config-deps.hpp
0.0% 0/54 0/3 source/lib/core/trace_cache/cache_manager.cpp
0.0% 0/7 0/3 source/lib/core/trace_cache/cache_manager.hpp
0.0% 0/516 0/71 source/lib/core/trace_cache/metadata_registry.cpp
0.0% 0/782 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/829 0/32 source/lib/core/trace_cache/rocpd_processor.cpp
0.0% 0/77 0/1 source/lib/core/trace_cache/sample_processor.hpp
0.0% 0/14 0/6 source/lib/rocprof-sys-causal-api/causal_api.cpp
0.0% 0/540 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/624 0/36 source/lib/rocprof-sys/library.cpp
0.0% 0/73 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/105 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/49 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/89 0/16 source/lib/rocprof-sys/library/causal/delay.cpp
0.0% 0/380 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/214 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/337 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/143 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/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/172 0/10 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/224 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/33 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/114 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/1269 0/88 source/lib/rocprof-sys/library/rocprofiler-sdk.cpp
0.0% 0/111 0/13 source/lib/rocprof-sys/library/rocprofiler-sdk/counters.cpp
0.0% 0/17 0/6 source/lib/rocprof-sys/library/rocprofiler-sdk/counters.hpp
0.0% 0/129 0/9 source/lib/rocprof-sys/library/rocprofiler-sdk/fwd.cpp
0.0% 0/34 0/7 source/lib/rocprof-sys/library/rocprofiler-sdk/fwd.hpp
0.0% 0/36 0/9 source/lib/rocprof-sys/library/rocprofiler-sdk/marker_writer.cpp
0.0% 0/136 0/13 source/lib/rocprof-sys/library/rocprofiler-sdk/rccl.cpp
0.0% 0/112 0/10 source/lib/rocprof-sys/library/rocprofiler-sdk/roctx_client.cpp
0.0% 0/118 0/20 source/lib/rocprof-sys/library/runtime.cpp
0.0% 0/2 0/1 source/lib/rocprof-sys/library/runtime.hpp
0.0% 0/1006 0/66 source/lib/rocprof-sys/library/sampling.cpp
0.0% 0/145 0/31 source/lib/rocprof-sys/library/thread_data.hpp
0.0% 0/10 0/3 source/lib/rocprof-sys/library/thread_data_growth.hpp
0.0% 0/10 0/1 source/lib/rocprof-sys/library/thread_deleter.cpp
0.0% 0/5 0/1 source/lib/rocprof-sys/library/thread_deleter.hpp
0.0% 0/161 0/27 source/lib/rocprof-sys/library/thread_info.cpp
0.0% 0/2 0/1 source/lib/rocprof-sys/library/thread_info.hpp
0.0% 0/113 0/11 source/lib/rocprof-sys/library/tracing.cpp
0.0% 0/109 0/30 source/lib/rocprof-sys/library/tracing.hpp
0.0% 0/3 0/1 source/lib/rocprof-sys/library/tracing/annotation.cpp
0.0% 0/45 0/4 source/lib/rocprof-sys/library/tracing/annotation.hpp
0.0% 0/8 0/2 source/lib/rocprof-sys/progress.cpp
0.0% 0/74 0/16 source/lib/rocprof-sys/regions.cpp
0.0% 0/91 0/6 source/lib/rocprof-sys/timeout.cpp
0.0% 0/439 0/45 source/python/libpyrocprofsys.cpp
0.6% 1/169 1/13 source/lib/core/perfetto.cpp
0.8% 7/847 1/73 source/lib/core/argparse.cpp
5.2% 9/172 3/23 source/lib/core/constraint.cpp
6.9% 31/449 6/53 build/coverage/_deps/fmt-src/include/fmt/chrono.h
7.1% 1/14 0/1 build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/iterators/primitive_iterator.hpp
8.3% 2/24 1/2 source/lib/core/amd_smi.cpp
14.0% 30/215 8/24 source/bin/rocprof-sys-avail/common.cpp
15.4% 4/26 0/6 source/lib/core/trace_cache/metadata_registry.hpp
18.0% 32/178 6/23 source/lib/core/gpu.cpp
18.2% 4/22 1/3 source/lib/common/static_object.hpp
18.8% 9/48 2/5 source/lib/core/output_file_registry.cpp
19.0% 4/21 0/2 source/lib/backends/rocprofiler_sdk/wrapper.hpp
19.4% 6/31 2/5 source/bin/common/common_utils.hpp
🟠 20-50% (13 files)
Lines Functions File
20.0% 1/5 0/2 source/lib/core/argparse.hpp
21.3% 13/61 3/9 source/lib/core/utility.hpp
22.2% 2/9 0/6 source/lib/core/constraint.hpp
23.2% 13/56 1/4 source/lib/core/mproc.cpp
29.1% 351/1206 34/96 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
35.1% 13/37 1/4 source/lib/core/perfetto/sinks/io_helpers.hpp
35.2% 607/1726 155/301 source/lib/core/config.cpp
36.5% 23/63 6/12 source/lib/core/agent_manager.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
46.1% 434/941 10/48 source/bin/rocprof-sys-avail/avail.cpp
49.6% 127/256 14/32 source/lib/rocprof-sys/library/components/category_region.hpp
🟡 50-80% (34 files)
Lines Functions File
50.0% 153/306 9/11 build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/output/serializer.hpp
50.0% 1/2 0/1 source/lib/rocprof-sys/library/pmc/collectors/nic/types.hpp
51.0% 213/418 24/36 source/bin/common/common_utils.cpp
52.0% 13/25 2/3 source/lib/rocprof-sys/library/pmc/collectors/gpu_perf_counter/gpu_perf_counter_traits.hpp
53.3% 8/15 3/3 source/lib/core/perfetto/sinks/per_pid_file_sink.cpp
53.8% 256/476 20/39 build/coverage/_deps/fmt-src/include/fmt/base.h
55.0% 22/40 4/6 build/coverage/_deps/fmt-src/include/fmt/ranges.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% 272/438 33/41 build/coverage/_deps/nlohmann_json-src/include/nlohmann/json.hpp
62.1% 41/66 7/8 source/lib/rocprof-sys/library/pmc/collectors/base/collector.hpp
62.8% 49/78 4/5 source/lib/core/trace_cache/discovery.cpp
63.1% 70/111 7/10 source/lib/core/progress/bar.cpp
64.5% 333/516 26/40 source/bin/common/json_config.cpp
65.4% 34/52 4/4 build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/conversions/from_json.hpp
65.4% 17/26 2/3 source/lib/core/config.hpp
66.2% 47/71 5/5 source/lib/rocprof-sys/library/pmc/collectors/gpu/gpu_traits.hpp
66.4% 87/131 4/5 build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/input/parser.hpp
66.7% 2/3 0/2 source/lib/rocprof-sys/library/pmc/collectors/cpu/types.hpp
67.2% 43/64 11/14 source/lib/core/trace_cache/data_types.cpp
68.4% 39/57 4/6 source/lib/core/perfetto.hpp
68.8% 22/32 3/8 source/lib/rocprof-sys/library/pmc/collectors/gpu_perf_counter/types.hpp
71.1% 69/97 8/8 build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/iterators/iter_impl.hpp
71.8% 219/305 15/17 source/bin/common/preset_registry.cpp
72.3% 86/119 14/17 source/lib/core/perfetto/engine.cpp
73.7% 28/38 6/7 build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/iterators/iteration_proxy.hpp
75.0% 3/4 0/1 source/lib/backends/amd_smi/nic_types.hpp
75.0% 3/4 1/2 source/lib/core/perfetto/sinks/single_file_sink.hpp
76.5% 78/102 4/4 source/lib/core/perfetto/sinks/single_file_sink.cpp
77.8% 7/9 0/1 source/bin/rocprof-sys-avail/info_type.hpp
77.8% 77/99 10/11 source/lib/core/perfetto/engine_impl.hpp
🟢 80-100% (86 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.1% 99/122 14/16 source/lib/common/path.hpp
82.8% 48/58 6/7 build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/conversions/to_json.hpp
83.4% 131/157 10/14 source/lib/backends/procfs/backend.hpp
83.9% 73/87 10/12 source/lib/logger/logger.hpp
84.6% 11/13 2/4 source/lib/rocprof-sys/library/rocprofiler-sdk/roctx_client.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% 251/285 28/33 source/lib/common/environment.hpp
89.1% 49/55 4/4 source/lib/rocprof-sys/library/pmc/collectors/gpu_perf_counter/device.hpp
89.1% 221/248 23/33 source/lib/core/sdk/tracing-config.hpp
89.5% 34/38 5/8 build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/input/input_adapters.hpp
90.0% 54/60 4/4 source/lib/core/trace_cache/buffer_storage.cpp
90.1% 100/111 8/8 source/lib/rocprof-sys/library/pmc/collectors/cpu/device.hpp
90.7% 243/268 19/20 source/lib/core/trace_cache/unified_memory_processor.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
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.9% 13/14 0/1 source/lib/rocprof-sys/library/pmc/collectors/common/collector_slice.hpp
93.0% 40/43 6/11 source/lib/core/demangler.hpp
93.2% 68/73 7/8 source/lib/core/trace_cache/buffer_storage.hpp
94.2% 129/137 29/32 source/lib/backends/rocprofiler_sdk/backend.hpp
94.4% 17/18 3/3 source/bin/rocprof-sys-avail/component_categories.hpp
94.7% 36/38 7/7 build/coverage/_deps/spdlog-src/include/spdlog/logger.h
94.7% 54/57 6/8 source/lib/rocprof-sys/library/components/pthread_mutex_gotcha.hpp
94.8% 55/58 1/5 source/lib/core/trace_cache/cacheable.hpp
94.8% 92/97 9/10 source/lib/rocprof-sys/library/rocprofiler-sdk/trace_control.cpp
95.0% 19/20 4/6 build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/string_concat.hpp
95.7% 22/23 4/6 source/lib/common/synchronized.hpp
95.8% 23/24 2/4 source/lib/common/pci_bdf.hpp
95.9% 162/169 19/22 source/lib/rocprof-sys/library/components/ucx_gotcha.hpp
96.2% 25/26 1/2 source/lib/common/delimit.hpp
96.5% 82/85 11/12 source/lib/core/state.hpp
96.8% 30/31 3/4 source/lib/rocprof-sys/library/pmc/collectors/gpu_perf_counter/sample.hpp
97.3% 73/75 3/3 source/lib/core/perfetto/packet_framing.hpp
97.4% 74/76 6/6 source/lib/core/common_types.hpp
97.4% 38/39 3/3 source/lib/core/utility.cpp
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.2% 56/57 9/10 source/lib/common/string_utility.hpp
98.7% 78/79 15/16 source/lib/backends/amd_smi/backend.hpp
100.0% 14/14 1/1 build/coverage/_deps/fmt-src/include/fmt/ostream.h
100.0% 6/6 0/3 build/coverage/_deps/nlohmann_json-src/include/nlohmann/adl_serializer.hpp
100.0% 2/2 0/1 build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/input/position_t.hpp
100.0% 2/2 0/1 build/coverage/_deps/spdlog-src/include/spdlog/details/backtracer.h
100.0% 2/2 0/1 build/coverage/_deps/spdlog-src/include/spdlog/details/circular_q.h
100.0% 1/1 0/1 build/coverage/include/profiler-hub/reader_types.hpp
100.0% 1/1 0/1 source/bin/common/json_config.hpp
100.0% 39/39 2/2 source/bin/rocprof-sys-avail/get_availability.hpp
100.0% 10/10 1/1 source/bin/rocprof-sys-avail/get_categories.hpp
100.0% 4/4 1/1 source/bin/rocprof-sys-avail/info_type.cpp
100.0% 107/107 13/14 source/lib/backends/amd_smi/device.hpp
100.0% 7/7 0/1 source/lib/backends/amd_smi/gpu_types.hpp
100.0% 1/1 0/1 source/lib/backends/rocprofiler_sdk/types.hpp
100.0% 12/12 1/1 source/lib/common/join.hpp
100.0% 11/11 2/3 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/2 source/lib/common/units/quantity.hpp
100.0% 8/8 0/2 source/lib/common/version.hpp
100.0% 2/2 1/2 source/lib/core/agent_manager.hpp
100.0% 1/1 0/1 source/lib/core/output_file_registry.hpp
100.0% 1/1 0/1 source/lib/core/perfetto/category_registry.hpp
100.0% 1/1 0/1 source/lib/core/perfetto/engine.hpp
100.0% 7/7 0/1 source/lib/core/perfetto/locked_file_append.hpp
100.0% 9/9 2/3 source/lib/core/perfetto/sinks/polymorphic_sink_view.hpp
100.0% 6/6 2/2 source/lib/core/perfetto/sinks/recording_sink.cpp
100.0% 5/5 0/2 source/lib/core/perfetto/sinks/recording_sink.hpp
100.0% 6/6 2/2 source/lib/core/progress/tracker.cpp
100.0% 1/1 0/1 source/lib/core/progress/tracker.hpp
100.0% 4/4 0/3 source/lib/core/trace_cache/data_types.hpp
100.0% 9/9 3/3 source/lib/core/trace_cache/type_registry.hpp
100.0% 24/24 4/5 source/lib/core/trace_cache/unified_memory_processor.hpp
100.0% 5/5 2/2 source/lib/core/track_registry.cpp
100.0% 4/4 0/2 source/lib/core/track_registry.hpp
100.0% 10/10 1/1 source/lib/logger/logger.cpp
100.0% 9/9 0/2 source/lib/rocprof-sys/library/pmc/collectors/gpu/types.hpp
100.0% 20/20 4/4 source/lib/rocprof-sys/library/pmc/collectors/nic/perfetto_policy.hpp
100.0% 2/2 0/2 source/lib/rocprof-sys/library/pmc/common/types.hpp
100.0% 34/34 3/4 source/lib/rocprof-sys/library/rocprofiler-sdk/marker_writer.hpp
100.0% 3/3 1/2 source/lib/rocprof-sys/library/rocprofiler-sdk/trace_control.hpp

Distribution

Range Files
0-20% 191
20-50% 13
50-80% 34
80-100% 86

E2E Tests

Code Coverage: e2e-tests

Lines: 🟡 62.8% — 22,959/36,569 across 324 files
Functions: 🟡 63.2% — 2,375/3,759

🔴 0-20% (50 files)
Lines Functions File
0.0% 0/10 0/2 build/coverage/_deps/nlohmann_json-src/include/nlohmann/byte_container_with_subtype.hpp
0.0% 0/1 0/1 build/coverage/_deps/spdlog-src/include/spdlog/details/log_msg_buffer.h
0.0% 0/1 0/1 build/coverage/_deps/spdlog-src/include/spdlog/sinks/ansicolor_sink.h
0.0% 0/2 0/1 build/coverage/include/profiler-hub/shared_types.hpp
0.0% 0/102 0/6 source/bin/rocprof-sys-avail/hw_counter_query.cpp
0.0% 0/24 0/1 source/lib/backends/amd_smi/wrapper.hpp
0.0% 0/166 0/2 source/lib/core/agent_info.hpp
0.0% 0/84 0/5 source/lib/core/cpu.cpp
0.0% 0/1 0/1 source/lib/core/cpu.hpp
0.0% 0/54 0/6 source/lib/core/dynamic_library.cpp
0.0% 0/28 0/7 source/lib/core/exception.cpp
0.0% 0/160 0/12 source/lib/core/gpu_metrics.cpp
0.0% 0/13 0/3 source/lib/core/perfetto/sinks/tee_sink.cpp
0.0% 0/1 0/1 source/lib/core/perfetto/sinks/tee_sink.hpp
0.0% 0/8 0/3 source/lib/core/sdk/tracing-config-deps.hpp
0.0% 0/6 0/2 source/lib/rocprof-sys-rt/src/RTsignal.c
0.0% 0/11 0/2 source/lib/rocprof-sys-rt/src/RTthread-x86-64.c
0.0% 0/3 0/1 source/lib/rocprof-sys-rt/src/RTthread.c
0.0% 0/1 0/1 source/lib/rocprof-sys/library/components/exit_gotcha.hpp
0.0% 0/1 0/1 source/lib/rocprof-sys/library/components/kill_gotcha.hpp
0.0% 0/164 0/31 source/lib/rocprof-sys/library/components/vaapi_gotcha.cpp
0.0% 0/52 0/9 source/lib/rocprof-sys/library/pmc/collectors/cpu/perfetto_policy.hpp
0.0% 0/100 0/6 source/lib/rocprof-sys/library/pmc/collectors/gpu/cache_policy.hpp
0.0% 0/224 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/33 0/3 source/lib/rocprof-sys/library/pmc/collectors/gpu_perf_counter/cache_policy.hpp
0.0% 0/39 0/7 source/lib/rocprof-sys/library/pmc/collectors/gpu_perf_counter/perfetto_policy.hpp
0.0% 0/16 0/2 source/lib/rocprof-sys/library/pmc/collectors/nic/sample.hpp
0.0% 0/2 0/1 source/lib/rocprof-sys/library/rocm.cpp
0.0% 0/111 0/13 source/lib/rocprof-sys/library/rocprofiler-sdk/counters.cpp
0.0% 0/17 0/6 source/lib/rocprof-sys/library/rocprofiler-sdk/counters.hpp
0.0% 0/129 0/9 source/lib/rocprof-sys/library/rocprofiler-sdk/fwd.cpp
0.0% 0/34 0/7 source/lib/rocprof-sys/library/rocprofiler-sdk/fwd.hpp
0.0% 0/136 0/13 source/lib/rocprof-sys/library/rocprofiler-sdk/rccl.cpp
0.0% 0/112 0/10 source/lib/rocprof-sys/library/rocprofiler-sdk/roctx_client.cpp
0.0% 0/3 0/1 source/lib/rocprof-sys/library/tracing/annotation.cpp
0.0% 0/45 0/4 source/lib/rocprof-sys/library/tracing/annotation.hpp
0.0% 0/439 0/45 source/python/libpyrocprofsys.cpp
0.6% 1/169 1/13 source/lib/core/perfetto.cpp
2.6% 33/1269 3/88 source/lib/rocprof-sys/library/rocprofiler-sdk.cpp
6.9% 31/449 6/53 build/coverage/_deps/fmt-src/include/fmt/chrono.h
7.1% 1/14 0/1 build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/iterators/primitive_iterator.hpp
8.3% 2/24 1/2 source/lib/core/amd_smi.cpp
8.3% 3/36 1/9 source/lib/rocprof-sys/library/rocprofiler-sdk/marker_writer.cpp
13.6% 38/280 7/31 source/lib/rocprof-sys-rt/src/RTcommon.c
13.8% 4/29 1/4 source/lib/rocprof-sys-rt/src/RTheap-linux.c
14.2% 30/212 4/22 source/lib/rocprof-sys-rt/src/RTlinux.c
16.2% 12/74 4/16 source/lib/rocprof-sys/regions.cpp
18.0% 32/178 6/23 source/lib/core/gpu.cpp
19.0% 4/21 0/2 source/lib/backends/rocprofiler_sdk/wrapper.hpp
🟠 20-50% (26 files)
Lines Functions File
22.5% 18/80 3/5 source/lib/core/perf.cpp
22.9% 190/829 9/32 source/lib/core/trace_cache/rocpd_processor.cpp
23.6% 122/516 24/71 source/lib/core/trace_cache/metadata_registry.cpp
27.8% 27/97 4/8 source/lib/rocprof-sys-rt/src/RTposix.c
31.1% 243/782 32/103 source/lib/core/trace_cache/perfetto_processor.cpp
31.4% 54/172 5/10 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
34.8% 420/1206 43/96 build/coverage/_deps/fmt-src/include/fmt/format.h
35.7% 30/84 10/20 source/lib/rocprof-sys/api.cpp
35.7% 10/28 3/6 source/lib/rocprof-sys/library/components/exit_gotcha.cpp
37.1% 39/105 5/11 source/lib/rocprof-sys/library/causal/components/blocking_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
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
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
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
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
🟡 50-80% (70 files)
Lines Functions File
50.0% 8/16 2/4 source/lib/binary/address_multirange.cpp
50.0% 7/14 2/6 source/lib/rocprof-sys-causal-api/causal_api.cpp
50.0% 1/2 0/1 source/lib/rocprof-sys/library/components/numa_gotcha.hpp
50.0% 1/2 0/1 source/lib/rocprof-sys/library/components/vaapi_gotcha.hpp
50.0% 1/2 0/1 source/lib/rocprof-sys/library/pmc/collectors/nic/types.hpp
50.0% 1/2 0/1 source/lib/rocprof-sys/library/thread_info.hpp
50.0% 4/8 1/2 source/lib/rocprof-sys/progress.cpp
50.8% 128/252 25/37 source/lib/rocprof-sys/library/kokkosp.cpp
52.0% 13/25 2/3 source/lib/rocprof-sys/library/pmc/collectors/gpu_perf_counter/gpu_perf_counter_traits.hpp
53.2% 41/77 0/1 source/lib/core/trace_cache/sample_processor.hpp
53.4% 79/148 12/18 source/lib/rocprof-sys/library/pmc/sampler.cpp
55.0% 22/40 4/6 build/coverage/_deps/fmt-src/include/fmt/ranges.h
56.2% 172/306 9/11 build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/output/serializer.hpp
57.5% 23/40 1/3 source/lib/common/invoke.hpp
58.3% 14/24 3/8 build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/output/output_adapters.hpp
58.3% 7/12 0/4 build/coverage/_deps/spdlog-src/include/spdlog/common.h
60.0% 63/105 5/9 source/bin/common/argument_registration.hpp
60.0% 3/5 1/1 source/lib/core/agent.hpp
60.7% 130/214 12/30 source/lib/rocprof-sys/library/components/backtrace_metrics.cpp
61.8% 42/68 5/8 source/lib/rocprof-sys/library/components/fork_gotcha.cpp
62.1% 18/29 1/1 source/lib/core/perfetto/locked_file_append.cpp
62.5% 50/80 13/18 source/lib/core/binary/address_range.cpp
62.8% 49/78 4/5 source/lib/core/trace_cache/discovery.cpp
63.1% 70/111 7/10 source/lib/core/progress/bar.cpp
63.9% 161/252 24/32 source/lib/rocprof-sys/library/perf.cpp
64.3% 306/476 23/39 build/coverage/_deps/fmt-src/include/fmt/base.h
65.4% 34/52 4/4 build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/conversions/from_json.hpp
66.0% 289/438 34/41 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
67.6% 25/37 3/4 source/lib/core/perfetto/sinks/io_helpers.hpp
68.8% 22/32 3/8 source/lib/rocprof-sys/library/pmc/collectors/gpu_perf_counter/types.hpp
69.0% 462/670 33/45 source/bin/rocprof-sys-instrument/details.cpp
69.2% 18/26 2/6 source/lib/core/trace_cache/metadata_registry.hpp
69.2% 9/13 0/1 source/lib/rocprof-sys/library/process_sampler.hpp
69.3% 374/540 40/85 source/lib/rocprof-sys-dl/dl.cpp
69.7% 46/66 7/8 source/lib/rocprof-sys/library/pmc/collectors/base/collector.hpp
70.2% 40/57 4/6 source/lib/core/perfetto.hpp
70.3% 64/91 5/7 source/bin/rocprof-sys-instrument/function_signature.cpp
70.6% 24/34 5/9 source/lib/rocprof-sys/library/components/pthread_gotcha.cpp
71.1% 69/97 8/8 build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/iterators/iter_impl.hpp
71.4% 10/14 1/2 source/lib/core/containers/aligned_static_vector.hpp
71.4% 35/49 5/8 source/lib/rocprof-sys/library/causal/components/unblocking_gotcha.cpp
72.2% 726/1006 52/66 source/lib/rocprof-sys/library/sampling.cpp
72.7% 24/33 5/7 source/lib/rocprof-sys/library/causal/components/causal_gotcha.cpp
73.7% 28/38 6/7 build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/iterators/iteration_proxy.hpp
74.1% 226/305 16/17 source/bin/common/preset_registry.cpp
74.3% 411/553 30/33 source/lib/rocprof-sys/library/causal/data.cpp
74.5% 35/47 4/6 source/lib/rocprof-sys/library/pmc/collectors/cpu/cpu_traits.hpp
75.0% 15/20 5/5 source/bin/rocprof-sys-instrument/function_signature.hpp
75.0% 3/4 0/1 source/lib/backends/amd_smi/nic_types.hpp
75.0% 18/24 4/5 source/lib/rocprof-sys/library/causal/sample_data.cpp
75.4% 389/516 30/40 source/bin/common/json_config.cpp
75.4% 1158/1535 51/87 source/bin/rocprof-sys-instrument/rocprof-sys-instrument.cpp
75.6% 130/172 17/23 source/lib/core/constraint.cpp
75.6% 90/119 11/12 source/lib/core/trace_cache/post_processor.cpp
76.5% 407/532 40/41 source/bin/rocprof-sys-instrument/module_function.cpp
76.6% 49/64 5/6 source/bin/rocprof-sys-instrument/log.cpp
76.8% 53/69 5/6 source/lib/binary/link_map.cpp
77.0% 322/418 34/36 source/bin/common/common_utils.cpp
77.3% 17/22 3/3 source/lib/common/static_object.hpp
77.9% 486/624 27/36 source/lib/rocprof-sys/library.cpp
77.9% 113/145 26/31 source/lib/rocprof-sys/library/thread_data.hpp
78.0% 209/268 23/25 source/lib/rocprof-sys/library/causal/sampling.cpp
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% (178 files)
Lines Functions File
80.0% 4/5 0/1 source/bin/rocprof-sys-instrument/log.hpp
80.5% 62/77 9/10 source/lib/rocprof-sys/library/pmc/device_providers/rocprofiler_sdk/provider.hpp
81.2% 1401/1726 275/301 source/lib/core/config.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.4% 175/215 21/24 source/bin/rocprof-sys-avail/common.cpp
81.8% 81/99 11/11 source/lib/core/perfetto/engine_impl.hpp
82.0% 132/161 24/27 source/lib/rocprof-sys/library/thread_info.cpp
82.4% 42/51 5/5 source/lib/core/perfetto/cached_perfetto_session.cpp
83.3% 85/102 4/4 source/lib/core/perfetto/sinks/single_file_sink.cpp
83.4% 131/157 12/12 source/bin/rocprof-sys-instrument/rocprof-sys-instrument.hpp
84.2% 16/19 3/5 source/lib/rocprof-sys/library/components/comm_data.hpp
84.3% 86/102 8/9 source/lib/binary/dwarf_entry.cpp
84.6% 11/13 2/4 source/lib/rocprof-sys/library/rocprofiler-sdk/roctx_client.hpp
84.8% 134/158 17/18 source/lib/binary/symbol.cpp
85.1% 74/87 10/12 source/lib/logger/logger.hpp
85.3% 324/380 18/29 source/lib/rocprof-sys/library/causal/experiment.cpp
85.4% 76/89 14/16 source/lib/rocprof-sys/library/causal/delay.cpp
86.0% 80/93 5/7 source/bin/rocprof-sys-instrument/module_function.hpp
86.8% 99/114 9/11 source/lib/rocprof-sys/library/process_sampler.cpp
87.0% 47/54 3/3 source/lib/core/trace_cache/cache_manager.cpp
87.3% 137/157 11/14 source/lib/backends/procfs/backend.hpp
87.5% 391/447 35/47 source/bin/rocprof-sys-causal/impl.cpp
87.5% 42/48 4/5 source/lib/core/output_file_registry.cpp
87.6% 99/113 10/11 source/lib/rocprof-sys/library/tracing.cpp
88.1% 251/285 29/33 source/lib/common/environment.hpp
88.8% 127/143 10/10 source/lib/rocprof-sys/library/coverage.cpp
88.9% 8/9 5/6 source/lib/core/constraint.hpp
89.0% 300/337 16/20 source/lib/rocprof-sys/library/components/pthread_create_gotcha.cpp
89.1% 49/55 4/4 source/lib/rocprof-sys/library/pmc/collectors/gpu_perf_counter/device.hpp
89.1% 221/248 23/33 source/lib/core/sdk/tracing-config.hpp
89.3% 756/847 58/73 source/lib/core/argparse.cpp
89.8% 220/245 15/16 build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/conversions/to_chars.hpp
90.0% 9/10 1/1 source/lib/binary/scope_filter.cpp
90.0% 54/60 4/4 source/lib/core/trace_cache/buffer_storage.cpp
90.0% 9/10 1/1 source/lib/rocprof-sys/library/thread_deleter.cpp
90.1% 64/71 9/11 source/lib/rocprof-sys/library/components/backtrace.cpp
90.1% 64/71 7/10 source/lib/rocprof-sys/library/components/callchain.cpp
90.4% 235/260 11/12 source/bin/rocprof-sys-avail/generate_config.cpp
90.7% 243/268 19/20 source/lib/core/trace_cache/unified_memory_processor.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.3% 178/195 14/18 source/lib/rocprof-sys/library/components/shmem_gotcha.hpp
91.3% 21/23 4/5 source/lib/core/containers/static_vector.hpp
91.5% 107/117 5/5 source/lib/binary/analysis.cpp
91.7% 11/12 2/2 source/lib/core/perfetto/session_backend.hpp
91.9% 102/111 8/8 source/lib/rocprof-sys/library/pmc/collectors/cpu/device.hpp
92.6% 163/176 9/9 source/lib/rocprof-sys/library/pmc/collectors/gpu/device.hpp
92.8% 873/941 41/48 source/bin/rocprof-sys-avail/avail.cpp
92.9% 13/14 0/1 source/lib/rocprof-sys/library/pmc/collectors/common/collector_slice.hpp
92.9% 13/14 2/2 source/lib/rocprof-sys/library/pmc/device_providers/procfs/provider.hpp
93.1% 27/29 3/5 source/lib/rocprof-sys/library/coverage.hpp
93.2% 68/73 7/8 source/lib/core/trace_cache/buffer_storage.hpp
93.3% 111/119 16/17 source/lib/core/perfetto/engine.cpp
93.3% 14/15 3/3 source/lib/core/perfetto/sinks/per_pid_file_sink.cpp
93.4% 239/256 28/32 source/lib/rocprof-sys/library/components/category_region.hpp
93.9% 31/33 6/6 source/lib/core/mpi.hpp
94.2% 129/137 29/32 source/lib/backends/rocprofiler_sdk/backend.hpp
94.4% 17/18 3/3 source/bin/rocprof-sys-avail/component_categories.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% 116/122 15/16 source/lib/common/path.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
95.9% 70/73 6/6 source/lib/rocprof-sys/library/causal/components/backtrace.cpp
96.2% 25/26 1/2 source/lib/common/delimit.hpp
96.6% 56/58 7/7 build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/conversions/to_json.hpp
96.7% 59/61 9/9 source/lib/core/utility.hpp
96.8% 30/31 3/4 source/lib/rocprof-sys/library/pmc/collectors/gpu_perf_counter/sample.hpp
96.9% 62/64 14/14 source/lib/core/trace_cache/data_types.cpp
96.9% 94/97 10/10 source/lib/rocprof-sys/library/rocprofiler-sdk/trace_control.cpp
97.0% 32/33 4/4 source/lib/core/perfetto/counter_track.hpp
97.3% 73/75 3/3 source/lib/core/perfetto/packet_framing.hpp
97.4% 74/76 6/6 source/lib/core/common_types.hpp
97.4% 38/39 3/3 source/lib/core/utility.cpp
97.5% 39/40 6/7 source/lib/core/trace_cache/rocpd_helpers.hpp
97.7% 42/43 7/11 source/lib/core/demangler.hpp
97.8% 45/46 7/7 source/lib/rocprof-sys/library/rocprofiler-sdk/rccl_internal.hpp
97.9% 47/48 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 9/10 source/lib/common/string_utility.hpp
98.2% 56/57 6/8 source/lib/rocprof-sys/library/components/pthread_mutex_gotcha.hpp
98.7% 78/79 15/16 source/lib/backends/amd_smi/backend.hpp
100.0% 14/14 1/1 build/coverage/_deps/fmt-src/include/fmt/ostream.h
100.0% 6/6 0/3 build/coverage/_deps/nlohmann_json-src/include/nlohmann/adl_serializer.hpp
100.0% 38/38 7/8 build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/input/input_adapters.hpp
100.0% 2/2 0/1 build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/input/position_t.hpp
100.0% 2/2 0/1 build/coverage/_deps/spdlog-src/include/spdlog/details/backtracer.h
100.0% 2/2 0/1 build/coverage/_deps/spdlog-src/include/spdlog/details/circular_q.h
100.0% 1/1 0/1 build/coverage/include/profiler-hub/reader_types.hpp
100.0% 10/10 1/2 build/coverage/include/profiler-hub/writer_types.hpp
100.0% 31/31 4/5 source/bin/common/common_utils.hpp
100.0% 1/1 0/1 source/bin/common/json_config.hpp
100.0% 59/59 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% 23/23 5/6 source/lib/common/synchronized.hpp
100.0% 11/11 2/3 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/2 source/lib/common/units/quantity.hpp
100.0% 8/8 0/2 source/lib/common/version.hpp
100.0% 2/2 1/2 source/lib/core/agent_manager.hpp
100.0% 5/5 0/2 source/lib/core/argparse.hpp
100.0% 9/9 1/3 source/lib/core/binary/address_range.hpp
100.0% 49/49 10/10 source/lib/core/categories.cpp
100.0% 11/11 11/11 source/lib/core/components/fwd.hpp
100.0% 26/26 3/3 source/lib/core/config.hpp
100.0% 11/11 1/3 source/lib/core/containers/c_array.hpp
100.0% 1/1 0/1 source/lib/core/containers/operators.hpp
100.0% 2/2 2/2 source/lib/core/node_info.hpp
100.0% 1/1 0/1 source/lib/core/output_file_registry.hpp
100.0% 1/1 0/1 source/lib/core/perfetto/category_registry.hpp
100.0% 1/1 0/1 source/lib/core/perfetto/engine.hpp
100.0% 7/7 0/1 source/lib/core/perfetto/locked_file_append.hpp
100.0% 7/7 1/1 source/lib/core/perfetto/sinks/append_mode.hpp
100.0% 9/9 2/3 source/lib/core/perfetto/sinks/polymorphic_sink_view.hpp
100.0% 6/6 2/2 source/lib/core/perfetto/sinks/recording_sink.cpp
100.0% 5/5 0/2 source/lib/core/perfetto/sinks/recording_sink.hpp
100.0% 4/4 2/2 source/lib/core/perfetto/sinks/single_file_sink.hpp
100.0% 1/1 0/1 source/lib/core/progress/bar.hpp
100.0% 6/6 2/2 source/lib/core/progress/tracker.cpp
100.0% 1/1 0/1 source/lib/core/progress/tracker.hpp
100.0% 85/85 11/12 source/lib/core/state.hpp
100.0% 7/7 1/3 source/lib/core/trace_cache/cache_manager.hpp
100.0% 4/4 0/3 source/lib/core/trace_cache/data_types.hpp
100.0% 9/9 3/3 source/lib/core/trace_cache/type_registry.hpp
100.0% 24/24 4/5 source/lib/core/trace_cache/unified_memory_processor.hpp
100.0% 5/5 2/2 source/lib/core/track_registry.cpp
100.0% 4/4 0/2 source/lib/core/track_registry.hpp
100.0% 10/10 1/1 source/lib/logger/logger.cpp
100.0% 7/7 1/2 source/lib/rocprof-sys/library/causal/components/backtrace.hpp
100.0% 23/23 2/3 source/lib/rocprof-sys/library/causal/components/progress_point.hpp
100.0% 3/3 1/2 source/lib/rocprof-sys/library/causal/experiment.hpp
100.0% 4/4 1/1 source/lib/rocprof-sys/library/causal/selected_entry.cpp
100.0% 5/5 2/3 source/lib/rocprof-sys/library/causal/selected_entry.hpp
100.0% 1/1 1/1 source/lib/rocprof-sys/library/components/backtrace.hpp
100.0% 11/11 1/2 source/lib/rocprof-sys/library/components/backtrace_metrics.hpp
100.0% 4/4 0/2 source/lib/rocprof-sys/library/components/backtrace_timestamp.hpp
100.0% 1/1 1/1 source/lib/rocprof-sys/library/components/callchain.hpp
100.0% 8/8 2/2 source/lib/rocprof-sys/library/components/ensure_storage.hpp
100.0% 1/1 0/1 source/lib/rocprof-sys/library/components/fork_gotcha.hpp
100.0% 2/2 0/1 source/lib/rocprof-sys/library/components/mpi_gotcha.hpp
100.0% 533/533 12/12 source/lib/rocprof-sys/library/components/mpip.hpp
100.0% 3/3 0/1 source/lib/rocprof-sys/library/components/pthread_create_gotcha.hpp
100.0% 24/24 1/2 source/lib/rocprof-sys/library/components/pthread_mutex_gotcha_policy.hpp
100.0% 11/11 0/3 source/lib/rocprof-sys/library/perf.hpp
100.0% 66/66 5/5 source/lib/rocprof-sys/library/pmc/collectors/cpu/cache_policy.hpp
100.0% 3/3 0/2 source/lib/rocprof-sys/library/pmc/collectors/cpu/types.hpp
100.0% 9/9 0/2 source/lib/rocprof-sys/library/pmc/collectors/gpu/types.hpp
100.0% 20/20 4/4 source/lib/rocprof-sys/library/pmc/collectors/nic/perfetto_policy.hpp
100.0% 2/2 0/2 source/lib/rocprof-sys/library/pmc/common/types.hpp
100.0% 34/34 3/4 source/lib/rocprof-sys/library/rocprofiler-sdk/marker_writer.hpp
100.0% 3/3 1/2 source/lib/rocprof-sys/library/rocprofiler-sdk/trace_control.hpp
100.0% 2/2 0/1 source/lib/rocprof-sys/library/runtime.hpp
100.0% 10/10 3/3 source/lib/rocprof-sys/library/thread_data_growth.hpp
100.0% 5/5 1/1 source/lib/rocprof-sys/library/thread_deleter.hpp

Distribution

Range Files
0-20% 50
20-50% 26
50-80% 70
80-100% 178

@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.

5 participants