instrumentation: include functions with specific calls (#202)
* instrumentation: include functions with specific calls Add the option `--caller-include <regex>` or environment variable `OMNITRACE_REGEX_CALLER_INCLUDE` to instrument functions which contain call to a set of functions, E.g. `--caller-include foo` instruments any function which calls `foo`. * Serialize caller include information * Add test for caller include * Tweak to the caller include test - tweak environment - tweak pass regexes * Set rewrite caller example to debug , to avoid optimizing out the call expressions that it relies on. Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
This commit is contained in:
@@ -678,6 +678,27 @@ omnitrace_add_test(
|
||||
ENVIRONMENT "${_base_environment};OMNITRACE_CRITICAL_TRACE=OFF"
|
||||
REWRITE_FAIL_REGEX "0 instrumented loops in procedure transpose")
|
||||
|
||||
omnitrace_add_test(
|
||||
SKIP_PRELOAD SKIP_RUNTIME SKIP_SAMPLING
|
||||
NAME rewrite-caller
|
||||
TARGET rewrite-caller
|
||||
LABELS "caller-include"
|
||||
REWRITE_ARGS
|
||||
-e
|
||||
-i
|
||||
256
|
||||
--caller-include
|
||||
"^inner"
|
||||
-v
|
||||
2
|
||||
--print-instrumented
|
||||
functions
|
||||
RUN_ARGS 17
|
||||
ENVIRONMENT "${_base_environment};OMNITRACE_COUT_OUTPUT=ON"
|
||||
BASELINE_PASS_REGEX "number of calls made = 17"
|
||||
REWRITE_PASS_REGEX "\\[function\\]\\[Forcing\\] caller-include-regex :: 'outer'"
|
||||
REWRITE_RUN_PASS_REGEX ">>> ._outer ([ \\|]+) 17")
|
||||
|
||||
set(OMNITRACE_ROCM_EVENTS_TEST
|
||||
"GRBM_COUNT,GPUBusy,SQ_WAVES,SQ_INSTS_VALU,VALUInsts,TCC_HIT_sum,TA_TA_BUSY[0]:device=0,TA_TA_BUSY[11]:device=0"
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user