3e2fa69a14
* 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
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)
|