Files
rocm-systems/source/lib/rocprofiler-sdk-tool
Madsen, Jonathan 640ca55ac0 [CI] Testing stability (#486)
* [CI] Testing Stability

- CMake option ROCPROFILER_DISABLE_UNSTABLE_CTESTS
  - used for tests which periodically fail around 1 out of every 10 runs
  - set to ON while instability remains, this needs to set to OFF in ROCm 7.1 or, ideally, ROCm 7.0.1
- Use FIXTURES_SETUP and FIXTURES_REQUIRED for some tests
- replace "threw an exception" with "${ROCPROFILER_DEFAULT_FAIL_REGEX}" for misc FAIL_REGULAR_EXPRESSIONS

* Remove contents of all EXCLUDE_{TESTS,LABEL}_REGEX from CI workflow

* Disable patch git step in code-coverage run

* Tweak spin time of reproducible runtime

* Removed patch git step in code-coverage run

* Update ROCPROFILER_DEFAULT_FAIL_REGEX

* Mark test-counter-collection tests as unstable

- add fixtures setup/required

* Remove ATTACHED_FILES_ON_FAIL

- CDash doesn't store enable downloading these properly anyway

* Relax collection-period fuzzing window

* Disable unstable collection-period test

- too unstable

* formatting

* Disable unstable device_counting_service_test.async_counters

* Suppress perfetto internal data race errors

* Switch code-coverage CI jobs to mi300 runner

* Timeout increases

* rocprofv3-test-rocpd updates

- add fixtures
- switch executable
- redefine input/output paths

* Revert code-coverage job to mi300a runner

* Update rocprofv3-test-rocpd-execute-multiproc

- reduce problem size

* disable multiproc rocpd

* Split code-coverage into separate workflow

- network issues cause this job to fail frequently
- when in a separate workflow, it can be restarted easily

* Fixtures for rocprofv3-test-trace-hip-in-libraries

* Disable unstable device_counting_service_test.sync_counters

* Potential fix for code scanning alert no. 171: Workflow does not contain permissions

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>

* Switch code-coverage to run on rocprof-azure

- mi300a EMU runner set is unstable (network issues)

* tests/rocprofv3/pc-sampling SKIP_REGULAR_EXPRESSION

* Update rocprofv3-test-list-avail-trace-execute

- reduce log level and increase timeout

* rocprofv3: Prevent recursive call to rocprofv3_error_signal_handler + log chaining

* rocprofv3: Use ROCP_ERROR + std::exit instead of ROCP_FATAL

- should help with SKIP_REGULAR_EXPRESSION

---------

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
2025-06-30 15:07:37 -05:00
..
2024-01-22 19:06:25 -06:00
2025-06-30 15:07:37 -05:00

ROCProfiler Tool Library

This is a tool that gets registered with the rocprofiler to obtain its services. The tool is built as a shared library and is named as rocprofiler-sdk-tool. The library can be preloaded using LD_PRELOAD to facilitate its registration as a tool with the rocprofiler.

The user through rocprofv3 script can select the options to obtain tracing and counter collection services from the rocprofiler.

Currently, this tool supports kernel trace and the hsa-api trace. The tool uses the following environment variables to read the user choices.

  • ROCPROF_KERNEL_TRACE=1 to obtain kernel trace
  • ROCPROF_HSA_API_TRACE=1 to obtain hsa api trace

The user can also specify the output filename and output file path to which the traces are written to.

  • ROCPROF_OUTPUT_PATH=<directory> to set the output directory path
  • ROCPROF_OUTPUT_FILE_NAME=<filename-without-extension> to set the output file name

CHANGELOG

The tool design is similar to its earlier versions. However, not all features that the earlier versions supported are supported by this tool.