b65f8e7605
* Update perfetto args.gn.in
- remove enable_perfetto_tools_trace_to_text (unused)
* core timeout implementation
- requires OMNITRACE_CI=ON
- requires OMNITRACE_CI_TIMEOUT=<sec>
- adds pthread_self and std::this_thread::get_id to thread info
- pthread_create_gotcha stores native handles (pthread_self)
* Testing updates
- improve detection of segfault/failures with PASS_REGEX exists
- add OMNITRACE_CI_TIMEOUT env variable to all tests
* Line-info in releases
- e.g. -g1 + more options to minimize size of debug info
* Fix typo in config exit action message
* OMNITRACE_UNLIKELY around debug/verbose messages
* format fixes
* Overflow tests + capability check
* transpose example update
- link to threads library
* roctracer/rocprofiler update
- in ROCm 5.5.0, cannot include rocprofiler.h and roctracer.h in same file due to conflicting enum defs
- Moved HSA tracing setup/shutdown to component::roctracer
* roctracer update
- fix definition of roctracer::setup when disabled
* Update fork example
- detach threads on main PID
- flush io outputs when printing info
* Update overflow tests
- pass regular expressions
- overflow on PERF_COUNT_SW_CPU_CLOCK event
* fork gotcha update
- use getpid() instead of getppid()
* update fork example
- wait on threads calling fork
* timeout update
- wait on timeout thread to launch before proceeding
[ROCm/rocprofiler-systems commit: 3e2fa69a14]
115 lines
2.7 KiB
CMake
115 lines
2.7 KiB
CMake
# -------------------------------------------------------------------------------------- #
|
|
#
|
|
# time-window tests
|
|
#
|
|
# -------------------------------------------------------------------------------------- #
|
|
|
|
if(_OS_RELEASE STREQUAL "ubuntu-18.04")
|
|
set(_TRACE_WINDOW_SKIP SKIP_RUNTIME)
|
|
endif()
|
|
|
|
omnitrace_add_test(
|
|
SKIP_BASELINE SKIP_SAMPLING ${_TRACE_WINDOW_SKIP}
|
|
NAME trace-time-window
|
|
TARGET trace-time-window
|
|
REWRITE_ARGS -e -v 2 --caller-include inner -i 4096
|
|
RUNTIME_ARGS -e -v 1 --caller-include inner -i 4096
|
|
LABELS "time-window"
|
|
ENVIRONMENT "${_window_environment};OMNITRACE_TRACE_DURATION=1.25")
|
|
|
|
omnitrace_add_validation_test(
|
|
NAME trace-time-window-binary-rewrite
|
|
TIMEMORY_METRIC "wall_clock"
|
|
TIMEMORY_FILE "wall_clock.json"
|
|
PERFETTO_METRIC "host"
|
|
PERFETTO_FILE "perfetto-trace.proto"
|
|
LABELS "time-window"
|
|
FAIL_REGEX "outer_d|OMNITRACE_ABORT_FAIL_REGEX"
|
|
ARGS -l
|
|
trace-time-window.inst
|
|
outer_a
|
|
outer_b
|
|
outer_c
|
|
-c
|
|
1
|
|
1
|
|
1
|
|
1
|
|
-d
|
|
0
|
|
1
|
|
1
|
|
1
|
|
-p)
|
|
|
|
omnitrace_add_validation_test(
|
|
NAME trace-time-window-runtime-instrument
|
|
TIMEMORY_METRIC "wall_clock"
|
|
TIMEMORY_FILE "wall_clock.json"
|
|
PERFETTO_METRIC "host"
|
|
PERFETTO_FILE "perfetto-trace.proto"
|
|
LABELS "time-window"
|
|
FAIL_REGEX "outer_d|OMNITRACE_ABORT_FAIL_REGEX"
|
|
ARGS -l
|
|
trace-time-window
|
|
outer_a
|
|
outer_b
|
|
outer_c
|
|
-c
|
|
1
|
|
1
|
|
1
|
|
1
|
|
-d
|
|
0
|
|
1
|
|
1
|
|
1
|
|
-p)
|
|
|
|
omnitrace_add_test(
|
|
SKIP_BASELINE SKIP_SAMPLING ${_TRACE_WINDOW_SKIP}
|
|
NAME trace-time-window-delay
|
|
TARGET trace-time-window
|
|
REWRITE_ARGS -e -v 2 --caller-include inner -i 4096
|
|
RUNTIME_ARGS -e -v 1 --caller-include inner -i 4096
|
|
LABELS "time-window"
|
|
ENVIRONMENT
|
|
"${_window_environment};OMNITRACE_TRACE_DELAY=0.75;OMNITRACE_TRACE_DURATION=0.75")
|
|
|
|
omnitrace_add_validation_test(
|
|
NAME trace-time-window-delay-binary-rewrite
|
|
TIMEMORY_METRIC "wall_clock"
|
|
TIMEMORY_FILE "wall_clock.json"
|
|
PERFETTO_METRIC "host"
|
|
PERFETTO_FILE "perfetto-trace.proto"
|
|
LABELS "time-window"
|
|
ARGS -l
|
|
outer_c
|
|
outer_d
|
|
-c
|
|
1
|
|
1
|
|
-d
|
|
0
|
|
0
|
|
-p)
|
|
|
|
omnitrace_add_validation_test(
|
|
NAME trace-time-window-delay-runtime-instrument
|
|
TIMEMORY_METRIC "wall_clock"
|
|
TIMEMORY_FILE "wall_clock.json"
|
|
PERFETTO_METRIC "host"
|
|
PERFETTO_FILE "perfetto-trace.proto"
|
|
LABELS "time-window"
|
|
ARGS -l
|
|
outer_c
|
|
outer_d
|
|
-c
|
|
1
|
|
1
|
|
-d
|
|
0
|
|
0
|
|
-p)
|