feat(rocprofiler-systems): Use .pftrace extension for Perfetto files - #10932
feat(rocprofiler-systems): Use .pftrace extension for Perfetto files#10932dgaliffiAMD wants to merge 6 commits into
.pftrace extension for Perfetto files#10932Conversation
✅ All Policy Checks Passed
📖 Need help? See the Policy FAQ for details on every check and how to fix failures. |
Change ROCPROFSYS_PERFETTO_FILE's default extension from .proto to .pftrace, rename the cached-path merged-trace output to merged.pftrace, and add pftrace as the canonical --output-format token with proto kept as a permanent backward-compatible alias. Applies to both the legacy (live) and cached (replay) Perfetto pipelines, since they share the filename-composition helpers in config.cpp. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…le merged.proto Rename the merged-output name to merged.pftrace to match the new default extension, while still accepting .proto per-process traces so a mixed-vintage output directory still merges. Also exclude the legacy merged.proto name from the input glob: previously only the new merged.pftrace name was excluded, so a stale merged.proto left over from an older run got folded back into the merge as if it were an unmerged per-process trace. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…lence Add coverage for the new pftrace output-format token and its proto alias in resolve_output_format, without touching the existing proto_* tests — those continuing to pass unmodified is the backward-compat guarantee. Update test_perfetto_sinks.cpp fixture paths to the new .pftrace filenames. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…race Update the console output-filename hint, --help group description, and preset schema description to say pftrace instead of proto, matching the new default output-format token. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Update perfetto_file discovery, cleanup globs, and per-suite trace filename expectations from .proto to .pftrace. Cleanup globs deliberately retain .proto patterns so stale artifacts from older builds are still cleaned. Add a parametrized test asserting that --output-format pftrace and its proto alias both produce a .pftrace file end to end. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Update how-to guides, the output-format overview, and the unified-memory example README to reflect the new .pftrace default and the proto deprecated-alias note. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
fc089d8 to
cb77bb4
Compare
rocprofiler-systems CI SummaryTest Results (for commit
|
| Workflow | Runs | Avg Test Time | Tests | Skipped | Failed |
|---|---|---|---|---|---|
| Ubuntu 22.04 | 5 | 31m 20s | 2,580 | 100 | 0 |
| Ubuntu 24.04 | 5 | 31m 14s | 2,600 | 110 | 0 |
| Debian | 4 | 36m 10s | 2,176 | 78 | 0 |
| RHEL | 12 | 36m 33s | 6,192 | 277 | 0 |
| System deps | 10 | 30m 22s | 5,384 | 216 | 0 |
| Total | 36 | 33m 19s | 18,932 | 781 | 0 |
Failed Tests
No failed tests reported.
Sanitizers
| Thread | Undefined | Address |
|---|---|---|
| Passed | Passed | Passed |
There was a problem hiding this comment.
Pull request overview
This PR updates rocprofiler-systems to treat Perfetto traces as .pftrace by default (instead of .proto), while retaining proto as a backward-compatible alias token for --output-format and maintaining compatibility with older output directories and artifacts across scripts, tests, and documentation.
Changes:
- Switch default Perfetto output filename/extension to
.pftrace(and rename cached merged output tomerged.pftrace). - Add
pftraceas the canonical--output-formattoken while keepingprotoas an alias, with updated unit/pytest coverage. - Update merge script, help text, presets schema text, and documentation references from
.prototo.pftrace(with legacy fallbacks where appropriate).
Reviewed changes
Copilot reviewed 35 out of 37 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| projects/rocprofiler-systems/tests/validate-unified-memory.py | Update Perfetto trace discovery to prefer .pftrace with legacy .proto fallback. |
| projects/rocprofiler-systems/tests/pytest/test_validate_unified_memory.py | Update unified-memory pytest fixtures to write .pftrace traces. |
| projects/rocprofiler-systems/tests/pytest/test_ucx.py | Update expected merged Perfetto filename to merged.pftrace. |
| projects/rocprofiler-systems/tests/pytest/test_tool_runner.py | Add/extend tests asserting pftrace behavior and proto alias equivalence. |
| projects/rocprofiler-systems/tests/pytest/test_rank_filter.py | Update per-rank Perfetto filename expectations to .pftrace. |
| projects/rocprofiler-systems/tests/pytest/test_nic_perf.py | Update Perfetto validation regex expectations to .pftrace. |
| projects/rocprofiler-systems/tests/pytest/test_mpi.py | Update MPI Perfetto expectations to .pftrace and extend extension regex. |
| projects/rocprofiler-systems/tests/pytest/test_hpc.py | Update expected merged Perfetto filename to merged.pftrace. |
| projects/rocprofiler-systems/tests/pytest/test_binaries.py | Update perfetto trace filenames used in binary tests to .pftrace. |
| projects/rocprofiler-systems/tests/pytest/test_ainic.py | Update AI NIC Perfetto references and regex expectations to .pftrace. |
| projects/rocprofiler-systems/tests/pytest/rocprofsys/validators.py | Update Perfetto validator docstring references to .pftrace. |
| projects/rocprofiler-systems/tests/pytest/rocprofsys/runners.py | Update runner Perfetto output discovery to .pftrace. |
| projects/rocprofiler-systems/tests/pytest/conftest.py | Extend cleanup patterns and documentation strings for .pftrace. |
| projects/rocprofiler-systems/source/lib/core/tests/test_output_format.cpp | Add C++ unit tests for pftrace token and proto alias equivalence. |
| projects/rocprofiler-systems/source/lib/core/perfetto/tests/test_perfetto_sinks.cpp | Update sink tests to use .pftrace filenames. |
| projects/rocprofiler-systems/source/lib/core/perfetto/sinks/single_file_sink.hpp | Update comments to .pftrace. |
| projects/rocprofiler-systems/source/lib/core/perfetto/sinks/per_pid_file_sink.hpp | Update comments to .pftrace. |
| projects/rocprofiler-systems/source/lib/core/perfetto/cached_perfetto_session.cpp | Rename cached merged trace output to merged.pftrace. |
| projects/rocprofiler-systems/source/lib/core/perfetto.cpp | Update Perfetto temp file extension from proto to pftrace. |
| projects/rocprofiler-systems/source/lib/core/config.cpp | Change default Perfetto filename/extension defaults to .pftrace. |
| projects/rocprofiler-systems/source/lib/core/argparse.hpp | Update output-format documentation to include pftrace and alias note. |
| projects/rocprofiler-systems/source/lib/core/argparse.cpp | Implement pftrace token + proto alias in parsing and CLI help/choices. |
| projects/rocprofiler-systems/source/bin/common/presets/schema.json | Update schema description to refer to .pftrace. |
| projects/rocprofiler-systems/source/bin/common/common_utils.cpp | Update console hints and help-group labels to .pftrace/pftrace. |
| projects/rocprofiler-systems/scripts/merge-multiprocess-output.sh | Merge .pftrace by default, accept .proto, and exclude stale merged outputs. |
| projects/rocprofiler-systems/examples/unified-memory/README.md | Update example output listing to .pftrace. |
| projects/rocprofiler-systems/docs/what-is-rocprof-sys.rst | Update docs to pftrace token and .pftrace extension, noting alias. |
| projects/rocprofiler-systems/docs/install/build.rst | Update Perfetto visualization text to .pftrace. |
| projects/rocprofiler-systems/docs/how-to/xgmi-pcie-sdma-sampling.rst | Update example output and UI instructions to .pftrace. |
| projects/rocprofiler-systems/docs/how-to/vcn-jpeg-sampling.rst | Update example output and UI instructions to .pftrace. |
| projects/rocprofiler-systems/docs/how-to/unified-memory-profiling.rst | Update unified-memory docs to .pftrace filenames and instructions. |
| projects/rocprofiler-systems/docs/how-to/understanding-rocprof-sys-output.rst | Update example output paths and metadata sample to .pftrace. |
| projects/rocprofiler-systems/docs/how-to/sampling-call-stack.rst | Update sample log output to .pftrace. |
| projects/rocprofiler-systems/docs/how-to/openmp-profiling.rst | Update OpenMP Perfetto docs to .pftrace references. |
| projects/rocprofiler-systems/docs/how-to/nic-profiling.rst | Update NIC profiling visualization steps to .pftrace. |
| projects/rocprofiler-systems/docs/how-to/configuring-runtime-options.rst | Update default config snippet to perfetto-trace.pftrace. |
| projects/rocprofiler-systems/docs/how-to/attaching-to-running-process.rst | Update attach-mode docs to .pftrace file references. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| def perfetto_file(self) -> Optional[Path]: | ||
| candidates = [ | ||
| self.output_dir / "perfetto-trace.proto", | ||
| self.output_dir / "perfetto-trace-0.proto", | ||
| self.output_dir / "perfetto-trace.pftrace", | ||
| self.output_dir / "perfetto-trace-0.pftrace", | ||
| ] |
| Args: | ||
| trace_path: Path to perfetto-trace.proto file | ||
| trace_path: Path to perfetto-trace.pftrace file | ||
| tests_dir: Path to directory containing validation scripts |
| BINARY_REWRITE_FAIL_REGEX = [ | ||
| r"Outputting.*(perfetto-trace|trip_count|sampling_percent|sampling_cpu_clock|sampling_wall_clock|wall_clock)-[0-9][0-9]+.(json|txt|proto)" | ||
| r"Outputting.*(perfetto-trace|trip_count|sampling_percent|sampling_cpu_clock|sampling_wall_clock|wall_clock)-[0-9][0-9]+.(json|txt|proto|pftrace)" | ||
| ] |
|
| Lines | Functions | File |
|---|---|---|
| 0.0% 0/10 | 0/2 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/byte_container_with_subtype.hpp |
| 0.0% 0/1 | 0/1 | build/coverage/_deps/spdlog-src/include/spdlog/details/log_msg_buffer.h |
| 0.0% 0/1 | 0/1 | build/coverage/_deps/spdlog-src/include/spdlog/sinks/ansicolor_sink.h |
| 0.0% 0/2 | 0/1 | build/coverage/include/profiler-hub/shared_types.hpp |
| 0.0% 0/105 | 0/9 | source/bin/common/argument_registration.hpp |
| 0.0% 0/254 | 0/28 | source/bin/common/tool_runner.cpp |
| 0.0% 0/61 | 0/6 | source/bin/rocprof-sys-avail/avail.hpp |
| 0.0% 0/258 | 0/12 | source/bin/rocprof-sys-avail/generate_config.cpp |
| 0.0% 0/102 | 0/6 | source/bin/rocprof-sys-avail/hw_counter_query.cpp |
| 0.0% 0/446 | 0/47 | source/bin/rocprof-sys-causal/impl.cpp |
| 0.0% 0/80 | 0/2 | source/bin/rocprof-sys-causal/rocprof-sys-causal.cpp |
| 0.0% 0/673 | 0/46 | source/bin/rocprof-sys-instrument/details.cpp |
| 0.0% 0/91 | 0/7 | source/bin/rocprof-sys-instrument/function_signature.cpp |
| 0.0% 0/20 | 0/5 | source/bin/rocprof-sys-instrument/function_signature.hpp |
| 0.0% 0/158 | 0/7 | source/bin/rocprof-sys-instrument/info.hpp |
| 0.0% 0/264 | 0/22 | source/bin/rocprof-sys-instrument/internal_libs.cpp |
| 0.0% 0/64 | 0/6 | source/bin/rocprof-sys-instrument/log.cpp |
| 0.0% 0/5 | 0/1 | source/bin/rocprof-sys-instrument/log.hpp |
| 0.0% 0/533 | 0/41 | source/bin/rocprof-sys-instrument/module_function.cpp |
| 0.0% 0/93 | 0/7 | source/bin/rocprof-sys-instrument/module_function.hpp |
| 0.0% 0/1536 | 0/87 | source/bin/rocprof-sys-instrument/rocprof-sys-instrument.cpp |
| 0.0% 0/157 | 0/12 | source/bin/rocprof-sys-instrument/rocprof-sys-instrument.hpp |
| 0.0% 0/2 | 0/1 | source/bin/rocprof-sys-run/rocprof-sys-run.cpp |
| 0.0% 0/2 | 0/1 | source/bin/rocprof-sys-sample/rocprof-sys-sample.cpp |
| 0.0% 0/24 | 0/1 | source/lib/backends/amd_smi/wrapper.hpp |
| 0.0% 0/16 | 0/4 | source/lib/binary/address_multirange.cpp |
| 0.0% 0/9 | 0/1 | source/lib/binary/address_multirange.hpp |
| 0.0% 0/117 | 0/5 | source/lib/binary/analysis.cpp |
| 0.0% 0/7 | 0/1 | source/lib/binary/binary_info.hpp |
| 0.0% 0/102 | 0/9 | source/lib/binary/dwarf_entry.cpp |
| 0.0% 0/1 | 0/1 | source/lib/binary/dwarf_entry.hpp |
| 0.0% 0/69 | 0/6 | source/lib/binary/link_map.cpp |
| 0.0% 0/3 | 0/1 | source/lib/binary/link_map.hpp |
| 0.0% 0/10 | 0/1 | source/lib/binary/scope_filter.cpp |
| 0.0% 0/5 | 0/2 | source/lib/binary/scope_filter.hpp |
| 0.0% 0/158 | 0/18 | source/lib/binary/symbol.cpp |
| 0.0% 0/8 | 0/8 | source/lib/binary/symbol.hpp |
| 0.0% 0/9 | 0/2 | source/lib/common/env_vars.hpp |
| 0.0% 0/40 | 0/3 | source/lib/common/invoke.hpp |
| 0.0% 0/150 | 0/10 | source/lib/common/md5sum.hpp |
| 0.0% 0/22 | 0/2 | source/lib/common/setup.hpp |
| 0.0% 0/3 | 0/1 | source/lib/common/units.hpp |
| 0.0% 0/166 | 0/2 | source/lib/core/agent_info.hpp |
| 0.0% 0/80 | 0/18 | source/lib/core/binary/address_range.cpp |
| 0.0% 0/9 | 0/3 | source/lib/core/binary/address_range.hpp |
| 0.0% 0/49 | 0/10 | source/lib/core/categories.cpp |
| 0.0% 0/11 | 0/11 | source/lib/core/components/fwd.hpp |
| 0.0% 0/14 | 0/2 | source/lib/core/containers/aligned_static_vector.hpp |
| 0.0% 0/11 | 0/3 | source/lib/core/containers/c_array.hpp |
| 0.0% 0/1 | 0/1 | source/lib/core/containers/operators.hpp |
| 0.0% 0/46 | 0/12 | source/lib/core/containers/stable_vector.hpp |
| 0.0% 0/23 | 0/5 | source/lib/core/containers/static_vector.hpp |
| 0.0% 0/89 | 0/6 | source/lib/core/cpu.cpp |
| 0.0% 0/1 | 0/1 | source/lib/core/cpu.hpp |
| 0.0% 0/53 | 0/6 | source/lib/core/dynamic_library.cpp |
| 0.0% 0/28 | 0/7 | source/lib/core/exception.cpp |
| 0.0% 0/160 | 0/12 | source/lib/core/gpu_metrics.cpp |
| 0.0% 0/33 | 0/6 | source/lib/core/mpi.hpp |
| 0.0% 0/24 | 0/2 | source/lib/core/node_info.cpp |
| 0.0% 0/2 | 0/2 | source/lib/core/node_info.hpp |
| 0.0% 0/79 | 0/5 | source/lib/core/perf.cpp |
| 0.0% 0/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/29 | 0/7 | source/lib/core/perfetto/emitter.cpp |
| 0.0% 0/48 | 0/9 | source/lib/core/perfetto/emitter.hpp |
| 0.0% 0/7 | 0/1 | source/lib/core/perfetto/sinks/append_mode.hpp |
| 0.0% 0/13 | 0/3 | source/lib/core/perfetto/sinks/tee_sink.cpp |
| 0.0% 0/1 | 0/1 | source/lib/core/perfetto/sinks/tee_sink.hpp |
| 0.0% 0/1 | 0/1 | source/lib/core/progress/bar.hpp |
| 0.0% 0/8 | 0/3 | source/lib/core/sdk/tracing-config-deps.hpp |
| 0.0% 0/54 | 0/3 | source/lib/core/trace_cache/cache_manager.cpp |
| 0.0% 0/7 | 0/3 | source/lib/core/trace_cache/cache_manager.hpp |
| 0.0% 0/516 | 0/71 | source/lib/core/trace_cache/metadata_registry.cpp |
| 0.0% 0/764 | 0/103 | source/lib/core/trace_cache/perfetto_processor.cpp |
| 0.0% 0/119 | 0/12 | source/lib/core/trace_cache/post_processor.cpp |
| 0.0% 0/817 | 0/32 | source/lib/core/trace_cache/rocpd_processor.cpp |
| 0.0% 0/77 | 0/1 | source/lib/core/trace_cache/sample_processor.hpp |
| 0.0% 0/14 | 0/6 | source/lib/rocprof-sys-causal-api/causal_api.cpp |
| 0.0% 0/539 | 0/85 | source/lib/rocprof-sys-dl/dl.cpp |
| 0.0% 0/16 | 0/1 | source/lib/rocprof-sys-dl/main.c |
| 0.0% 0/280 | 0/31 | source/lib/rocprof-sys-rt/src/RTcommon.c |
| 0.0% 0/29 | 0/4 | source/lib/rocprof-sys-rt/src/RTheap-linux.c |
| 0.0% 0/65 | 0/4 | source/lib/rocprof-sys-rt/src/RTheap.c |
| 0.0% 0/212 | 0/22 | source/lib/rocprof-sys-rt/src/RTlinux.c |
| 0.0% 0/97 | 0/8 | source/lib/rocprof-sys-rt/src/RTposix.c |
| 0.0% 0/6 | 0/2 | source/lib/rocprof-sys-rt/src/RTsignal.c |
| 0.0% 0/11 | 0/2 | source/lib/rocprof-sys-rt/src/RTthread-x86-64.c |
| 0.0% 0/3 | 0/1 | source/lib/rocprof-sys-rt/src/RTthread.c |
| 0.0% 0/84 | 0/20 | source/lib/rocprof-sys/api.cpp |
| 0.0% 0/620 | 0/36 | source/lib/rocprof-sys/library.cpp |
| 0.0% 0/77 | 0/6 | source/lib/rocprof-sys/library/causal/components/backtrace.cpp |
| 0.0% 0/7 | 0/2 | source/lib/rocprof-sys/library/causal/components/backtrace.hpp |
| 0.0% 0/93 | 0/11 | source/lib/rocprof-sys/library/causal/components/blocking_gotcha.cpp |
| 0.0% 0/33 | 0/7 | source/lib/rocprof-sys/library/causal/components/causal_gotcha.cpp |
| 0.0% 0/85 | 0/22 | source/lib/rocprof-sys/library/causal/components/progress_point.cpp |
| 0.0% 0/23 | 0/3 | source/lib/rocprof-sys/library/causal/components/progress_point.hpp |
| 0.0% 0/44 | 0/8 | source/lib/rocprof-sys/library/causal/components/unblocking_gotcha.cpp |
| 0.0% 0/553 | 0/33 | source/lib/rocprof-sys/library/causal/data.cpp |
| 0.0% 0/87 | 0/16 | source/lib/rocprof-sys/library/causal/delay.cpp |
| 0.0% 0/373 | 0/29 | source/lib/rocprof-sys/library/causal/experiment.cpp |
| 0.0% 0/3 | 0/2 | source/lib/rocprof-sys/library/causal/experiment.hpp |
| 0.0% 0/24 | 0/5 | source/lib/rocprof-sys/library/causal/sample_data.cpp |
| 0.0% 0/268 | 0/25 | source/lib/rocprof-sys/library/causal/sampling.cpp |
| 0.0% 0/4 | 0/1 | source/lib/rocprof-sys/library/causal/selected_entry.cpp |
| 0.0% 0/5 | 0/3 | source/lib/rocprof-sys/library/causal/selected_entry.hpp |
| 0.0% 0/71 | 0/11 | source/lib/rocprof-sys/library/components/backtrace.cpp |
| 0.0% 0/1 | 0/1 | source/lib/rocprof-sys/library/components/backtrace.hpp |
| 0.0% 0/215 | 0/30 | source/lib/rocprof-sys/library/components/backtrace_metrics.cpp |
| 0.0% 0/11 | 0/2 | source/lib/rocprof-sys/library/components/backtrace_metrics.hpp |
| 0.0% 0/9 | 0/3 | source/lib/rocprof-sys/library/components/backtrace_timestamp.cpp |
| 0.0% 0/4 | 0/2 | source/lib/rocprof-sys/library/components/backtrace_timestamp.hpp |
| 0.0% 0/71 | 0/10 | source/lib/rocprof-sys/library/components/callchain.cpp |
| 0.0% 0/1 | 0/1 | source/lib/rocprof-sys/library/components/callchain.hpp |
| 0.0% 0/367 | 0/30 | source/lib/rocprof-sys/library/components/comm_data.cpp |
| 0.0% 0/19 | 0/5 | source/lib/rocprof-sys/library/components/comm_data.hpp |
| 0.0% 0/8 | 0/2 | source/lib/rocprof-sys/library/components/ensure_storage.hpp |
| 0.0% 0/28 | 0/6 | source/lib/rocprof-sys/library/components/exit_gotcha.cpp |
| 0.0% 0/1 | 0/1 | source/lib/rocprof-sys/library/components/exit_gotcha.hpp |
| 0.0% 0/68 | 0/8 | source/lib/rocprof-sys/library/components/fork_gotcha.cpp |
| 0.0% 0/1 | 0/1 | source/lib/rocprof-sys/library/components/fork_gotcha.hpp |
| 0.0% 0/13 | 0/3 | source/lib/rocprof-sys/library/components/kill_gotcha.cpp |
| 0.0% 0/1 | 0/1 | source/lib/rocprof-sys/library/components/kill_gotcha.hpp |
| 0.0% 0/158 | 0/22 | source/lib/rocprof-sys/library/components/mpi_gotcha.cpp |
| 0.0% 0/2 | 0/1 | source/lib/rocprof-sys/library/components/mpi_gotcha.hpp |
| 0.0% 0/533 | 0/12 | source/lib/rocprof-sys/library/components/mpip.hpp |
| 0.0% 0/78 | 0/19 | source/lib/rocprof-sys/library/components/numa_gotcha.cpp |
| 0.0% 0/2 | 0/1 | source/lib/rocprof-sys/library/components/numa_gotcha.hpp |
| 0.0% 0/336 | 0/20 | source/lib/rocprof-sys/library/components/pthread_create_gotcha.cpp |
| 0.0% 0/3 | 0/1 | source/lib/rocprof-sys/library/components/pthread_create_gotcha.hpp |
| 0.0% 0/34 | 0/9 | source/lib/rocprof-sys/library/components/pthread_gotcha.cpp |
| 0.0% 0/24 | 0/2 | source/lib/rocprof-sys/library/components/pthread_mutex_gotcha_policy.hpp |
| 0.0% 0/164 | 0/31 | source/lib/rocprof-sys/library/components/vaapi_gotcha.cpp |
| 0.0% 0/2 | 0/1 | source/lib/rocprof-sys/library/components/vaapi_gotcha.hpp |
| 0.0% 0/145 | 0/10 | source/lib/rocprof-sys/library/coverage.cpp |
| 0.0% 0/29 | 0/5 | source/lib/rocprof-sys/library/coverage.hpp |
| 0.0% 0/60 | 0/16 | source/lib/rocprof-sys/library/coverage/impl.hpp |
| 0.0% 0/252 | 0/37 | source/lib/rocprof-sys/library/kokkosp.cpp |
| 0.0% 0/245 | 0/31 | source/lib/rocprof-sys/library/perf.cpp |
| 0.0% 0/11 | 0/3 | source/lib/rocprof-sys/library/perf.hpp |
| 0.0% 0/186 | 0/12 | source/lib/rocprof-sys/library/pmc/collectors/common/settings.hpp |
| 0.0% 0/66 | 0/5 | source/lib/rocprof-sys/library/pmc/collectors/cpu/cache_policy.hpp |
| 0.0% 0/47 | 0/6 | source/lib/rocprof-sys/library/pmc/collectors/cpu/cpu_traits.hpp |
| 0.0% 0/52 | 0/9 | source/lib/rocprof-sys/library/pmc/collectors/cpu/perfetto_policy.hpp |
| 0.0% 0/100 | 0/6 | source/lib/rocprof-sys/library/pmc/collectors/gpu/cache_policy.hpp |
| 0.0% 0/222 | 0/36 | source/lib/rocprof-sys/library/pmc/collectors/gpu/perfetto_policy.hpp |
| 0.0% 0/25 | 0/3 | source/lib/rocprof-sys/library/pmc/collectors/gpu/sample.hpp |
| 0.0% 0/32 | 0/3 | source/lib/rocprof-sys/library/pmc/collectors/gpu_perf_counter/cache_policy.hpp |
| 0.0% 0/39 | 0/7 | source/lib/rocprof-sys/library/pmc/collectors/gpu_perf_counter/perfetto_policy.hpp |
| 0.0% 0/16 | 0/2 | source/lib/rocprof-sys/library/pmc/collectors/nic/sample.hpp |
| 0.0% 0/14 | 0/2 | source/lib/rocprof-sys/library/pmc/device_providers/procfs/provider.hpp |
| 0.0% 0/148 | 0/18 | source/lib/rocprof-sys/library/pmc/sampler.cpp |
| 0.0% 0/113 | 0/11 | source/lib/rocprof-sys/library/process_sampler.cpp |
| 0.0% 0/13 | 0/1 | source/lib/rocprof-sys/library/process_sampler.hpp |
| 0.0% 0/2 | 0/1 | source/lib/rocprof-sys/library/rocm.cpp |
| 0.0% 0/1268 | 0/88 | source/lib/rocprof-sys/library/rocprofiler-sdk.cpp |
| 0.0% 0/111 | 0/13 | source/lib/rocprof-sys/library/rocprofiler-sdk/counters.cpp |
| 0.0% 0/17 | 0/6 | source/lib/rocprof-sys/library/rocprofiler-sdk/counters.hpp |
| 0.0% 0/129 | 0/9 | source/lib/rocprof-sys/library/rocprofiler-sdk/fwd.cpp |
| 0.0% 0/34 | 0/7 | source/lib/rocprof-sys/library/rocprofiler-sdk/fwd.hpp |
| 0.0% 0/36 | 0/9 | source/lib/rocprof-sys/library/rocprofiler-sdk/marker_writer.cpp |
| 0.0% 0/136 | 0/13 | source/lib/rocprof-sys/library/rocprofiler-sdk/rccl.cpp |
| 0.0% 0/112 | 0/10 | source/lib/rocprof-sys/library/rocprofiler-sdk/roctx_client.cpp |
| 0.0% 0/118 | 0/20 | source/lib/rocprof-sys/library/runtime.cpp |
| 0.0% 0/2 | 0/1 | source/lib/rocprof-sys/library/runtime.hpp |
| 0.0% 0/994 | 0/65 | source/lib/rocprof-sys/library/sampling.cpp |
| 0.0% 0/145 | 0/31 | source/lib/rocprof-sys/library/thread_data.hpp |
| 0.0% 0/10 | 0/3 | source/lib/rocprof-sys/library/thread_data_growth.hpp |
| 0.0% 0/10 | 0/1 | source/lib/rocprof-sys/library/thread_deleter.cpp |
| 0.0% 0/5 | 0/1 | source/lib/rocprof-sys/library/thread_deleter.hpp |
| 0.0% 0/161 | 0/27 | source/lib/rocprof-sys/library/thread_info.cpp |
| 0.0% 0/2 | 0/1 | source/lib/rocprof-sys/library/thread_info.hpp |
| 0.0% 0/113 | 0/11 | source/lib/rocprof-sys/library/tracing.cpp |
| 0.0% 0/109 | 0/30 | source/lib/rocprof-sys/library/tracing.hpp |
| 0.0% 0/3 | 0/1 | source/lib/rocprof-sys/library/tracing/annotation.cpp |
| 0.0% 0/45 | 0/4 | source/lib/rocprof-sys/library/tracing/annotation.hpp |
| 0.0% 0/8 | 0/2 | source/lib/rocprof-sys/progress.cpp |
| 0.0% 0/74 | 0/16 | source/lib/rocprof-sys/regions.cpp |
| 0.0% 0/82 | 0/4 | source/lib/rocprof-sys/timeout.cpp |
| 0.0% 0/440 | 0/45 | source/python/libpyrocprofsys.cpp |
| 0.6% 1/166 | 1/13 | source/lib/core/perfetto.cpp |
| 0.8% 7/859 | 1/74 | source/lib/core/argparse.cpp |
| 6.1% 2/33 | 1/3 | source/lib/core/amd_smi.cpp |
| 7.1% 1/14 | 0/1 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/iterators/primitive_iterator.hpp |
| 9.6% 17/178 | 4/25 | source/lib/core/constraint.cpp |
| 13.2% 30/227 | 8/25 | source/bin/rocprof-sys-avail/common.cpp |
| 15.4% 4/26 | 0/6 | source/lib/core/trace_cache/metadata_registry.hpp |
| 18.0% 32/178 | 6/23 | source/lib/core/gpu.cpp |
| 18.2% 4/22 | 1/3 | source/lib/common/static_object.hpp |
| 18.8% 9/48 | 2/5 | source/lib/core/output_file_registry.cpp |
| 19.0% 4/21 | 0/2 | source/lib/backends/rocprofiler_sdk/wrapper.hpp |
| 19.4% 6/31 | 2/5 | source/bin/common/common_utils.hpp |
🟠 20-50% (14 files)
| Lines | Functions | File |
|---|---|---|
| 20.0% 1/5 | 0/2 | source/lib/core/argparse.hpp |
| 21.3% 13/61 | 3/9 | source/lib/core/utility.hpp |
| 22.2% 2/9 | 0/6 | source/lib/core/constraint.hpp |
| 23.2% 13/56 | 1/4 | source/lib/core/mproc.cpp |
| 32.1% 52/162 | 7/17 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/input/json_sax.hpp |
| 34.8% 147/423 | 14/46 | build/coverage/_deps/fmt-src/include/fmt/format.h |
| 35.3% 612/1732 | 156/302 | source/lib/core/config.cpp |
| 36.5% 23/63 | 6/12 | source/lib/core/agent_manager.cpp |
| 38.2% 13/34 | 1/4 | source/lib/core/perfetto/sinks/io_helpers.hpp |
| 40.3% 195/484 | 14/17 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/input/lexer.hpp |
| 40.5% 17/42 | 5/12 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/exceptions.hpp |
| 46.0% 433/941 | 10/48 | source/bin/rocprof-sys-avail/avail.cpp |
| 47.4% 222/468 | 17/39 | build/coverage/_deps/fmt-src/include/fmt/base.h |
| 49.6% 127/256 | 14/32 | source/lib/rocprof-sys/library/components/category_region.hpp |
🟡 50-80% (35 files)
| Lines | Functions | File |
|---|---|---|
| 50.0% 153/306 | 9/11 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/output/serializer.hpp |
| 50.0% 1/2 | 0/1 | source/lib/rocprof-sys/library/pmc/collectors/nic/types.hpp |
| 51.9% 220/424 | 25/37 | source/bin/common/common_utils.cpp |
| 52.0% 13/25 | 2/3 | source/lib/rocprof-sys/library/pmc/collectors/gpu_perf_counter/gpu_perf_counter_traits.hpp |
| 53.3% 8/15 | 3/3 | source/lib/core/perfetto/sinks/per_pid_file_sink.cpp |
| 55.0% 22/40 | 4/6 | build/coverage/_deps/fmt-src/include/fmt/ranges.h |
| 55.6% 5/9 | 1/3 | build/coverage/_deps/fmt-src/include/fmt/chrono.h |
| 55.7% 34/61 | 5/8 | source/lib/rocprof-sys/library/pmc/collectors/cpu/sample.hpp |
| 58.3% 14/24 | 3/8 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/output/output_adapters.hpp |
| 58.3% 7/12 | 0/4 | build/coverage/_deps/spdlog-src/include/spdlog/common.h |
| 60.0% 3/5 | 1/1 | source/lib/core/agent.hpp |
| 62.1% 18/29 | 1/1 | source/lib/core/perfetto/locked_file_append.cpp |
| 62.1% 41/66 | 7/8 | source/lib/rocprof-sys/library/pmc/collectors/base/collector.hpp |
| 62.8% 49/78 | 4/5 | source/lib/core/trace_cache/discovery.cpp |
| 63.1% 70/111 | 7/10 | source/lib/core/progress/bar.cpp |
| 63.4% 272/429 | 33/40 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/json.hpp |
| 64.1% 336/524 | 26/40 | source/bin/common/json_config.cpp |
| 65.4% 34/52 | 4/4 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/conversions/from_json.hpp |
| 65.4% 17/26 | 2/3 | source/lib/core/config.hpp |
| 66.2% 47/71 | 5/5 | source/lib/rocprof-sys/library/pmc/collectors/gpu/gpu_traits.hpp |
| 66.4% 87/131 | 4/5 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/input/parser.hpp |
| 66.7% 2/3 | 0/2 | source/lib/rocprof-sys/library/pmc/collectors/cpu/types.hpp |
| 67.2% 43/64 | 11/14 | source/lib/core/trace_cache/data_types.cpp |
| 68.4% 39/57 | 4/6 | source/lib/core/perfetto.hpp |
| 68.8% 22/32 | 3/8 | source/lib/rocprof-sys/library/pmc/collectors/gpu_perf_counter/types.hpp |
| 71.1% 69/97 | 8/8 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/iterators/iter_impl.hpp |
| 71.9% 220/306 | 15/17 | source/bin/common/preset_registry.cpp |
| 72.3% 86/119 | 14/17 | source/lib/core/perfetto/engine.cpp |
| 73.7% 28/38 | 6/7 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/iterators/iteration_proxy.hpp |
| 75.0% 3/4 | 0/1 | source/lib/backends/amd_smi/nic_types.hpp |
| 75.0% 3/4 | 1/2 | source/lib/core/perfetto/sinks/single_file_sink.hpp |
| 76.5% 78/102 | 4/4 | source/lib/core/perfetto/sinks/single_file_sink.cpp |
| 77.8% 7/9 | 0/1 | source/bin/rocprof-sys-avail/info_type.hpp |
| 77.8% 77/99 | 10/11 | source/lib/core/perfetto/engine_impl.hpp |
| 79.3% 88/111 | 13/15 | source/lib/common/path.hpp |
🟢 80-100% (81 files)
| Lines | Functions | File |
|---|---|---|
| 80.0% 8/10 | 1/2 | build/coverage/include/profiler-hub/writer_types.hpp |
| 80.5% 62/77 | 9/10 | source/lib/rocprof-sys/library/pmc/device_providers/rocprofiler_sdk/provider.hpp |
| 82.8% 48/58 | 6/7 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/conversions/to_json.hpp |
| 83.9% 135/161 | 12/16 | source/lib/backends/procfs/backend.hpp |
| 84.6% 11/13 | 2/4 | source/lib/rocprof-sys/library/rocprofiler-sdk/roctx_client.hpp |
| 85.0% 85/100 | 11/15 | source/lib/logger/logger.hpp |
| 85.1% 40/47 | 2/2 | source/lib/core/trace_cache/storage_parser.hpp |
| 86.9% 213/245 | 15/16 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/conversions/to_chars.hpp |
| 89.0% 276/310 | 30/35 | source/lib/common/environment.hpp |
| 89.1% 49/55 | 4/4 | source/lib/rocprof-sys/library/pmc/collectors/gpu_perf_counter/device.hpp |
| 89.1% 221/248 | 23/33 | source/lib/core/sdk/tracing-config.hpp |
| 89.5% 34/38 | 5/8 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/input/input_adapters.hpp |
| 90.0% 54/60 | 4/4 | source/lib/core/trace_cache/buffer_storage.cpp |
| 90.1% 100/111 | 8/8 | source/lib/rocprof-sys/library/pmc/collectors/cpu/device.hpp |
| 90.7% 303/334 | 28/31 | source/lib/core/trace_cache/sample_type.hpp |
| 90.9% 10/11 | 1/2 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/json_ref.hpp |
| 91.0% 243/267 | 19/20 | source/lib/core/trace_cache/unified_memory_processor.cpp |
| 91.3% 178/195 | 14/18 | source/lib/rocprof-sys/library/components/shmem_gotcha.hpp |
| 91.7% 11/12 | 2/2 | source/lib/core/perfetto/session_backend.hpp |
| 91.7% 44/48 | 4/4 | source/lib/core/utility.cpp |
| 92.6% 163/176 | 9/9 | source/lib/rocprof-sys/library/pmc/collectors/gpu/device.hpp |
| 92.9% 13/14 | 0/1 | source/lib/rocprof-sys/library/pmc/collectors/common/collector_slice.hpp |
| 93.0% 40/43 | 6/11 | source/lib/core/demangler.hpp |
| 93.2% 68/73 | 7/8 | source/lib/core/trace_cache/buffer_storage.hpp |
| 94.1% 16/17 | 3/3 | source/bin/rocprof-sys-avail/component_categories.hpp |
| 94.2% 129/137 | 29/32 | source/lib/backends/rocprofiler_sdk/backend.hpp |
| 94.7% 36/38 | 7/7 | build/coverage/_deps/spdlog-src/include/spdlog/logger.h |
| 94.7% 54/57 | 6/8 | source/lib/rocprof-sys/library/components/pthread_mutex_gotcha.hpp |
| 94.8% 55/58 | 1/5 | source/lib/core/trace_cache/cacheable.hpp |
| 94.8% 92/97 | 9/10 | source/lib/rocprof-sys/library/rocprofiler-sdk/trace_control.cpp |
| 95.0% 19/20 | 4/6 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/string_concat.hpp |
| 95.7% 22/23 | 4/6 | source/lib/common/synchronized.hpp |
| 95.8% 23/24 | 2/4 | source/lib/common/pci_bdf.hpp |
| 95.9% 162/169 | 19/22 | source/lib/rocprof-sys/library/components/ucx_gotcha.hpp |
| 96.2% 25/26 | 1/2 | source/lib/common/delimit.hpp |
| 96.5% 82/85 | 11/12 | source/lib/core/state.hpp |
| 96.8% 30/31 | 3/4 | source/lib/rocprof-sys/library/pmc/collectors/gpu_perf_counter/sample.hpp |
| 97.3% 73/75 | 3/3 | source/lib/core/perfetto/packet_framing.hpp |
| 97.4% 74/76 | 6/6 | source/lib/core/common_types.hpp |
| 97.5% 39/40 | 6/7 | source/lib/core/trace_cache/rocpd_helpers.hpp |
| 97.8% 45/46 | 7/7 | source/lib/rocprof-sys/library/rocprofiler-sdk/rccl_internal.hpp |
| 97.9% 47/48 | 3/3 | source/lib/rocprof-sys/library/pmc/collectors/nic/device.hpp |
| 98.1% 51/52 | 7/7 | source/lib/rocprof-sys/library/pmc/device_providers/amd_smi/provider.hpp |
| 98.7% 78/79 | 15/16 | source/lib/backends/amd_smi/backend.hpp |
| 100.0% 14/14 | 1/1 | build/coverage/_deps/fmt-src/include/fmt/ostream.h |
| 100.0% 6/6 | 0/3 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/adl_serializer.hpp |
| 100.0% 2/2 | 0/1 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/input/position_t.hpp |
| 100.0% 2/2 | 0/1 | build/coverage/_deps/spdlog-src/include/spdlog/details/backtracer.h |
| 100.0% 2/2 | 0/1 | build/coverage/_deps/spdlog-src/include/spdlog/details/circular_q.h |
| 100.0% 1/1 | 0/1 | build/coverage/include/profiler-hub/reader_types.hpp |
| 100.0% 1/1 | 0/1 | source/bin/common/json_config.hpp |
| 100.0% 39/39 | 2/2 | source/bin/rocprof-sys-avail/get_availability.hpp |
| 100.0% 10/10 | 1/1 | source/bin/rocprof-sys-avail/get_categories.hpp |
| 100.0% 4/4 | 1/1 | source/bin/rocprof-sys-avail/info_type.cpp |
| 100.0% 107/107 | 13/14 | source/lib/backends/amd_smi/device.hpp |
| 100.0% 7/7 | 0/1 | source/lib/backends/amd_smi/gpu_types.hpp |
| 100.0% 1/1 | 0/1 | source/lib/backends/rocprofiler_sdk/types.hpp |
| 100.0% 12/12 | 1/1 | source/lib/common/join.hpp |
| 100.0% 5/5 | 1/1 | source/lib/common/string_utility.hpp |
| 100.0% 8/8 | 0/2 | source/lib/common/version.hpp |
| 100.0% 2/2 | 1/2 | source/lib/core/agent_manager.hpp |
| 100.0% 1/1 | 0/1 | source/lib/core/output_file_registry.hpp |
| 100.0% 1/1 | 0/1 | source/lib/core/perfetto/category_registry.hpp |
| 100.0% 1/1 | 0/1 | source/lib/core/perfetto/engine.hpp |
| 100.0% 7/7 | 0/1 | source/lib/core/perfetto/locked_file_append.hpp |
| 100.0% 9/9 | 2/3 | source/lib/core/perfetto/sinks/polymorphic_sink_view.hpp |
| 100.0% 6/6 | 2/2 | source/lib/core/perfetto/sinks/recording_sink.cpp |
| 100.0% 5/5 | 0/2 | source/lib/core/perfetto/sinks/recording_sink.hpp |
| 100.0% 6/6 | 2/2 | source/lib/core/progress/tracker.cpp |
| 100.0% 1/1 | 0/1 | source/lib/core/progress/tracker.hpp |
| 100.0% 4/4 | 0/3 | source/lib/core/trace_cache/data_types.hpp |
| 100.0% 9/9 | 3/3 | source/lib/core/trace_cache/type_registry.hpp |
| 100.0% 24/24 | 4/5 | source/lib/core/trace_cache/unified_memory_processor.hpp |
| 100.0% 5/5 | 2/2 | source/lib/core/track_registry.cpp |
| 100.0% 4/4 | 0/2 | source/lib/core/track_registry.hpp |
| 100.0% 10/10 | 1/1 | source/lib/logger/logger.cpp |
| 100.0% 9/9 | 0/2 | source/lib/rocprof-sys/library/pmc/collectors/gpu/types.hpp |
| 100.0% 20/20 | 4/4 | source/lib/rocprof-sys/library/pmc/collectors/nic/perfetto_policy.hpp |
| 100.0% 2/2 | 0/2 | source/lib/rocprof-sys/library/pmc/common/types.hpp |
| 100.0% 34/34 | 3/4 | source/lib/rocprof-sys/library/rocprofiler-sdk/marker_writer.hpp |
| 100.0% 3/3 | 1/2 | source/lib/rocprof-sys/library/rocprofiler-sdk/trace_control.hpp |
Distribution
| Range | Files |
|---|---|
| 0-20% | 191 |
| 20-50% | 14 |
| 50-80% | 35 |
| 80-100% | 81 |
E2E Tests
Code Coverage: e2e-tests
Lines: 🟡 64.3% — 22,679/35,269 across 321 files
Functions: 🟡 64.2% — 2,347/3,653
🔴 0-20% (49 files)
| Lines | Functions | File |
|---|---|---|
| 0.0% 0/10 | 0/2 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/byte_container_with_subtype.hpp |
| 0.0% 0/1 | 0/1 | build/coverage/_deps/spdlog-src/include/spdlog/details/log_msg_buffer.h |
| 0.0% 0/1 | 0/1 | build/coverage/_deps/spdlog-src/include/spdlog/sinks/ansicolor_sink.h |
| 0.0% 0/2 | 0/1 | build/coverage/include/profiler-hub/shared_types.hpp |
| 0.0% 0/102 | 0/6 | source/bin/rocprof-sys-avail/hw_counter_query.cpp |
| 0.0% 0/24 | 0/1 | source/lib/backends/amd_smi/wrapper.hpp |
| 0.0% 0/166 | 0/2 | source/lib/core/agent_info.hpp |
| 0.0% 0/89 | 0/6 | source/lib/core/cpu.cpp |
| 0.0% 0/1 | 0/1 | source/lib/core/cpu.hpp |
| 0.0% 0/53 | 0/6 | source/lib/core/dynamic_library.cpp |
| 0.0% 0/28 | 0/7 | source/lib/core/exception.cpp |
| 0.0% 0/160 | 0/12 | source/lib/core/gpu_metrics.cpp |
| 0.0% 0/13 | 0/3 | source/lib/core/perfetto/sinks/tee_sink.cpp |
| 0.0% 0/1 | 0/1 | source/lib/core/perfetto/sinks/tee_sink.hpp |
| 0.0% 0/8 | 0/3 | source/lib/core/sdk/tracing-config-deps.hpp |
| 0.0% 0/6 | 0/2 | source/lib/rocprof-sys-rt/src/RTsignal.c |
| 0.0% 0/11 | 0/2 | source/lib/rocprof-sys-rt/src/RTthread-x86-64.c |
| 0.0% 0/3 | 0/1 | source/lib/rocprof-sys-rt/src/RTthread.c |
| 0.0% 0/1 | 0/1 | source/lib/rocprof-sys/library/components/exit_gotcha.hpp |
| 0.0% 0/1 | 0/1 | source/lib/rocprof-sys/library/components/kill_gotcha.hpp |
| 0.0% 0/164 | 0/31 | source/lib/rocprof-sys/library/components/vaapi_gotcha.cpp |
| 0.0% 0/52 | 0/9 | source/lib/rocprof-sys/library/pmc/collectors/cpu/perfetto_policy.hpp |
| 0.0% 0/100 | 0/6 | source/lib/rocprof-sys/library/pmc/collectors/gpu/cache_policy.hpp |
| 0.0% 0/222 | 0/36 | source/lib/rocprof-sys/library/pmc/collectors/gpu/perfetto_policy.hpp |
| 0.0% 0/25 | 0/3 | source/lib/rocprof-sys/library/pmc/collectors/gpu/sample.hpp |
| 0.0% 0/32 | 0/3 | source/lib/rocprof-sys/library/pmc/collectors/gpu_perf_counter/cache_policy.hpp |
| 0.0% 0/39 | 0/7 | source/lib/rocprof-sys/library/pmc/collectors/gpu_perf_counter/perfetto_policy.hpp |
| 0.0% 0/16 | 0/2 | source/lib/rocprof-sys/library/pmc/collectors/nic/sample.hpp |
| 0.0% 0/2 | 0/1 | source/lib/rocprof-sys/library/rocm.cpp |
| 0.0% 0/111 | 0/13 | source/lib/rocprof-sys/library/rocprofiler-sdk/counters.cpp |
| 0.0% 0/17 | 0/6 | source/lib/rocprof-sys/library/rocprofiler-sdk/counters.hpp |
| 0.0% 0/129 | 0/9 | source/lib/rocprof-sys/library/rocprofiler-sdk/fwd.cpp |
| 0.0% 0/34 | 0/7 | source/lib/rocprof-sys/library/rocprofiler-sdk/fwd.hpp |
| 0.0% 0/136 | 0/13 | source/lib/rocprof-sys/library/rocprofiler-sdk/rccl.cpp |
| 0.0% 0/112 | 0/10 | source/lib/rocprof-sys/library/rocprofiler-sdk/roctx_client.cpp |
| 0.0% 0/3 | 0/1 | source/lib/rocprof-sys/library/tracing/annotation.cpp |
| 0.0% 0/45 | 0/4 | source/lib/rocprof-sys/library/tracing/annotation.hpp |
| 0.0% 0/440 | 0/45 | source/python/libpyrocprofsys.cpp |
| 0.6% 1/166 | 1/13 | source/lib/core/perfetto.cpp |
| 2.6% 33/1268 | 3/88 | source/lib/rocprof-sys/library/rocprofiler-sdk.cpp |
| 6.1% 2/33 | 1/3 | source/lib/core/amd_smi.cpp |
| 7.1% 1/14 | 0/1 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/iterators/primitive_iterator.hpp |
| 8.3% 3/36 | 1/9 | source/lib/rocprof-sys/library/rocprofiler-sdk/marker_writer.cpp |
| 13.6% 38/280 | 7/31 | source/lib/rocprof-sys-rt/src/RTcommon.c |
| 13.8% 4/29 | 1/4 | source/lib/rocprof-sys-rt/src/RTheap-linux.c |
| 14.2% 30/212 | 4/22 | source/lib/rocprof-sys-rt/src/RTlinux.c |
| 16.2% 12/74 | 4/16 | source/lib/rocprof-sys/regions.cpp |
| 18.0% 32/178 | 6/23 | source/lib/core/gpu.cpp |
| 19.0% 4/21 | 0/2 | source/lib/backends/rocprofiler_sdk/wrapper.hpp |
🟠 20-50% (24 files)
| Lines | Functions | File |
|---|---|---|
| 21.5% 17/79 | 3/5 | source/lib/core/perf.cpp |
| 23.3% 190/817 | 9/32 | source/lib/core/trace_cache/rocpd_processor.cpp |
| 23.6% 122/516 | 24/71 | source/lib/core/trace_cache/metadata_registry.cpp |
| 27.8% 27/97 | 4/8 | source/lib/rocprof-sys-rt/src/RTposix.c |
| 29.8% 228/764 | 32/103 | source/lib/core/trace_cache/perfetto_processor.cpp |
| 31.7% 59/186 | 6/12 | source/lib/rocprof-sys/library/pmc/collectors/common/settings.hpp |
| 32.1% 52/162 | 7/17 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/input/json_sax.hpp |
| 35.7% 30/84 | 10/20 | source/lib/rocprof-sys/api.cpp |
| 35.7% 10/28 | 3/6 | source/lib/rocprof-sys/library/components/exit_gotcha.cpp |
| 38.5% 5/13 | 2/3 | source/lib/rocprof-sys/library/components/kill_gotcha.cpp |
| 38.8% 31/80 | 1/2 | source/bin/rocprof-sys-causal/rocprof-sys-causal.cpp |
| 39.8% 37/93 | 5/11 | source/lib/rocprof-sys/library/causal/components/blocking_gotcha.cpp |
| 40.3% 195/484 | 14/17 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/input/lexer.hpp |
| 40.5% 17/42 | 5/12 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/exceptions.hpp |
| 41.3% 26/63 | 7/12 | source/lib/core/agent_manager.cpp |
| 43.8% 21/48 | 6/9 | source/lib/core/perfetto/emitter.hpp |
| 43.9% 36/82 | 2/4 | source/lib/rocprof-sys/timeout.cpp |
| 44.4% 4/9 | 1/3 | source/lib/rocprof-sys/library/components/backtrace_timestamp.cpp |
| 45.0% 27/60 | 6/16 | source/lib/rocprof-sys/library/coverage/impl.hpp |
| 45.6% 72/158 | 3/7 | source/bin/rocprof-sys-instrument/info.hpp |
| 46.2% 36/78 | 6/19 | source/lib/rocprof-sys/library/components/numa_gotcha.cpp |
| 47.7% 31/65 | 3/4 | source/lib/rocprof-sys-rt/src/RTheap.c |
| 48.3% 14/29 | 5/7 | source/lib/core/perfetto/emitter.cpp |
| 48.5% 178/367 | 16/30 | source/lib/rocprof-sys/library/components/comm_data.cpp |
🟡 50-80% (73 files)
| Lines | Functions | File |
|---|---|---|
| 50.0% 8/16 | 2/4 | source/lib/binary/address_multirange.cpp |
| 50.0% 7/14 | 2/6 | source/lib/rocprof-sys-causal-api/causal_api.cpp |
| 50.0% 1/2 | 0/1 | source/lib/rocprof-sys/library/components/numa_gotcha.hpp |
| 50.0% 1/2 | 0/1 | source/lib/rocprof-sys/library/components/vaapi_gotcha.hpp |
| 50.0% 1/2 | 0/1 | source/lib/rocprof-sys/library/pmc/collectors/nic/types.hpp |
| 50.0% 1/2 | 0/1 | source/lib/rocprof-sys/library/thread_info.hpp |
| 50.0% 4/8 | 1/2 | source/lib/rocprof-sys/progress.cpp |
| 50.4% 213/423 | 23/46 | build/coverage/_deps/fmt-src/include/fmt/format.h |
| 50.5% 55/109 | 12/30 | source/lib/rocprof-sys/library/tracing.hpp |
| 50.8% 128/252 | 25/37 | source/lib/rocprof-sys/library/kokkosp.cpp |
| 52.0% 13/25 | 2/3 | source/lib/rocprof-sys/library/pmc/collectors/gpu_perf_counter/gpu_perf_counter_traits.hpp |
| 53.2% 41/77 | 0/1 | source/lib/core/trace_cache/sample_processor.hpp |
| 53.4% 79/148 | 12/18 | source/lib/rocprof-sys/library/pmc/sampler.cpp |
| 55.0% 22/40 | 4/6 | build/coverage/_deps/fmt-src/include/fmt/ranges.h |
| 55.6% 5/9 | 1/3 | build/coverage/_deps/fmt-src/include/fmt/chrono.h |
| 56.2% 172/306 | 9/11 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/output/serializer.hpp |
| 57.5% 23/40 | 1/3 | source/lib/common/invoke.hpp |
| 58.3% 14/24 | 3/8 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/output/output_adapters.hpp |
| 58.3% 7/12 | 0/4 | build/coverage/_deps/spdlog-src/include/spdlog/common.h |
| 60.0% 63/105 | 5/9 | source/bin/common/argument_registration.hpp |
| 60.0% 3/5 | 1/1 | source/lib/core/agent.hpp |
| 60.9% 131/215 | 12/30 | source/lib/rocprof-sys/library/components/backtrace_metrics.cpp |
| 61.8% 289/468 | 21/39 | build/coverage/_deps/fmt-src/include/fmt/base.h |
| 61.8% 42/68 | 5/8 | source/lib/rocprof-sys/library/components/fork_gotcha.cpp |
| 62.1% 18/29 | 1/1 | source/lib/core/perfetto/locked_file_append.cpp |
| 62.5% 50/80 | 13/18 | source/lib/core/binary/address_range.cpp |
| 62.8% 49/78 | 4/5 | source/lib/core/trace_cache/discovery.cpp |
| 63.1% 70/111 | 7/10 | source/lib/core/progress/bar.cpp |
| 63.3% 155/245 | 23/31 | source/lib/rocprof-sys/library/perf.cpp |
| 64.7% 22/34 | 3/4 | source/lib/core/perfetto/sinks/io_helpers.hpp |
| 65.4% 34/52 | 4/4 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/conversions/from_json.hpp |
| 65.5% 281/429 | 33/40 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/json.hpp |
| 66.1% 37/56 | 3/4 | source/lib/core/mproc.cpp |
| 66.2% 47/71 | 5/5 | source/lib/rocprof-sys/library/pmc/collectors/gpu/gpu_traits.hpp |
| 66.4% 87/131 | 4/5 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/input/parser.hpp |
| 66.9% 79/118 | 15/20 | source/lib/rocprof-sys/library/runtime.cpp |
| 67.1% 106/158 | 14/22 | source/lib/rocprof-sys/library/components/mpi_gotcha.cpp |
| 68.8% 22/32 | 3/8 | source/lib/rocprof-sys/library/pmc/collectors/gpu_perf_counter/types.hpp |
| 69.1% 465/673 | 34/46 | source/bin/rocprof-sys-instrument/details.cpp |
| 69.2% 373/539 | 40/85 | source/lib/rocprof-sys-dl/dl.cpp |
| 69.2% 18/26 | 2/6 | source/lib/core/trace_cache/metadata_registry.hpp |
| 69.2% 9/13 | 0/1 | source/lib/rocprof-sys/library/process_sampler.hpp |
| 69.7% 46/66 | 7/8 | source/lib/rocprof-sys/library/pmc/collectors/base/collector.hpp |
| 70.2% 40/57 | 4/6 | source/lib/core/perfetto.hpp |
| 70.3% 64/91 | 5/7 | source/bin/rocprof-sys-instrument/function_signature.cpp |
| 70.6% 24/34 | 5/9 | source/lib/rocprof-sys/library/components/pthread_gotcha.cpp |
| 71.1% 69/97 | 8/8 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/iterators/iter_impl.hpp |
| 71.4% 10/14 | 1/2 | source/lib/core/containers/aligned_static_vector.hpp |
| 72.6% 722/994 | 52/65 | source/lib/rocprof-sys/library/sampling.cpp |
| 72.7% 24/33 | 5/7 | source/lib/rocprof-sys/library/causal/components/causal_gotcha.cpp |
| 72.7% 32/44 | 5/8 | source/lib/rocprof-sys/library/causal/components/unblocking_gotcha.cpp |
| 73.7% 28/38 | 6/7 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/iterators/iteration_proxy.hpp |
| 74.2% 227/306 | 16/17 | source/bin/common/preset_registry.cpp |
| 74.3% 411/553 | 30/33 | source/lib/rocprof-sys/library/causal/data.cpp |
| 74.5% 35/47 | 4/6 | source/lib/rocprof-sys/library/pmc/collectors/cpu/cpu_traits.hpp |
| 75.0% 15/20 | 5/5 | source/bin/rocprof-sys-instrument/function_signature.hpp |
| 75.0% 3/4 | 0/1 | source/lib/backends/amd_smi/nic_types.hpp |
| 75.0% 18/24 | 4/5 | source/lib/rocprof-sys/library/causal/sample_data.cpp |
| 75.2% 394/524 | 30/40 | source/bin/common/json_config.cpp |
| 75.5% 1159/1536 | 51/87 | source/bin/rocprof-sys-instrument/rocprof-sys-instrument.cpp |
| 75.6% 90/119 | 11/12 | source/lib/core/trace_cache/post_processor.cpp |
| 76.5% 408/533 | 40/41 | source/bin/rocprof-sys-instrument/module_function.cpp |
| 76.6% 49/64 | 5/6 | source/bin/rocprof-sys-instrument/log.cpp |
| 76.8% 53/69 | 5/6 | source/lib/binary/link_map.cpp |
| 77.3% 17/22 | 3/3 | source/lib/common/static_object.hpp |
| 77.4% 328/424 | 35/37 | source/bin/common/common_utils.cpp |
| 77.7% 482/620 | 27/36 | source/lib/rocprof-sys/library.cpp |
| 78.0% 209/268 | 23/25 | source/lib/rocprof-sys/library/causal/sampling.cpp |
| 78.1% 139/178 | 19/25 | source/lib/core/constraint.cpp |
| 78.6% 114/145 | 26/31 | source/lib/rocprof-sys/library/thread_data.hpp |
| 79.1% 201/254 | 24/28 | source/bin/common/tool_runner.cpp |
| 79.2% 19/24 | 2/2 | source/lib/core/node_info.cpp |
| 79.9% 211/264 | 20/22 | source/bin/rocprof-sys-instrument/internal_libs.cpp |
🟢 80-100% (175 files)
| Lines | Functions | File |
|---|---|---|
| 80.0% 4/5 | 0/1 | source/bin/rocprof-sys-instrument/log.hpp |
| 80.5% 62/77 | 9/10 | source/lib/rocprof-sys/library/pmc/device_providers/rocprofiler_sdk/provider.hpp |
| 81.2% 69/85 | 17/22 | source/lib/rocprof-sys/library/causal/components/progress_point.cpp |
| 81.2% 13/16 | 1/1 | source/lib/rocprof-sys-dl/main.c |
| 81.4% 131/161 | 24/27 | source/lib/rocprof-sys/library/thread_info.cpp |
| 81.8% 1417/1732 | 277/302 | source/lib/core/config.cpp |
| 81.8% 81/99 | 11/11 | source/lib/core/perfetto/engine_impl.hpp |
| 82.4% 187/227 | 22/25 | source/bin/rocprof-sys-avail/common.cpp |
| 82.7% 43/52 | 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.0% 317/373 | 18/29 | source/lib/rocprof-sys/library/causal/experiment.cpp |
| 85.1% 74/87 | 14/16 | source/lib/rocprof-sys/library/causal/delay.cpp |
| 86.0% 86/100 | 11/15 | source/lib/logger/logger.hpp |
| 86.0% 80/93 | 5/7 | source/bin/rocprof-sys-instrument/module_function.hpp |
| 86.7% 98/113 | 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.4% 390/446 | 35/47 | source/bin/rocprof-sys-causal/impl.cpp |
| 87.5% 42/48 | 4/5 | source/lib/core/output_file_registry.cpp |
| 87.6% 141/161 | 13/16 | source/lib/backends/procfs/backend.hpp |
| 87.6% 99/113 | 10/11 | source/lib/rocprof-sys/library/tracing.cpp |
| 88.9% 8/9 | 5/6 | source/lib/core/constraint.hpp |
| 89.0% 129/145 | 10/10 | source/lib/rocprof-sys/library/coverage.cpp |
| 89.0% 299/336 | 16/20 | source/lib/rocprof-sys/library/components/pthread_create_gotcha.cpp |
| 89.0% 276/310 | 31/35 | source/lib/common/environment.hpp |
| 89.1% 49/55 | 4/4 | source/lib/rocprof-sys/library/pmc/collectors/gpu_perf_counter/device.hpp |
| 89.1% 221/248 | 23/33 | source/lib/core/sdk/tracing-config.hpp |
| 89.4% 768/859 | 59/74 | source/lib/core/argparse.cpp |
| 89.8% 220/245 | 15/16 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/conversions/to_chars.hpp |
| 90.0% 9/10 | 1/1 | source/lib/binary/scope_filter.cpp |
| 90.0% 54/60 | 4/4 | source/lib/core/trace_cache/buffer_storage.cpp |
| 90.0% 9/10 | 1/1 | source/lib/rocprof-sys/library/thread_deleter.cpp |
| 90.1% 64/71 | 9/11 | source/lib/rocprof-sys/library/components/backtrace.cpp |
| 90.1% 64/71 | 7/10 | source/lib/rocprof-sys/library/components/callchain.cpp |
| 90.7% 234/258 | 11/12 | source/bin/rocprof-sys-avail/generate_config.cpp |
| 90.7% 303/334 | 28/31 | source/lib/core/trace_cache/sample_type.hpp |
| 90.9% 10/11 | 1/2 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/json_ref.hpp |
| 90.9% 20/22 | 2/2 | source/lib/common/setup.hpp |
| 91.0% 243/267 | 19/20 | source/lib/core/trace_cache/unified_memory_processor.cpp |
| 91.3% 178/195 | 14/18 | source/lib/rocprof-sys/library/components/shmem_gotcha.hpp |
| 91.3% 21/23 | 4/5 | source/lib/core/containers/static_vector.hpp |
| 91.5% 107/117 | 5/5 | source/lib/binary/analysis.cpp |
| 91.7% 11/12 | 2/2 | source/lib/core/perfetto/session_backend.hpp |
| 91.9% 102/111 | 8/8 | source/lib/rocprof-sys/library/pmc/collectors/cpu/device.hpp |
| 92.6% 163/176 | 9/9 | source/lib/rocprof-sys/library/pmc/collectors/gpu/device.hpp |
| 92.8% 873/941 | 41/48 | source/bin/rocprof-sys-avail/avail.cpp |
| 92.9% 13/14 | 0/1 | source/lib/rocprof-sys/library/pmc/collectors/common/collector_slice.hpp |
| 92.9% 13/14 | 2/2 | source/lib/rocprof-sys/library/pmc/device_providers/procfs/provider.hpp |
| 93.1% 27/29 | 3/5 | source/lib/rocprof-sys/library/coverage.hpp |
| 93.2% 68/73 | 7/8 | source/lib/core/trace_cache/buffer_storage.hpp |
| 93.3% 111/119 | 16/17 | source/lib/core/perfetto/engine.cpp |
| 93.3% 14/15 | 3/3 | source/lib/core/perfetto/sinks/per_pid_file_sink.cpp |
| 93.4% 239/256 | 28/32 | source/lib/rocprof-sys/library/components/category_region.hpp |
| 93.9% 31/33 | 6/6 | source/lib/core/mpi.hpp |
| 94.1% 16/17 | 3/3 | source/bin/rocprof-sys-avail/component_categories.hpp |
| 94.2% 129/137 | 29/32 | source/lib/backends/rocprofiler_sdk/backend.hpp |
| 94.6% 105/111 | 14/15 | source/lib/common/path.hpp |
| 94.7% 36/38 | 7/7 | build/coverage/_deps/spdlog-src/include/spdlog/logger.h |
| 94.8% 55/58 | 1/5 | source/lib/core/trace_cache/cacheable.hpp |
| 95.0% 19/20 | 4/6 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/string_concat.hpp |
| 95.1% 58/61 | 7/8 | source/lib/rocprof-sys/library/pmc/collectors/cpu/sample.hpp |
| 95.7% 44/46 | 10/12 | source/lib/core/containers/stable_vector.hpp |
| 95.7% 45/47 | 2/2 | source/lib/core/trace_cache/storage_parser.hpp |
| 95.8% 23/24 | 2/4 | source/lib/common/pci_bdf.hpp |
| 95.9% 162/169 | 19/22 | source/lib/rocprof-sys/library/components/ucx_gotcha.hpp |
| 96.1% 74/77 | 6/6 | source/lib/rocprof-sys/library/causal/components/backtrace.cpp |
| 96.2% 25/26 | 1/2 | source/lib/common/delimit.hpp |
| 96.6% 56/58 | 7/7 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/conversions/to_json.hpp |
| 96.7% 59/61 | 9/9 | source/lib/core/utility.hpp |
| 96.8% 30/31 | 3/4 | source/lib/rocprof-sys/library/pmc/collectors/gpu_perf_counter/sample.hpp |
| 96.9% 62/64 | 14/14 | source/lib/core/trace_cache/data_types.cpp |
| 96.9% 94/97 | 10/10 | source/lib/rocprof-sys/library/rocprofiler-sdk/trace_control.cpp |
| 97.0% 32/33 | 4/4 | source/lib/core/perfetto/counter_track.hpp |
| 97.3% 73/75 | 3/3 | source/lib/core/perfetto/packet_framing.hpp |
| 97.4% 74/76 | 6/6 | source/lib/core/common_types.hpp |
| 97.5% 39/40 | 6/7 | source/lib/core/trace_cache/rocpd_helpers.hpp |
| 97.7% 42/43 | 7/11 | source/lib/core/demangler.hpp |
| 97.8% 45/46 | 7/7 | source/lib/rocprof-sys/library/rocprofiler-sdk/rccl_internal.hpp |
| 97.9% 47/48 | 4/4 | source/lib/core/utility.cpp |
| 97.9% 47/48 | 3/3 | source/lib/rocprof-sys/library/pmc/collectors/nic/device.hpp |
| 98.0% 147/150 | 9/10 | source/lib/common/md5sum.hpp |
| 98.1% 51/52 | 7/7 | source/lib/rocprof-sys/library/pmc/device_providers/amd_smi/provider.hpp |
| 98.2% 56/57 | 6/8 | source/lib/rocprof-sys/library/components/pthread_mutex_gotcha.hpp |
| 98.7% 78/79 | 15/16 | source/lib/backends/amd_smi/backend.hpp |
| 100.0% 14/14 | 1/1 | build/coverage/_deps/fmt-src/include/fmt/ostream.h |
| 100.0% 6/6 | 0/3 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/adl_serializer.hpp |
| 100.0% 38/38 | 7/8 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/input/input_adapters.hpp |
| 100.0% 2/2 | 0/1 | build/coverage/_deps/nlohmann_json-src/include/nlohmann/detail/input/position_t.hpp |
| 100.0% 2/2 | 0/1 | build/coverage/_deps/spdlog-src/include/spdlog/details/backtracer.h |
| 100.0% 2/2 | 0/1 | build/coverage/_deps/spdlog-src/include/spdlog/details/circular_q.h |
| 100.0% 1/1 | 0/1 | build/coverage/include/profiler-hub/reader_types.hpp |
| 100.0% 10/10 | 1/2 | build/coverage/include/profiler-hub/writer_types.hpp |
| 100.0% 31/31 | 4/5 | source/bin/common/common_utils.hpp |
| 100.0% 1/1 | 0/1 | source/bin/common/json_config.hpp |
| 100.0% 61/61 | 6/6 | source/bin/rocprof-sys-avail/avail.hpp |
| 100.0% 39/39 | 2/2 | source/bin/rocprof-sys-avail/get_availability.hpp |
| 100.0% 10/10 | 1/1 | source/bin/rocprof-sys-avail/get_categories.hpp |
| 100.0% 4/4 | 1/1 | source/bin/rocprof-sys-avail/info_type.cpp |
| 100.0% 9/9 | 0/1 | source/bin/rocprof-sys-avail/info_type.hpp |
| 100.0% 2/2 | 1/1 | source/bin/rocprof-sys-run/rocprof-sys-run.cpp |
| 100.0% 2/2 | 1/1 | source/bin/rocprof-sys-sample/rocprof-sys-sample.cpp |
| 100.0% 107/107 | 13/14 | source/lib/backends/amd_smi/device.hpp |
| 100.0% 7/7 | 0/1 | source/lib/backends/amd_smi/gpu_types.hpp |
| 100.0% 1/1 | 0/1 | source/lib/backends/rocprofiler_sdk/types.hpp |
| 100.0% 9/9 | 0/1 | source/lib/binary/address_multirange.hpp |
| 100.0% 7/7 | 1/1 | source/lib/binary/binary_info.hpp |
| 100.0% 1/1 | 0/1 | source/lib/binary/dwarf_entry.hpp |
| 100.0% 3/3 | 0/1 | source/lib/binary/link_map.hpp |
| 100.0% 5/5 | 1/2 | source/lib/binary/scope_filter.hpp |
| 100.0% 8/8 | 7/8 | source/lib/binary/symbol.hpp |
| 100.0% 9/9 | 2/2 | source/lib/common/env_vars.hpp |
| 100.0% 12/12 | 1/1 | source/lib/common/join.hpp |
| 100.0% 5/5 | 1/1 | source/lib/common/string_utility.hpp |
| 100.0% 23/23 | 5/6 | source/lib/common/synchronized.hpp |
| 100.0% 3/3 | 1/1 | source/lib/common/units.hpp |
| 100.0% 8/8 | 0/2 | source/lib/common/version.hpp |
| 100.0% 2/2 | 1/2 | source/lib/core/agent_manager.hpp |
| 100.0% 5/5 | 0/2 | source/lib/core/argparse.hpp |
| 100.0% 9/9 | 1/3 | source/lib/core/binary/address_range.hpp |
| 100.0% 49/49 | 10/10 | source/lib/core/categories.cpp |
| 100.0% 11/11 | 11/11 | source/lib/core/components/fwd.hpp |
| 100.0% 26/26 | 3/3 | source/lib/core/config.hpp |
| 100.0% 11/11 | 1/3 | source/lib/core/containers/c_array.hpp |
| 100.0% 1/1 | 0/1 | source/lib/core/containers/operators.hpp |
| 100.0% 2/2 | 2/2 | source/lib/core/node_info.hpp |
| 100.0% 1/1 | 0/1 | source/lib/core/output_file_registry.hpp |
| 100.0% 1/1 | 0/1 | source/lib/core/perfetto/category_registry.hpp |
| 100.0% 1/1 | 0/1 | source/lib/core/perfetto/engine.hpp |
| 100.0% 7/7 | 0/1 | source/lib/core/perfetto/locked_file_append.hpp |
| 100.0% 7/7 | 1/1 | source/lib/core/perfetto/sinks/append_mode.hpp |
| 100.0% 9/9 | 2/3 | source/lib/core/perfetto/sinks/polymorphic_sink_view.hpp |
| 100.0% 6/6 | 2/2 | source/lib/core/perfetto/sinks/recording_sink.cpp |
| 100.0% 5/5 | 0/2 | source/lib/core/perfetto/sinks/recording_sink.hpp |
| 100.0% 4/4 | 2/2 | source/lib/core/perfetto/sinks/single_file_sink.hpp |
| 100.0% 1/1 | 0/1 | source/lib/core/progress/bar.hpp |
| 100.0% 6/6 | 2/2 | source/lib/core/progress/tracker.cpp |
| 100.0% 1/1 | 0/1 | source/lib/core/progress/tracker.hpp |
| 100.0% 85/85 | 11/12 | source/lib/core/state.hpp |
| 100.0% 7/7 | 1/3 | source/lib/core/trace_cache/cache_manager.hpp |
| 100.0% 4/4 | 0/3 | source/lib/core/trace_cache/data_types.hpp |
| 100.0% 9/9 | 3/3 | source/lib/core/trace_cache/type_registry.hpp |
| 100.0% 24/24 | 4/5 | source/lib/core/trace_cache/unified_memory_processor.hpp |
| 100.0% 5/5 | 2/2 | source/lib/core/track_registry.cpp |
| 100.0% 4/4 | 0/2 | source/lib/core/track_registry.hpp |
| 100.0% 10/10 | 1/1 | source/lib/logger/logger.cpp |
| 100.0% 7/7 | 1/2 | source/lib/rocprof-sys/library/causal/components/backtrace.hpp |
| 100.0% 23/23 | 2/3 | source/lib/rocprof-sys/library/causal/components/progress_point.hpp |
| 100.0% 3/3 | 1/2 | source/lib/rocprof-sys/library/causal/experiment.hpp |
| 100.0% 4/4 | 1/1 | source/lib/rocprof-sys/library/causal/selected_entry.cpp |
| 100.0% 5/5 | 2/3 | source/lib/rocprof-sys/library/causal/selected_entry.hpp |
| 100.0% 1/1 | 1/1 | source/lib/rocprof-sys/library/components/backtrace.hpp |
| 100.0% 11/11 | 1/2 | source/lib/rocprof-sys/library/components/backtrace_metrics.hpp |
| 100.0% 4/4 | 0/2 | source/lib/rocprof-sys/library/components/backtrace_timestamp.hpp |
| 100.0% 1/1 | 1/1 | source/lib/rocprof-sys/library/components/callchain.hpp |
| 100.0% 8/8 | 2/2 | source/lib/rocprof-sys/library/components/ensure_storage.hpp |
| 100.0% 1/1 | 0/1 | source/lib/rocprof-sys/library/components/fork_gotcha.hpp |
| 100.0% 2/2 | 0/1 | source/lib/rocprof-sys/library/components/mpi_gotcha.hpp |
| 100.0% 533/533 | 12/12 | source/lib/rocprof-sys/library/components/mpip.hpp |
| 100.0% 3/3 | 0/1 | source/lib/rocprof-sys/library/components/pthread_create_gotcha.hpp |
| 100.0% 24/24 | 1/2 | source/lib/rocprof-sys/library/components/pthread_mutex_gotcha_policy.hpp |
| 100.0% 11/11 | 0/3 | source/lib/rocprof-sys/library/perf.hpp |
| 100.0% 66/66 | 5/5 | source/lib/rocprof-sys/library/pmc/collectors/cpu/cache_policy.hpp |
| 100.0% 3/3 | 0/2 | source/lib/rocprof-sys/library/pmc/collectors/cpu/types.hpp |
| 100.0% 9/9 | 0/2 | source/lib/rocprof-sys/library/pmc/collectors/gpu/types.hpp |
| 100.0% 20/20 | 4/4 | source/lib/rocprof-sys/library/pmc/collectors/nic/perfetto_policy.hpp |
| 100.0% 2/2 | 0/2 | source/lib/rocprof-sys/library/pmc/common/types.hpp |
| 100.0% 34/34 | 3/4 | source/lib/rocprof-sys/library/rocprofiler-sdk/marker_writer.hpp |
| 100.0% 3/3 | 1/2 | source/lib/rocprof-sys/library/rocprofiler-sdk/trace_control.hpp |
| 100.0% 2/2 | 0/1 | source/lib/rocprof-sys/library/runtime.hpp |
| 100.0% 10/10 | 3/3 | source/lib/rocprof-sys/library/thread_data_growth.hpp |
| 100.0% 5/5 | 1/1 | source/lib/rocprof-sys/library/thread_deleter.hpp |
Distribution
| Range | Files |
|---|---|
| 0-20% | 49 |
| 20-50% | 24 |
| 50-80% | 73 |
| 80-100% | 175 |
Motivation
Feedback from - #10418
Perfetto trace output was named
perfetto-trace.proto, but the on-disk content has always been a standard Perfetto binary trace, not a raw.protoschema file. This renames the default output to.pftrace, matching the conventionrocprofv3androcpdalready use, while keepingprotoas a permanent alias so existing scripts and configs keep working.Technical Details
The extension is data, not a code default:
config::get_perfetto_output_filename()parses the extension out of theROCPROFSYS_PERFETTO_FILEsetting, whose default was literallyperfetto-trace.proto. Changing that setting default is therefore the single lever that moves both Perfetto pipelines at once — the legacy live SDK session (get_use_perfetto()) and the cached replay path (get_caching_perfetto(), the default sinceROCPROFSYS_TRACE_LEGACYdefaults to false) — since they share the same filename-composition helpers inconfig.cpp. Scoping the change to only one path was evaluated and rejected: it would have required duplicating ~40 lines of suffix/session-id composition logic.Changes are split into 6 commits:
1d46099fde— core behavior:.pftracedefault extension,pftraceas the canonical--output-formattoken withprotoretained as an alias, and the cached-path merged-trace output renamed tomerged.pftraced5433114ee—scripts/merge-multiprocess-output.shrenamed to targetmerged.pftrace(still accepts.protoinputs for mixed-vintage output directories); also fixes a latent bug where a stalemerged.protofrom a prior run got folded back into the merge as if it were an unmerged per-process tracedc313713d8— C++ unit tests for the new token and theproto/pftracealias equivalence, without touching the existingproto_*tests (their continuing to pass unmodified is the backward-compat guarantee)6cff9d5389— console hints,--helptext, and preset schema description updated to saypftrace9a283c7c3a— pytest harness (runners.py,conftest.py,validators.py) and per-suite expectations updated to.pftrace; cleanup globs deliberately retain.protopatterns so stale artifacts from older builds still get cleanedcb77bb4c9b— docs (how-to guides, output-format overview, unified-memory example README) updated to reference.pftraceAn explicitly configured
ROCPROFSYS_PERFETTO_FILE=....protois still honored verbatim — the new default extension only changes what gets written when nothing is explicitly configured.clang-tidy issues are addressed in the stacked PR, so it is easier to see the logic changes in this PR.
Issue Tracking
JIRA ID - AIPROFSYST-750
Test Plan
output_format.*:single_file_sink.*:per_pid_file_sink.*:locked_file_append.*passes 29/29, including the untouched pre-existingproto_*testsmerged.protoexclusion fix--output-format [ json | pftrace | proto | rocpd | text | txt ]rocprof-sys-sample:--output-format pftraceand--output-format proto(alias) both produce a.pftracefile; an explicitROCPROFSYS_PERFETTO_FILE=my-trace.protooverride is honored verbatim alongside--output-format pftraceTest Result
Unit tests, merge script, and CLI/e2e smoke tests all pass on Ubuntu 26.04. No functional regressions found
E2E Tests
Unit Tests
Submission Checklist