agent-enviroments/builder/libs/seastar/debug/task-latency.stap
2024-09-10 17:06:08 +03:00

25 lines
563 B
Plaintext
Executable File

#!/usr/bin/stap
# usage: task_latency.stap process_name latency_threshold_ms
global start_time
probe process(@1).mark("reactor_run_tasks_single_start") {
start_time[tid()] = gettimeofday_us()
}
probe process(@1).mark("reactor_run_tasks_single_end") {
delete start_time[tid()]
}
probe timer.profile {
if ([tid()] in start_time) {
now = gettimeofday_us()
start = start_time[tid()]
if ((now - start) > $2 * 1000) {
printf("detected tasks running for >%sms\n", @2)
print_usyms(ubacktrace())
}
}
}