This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
One case that people would like to use SystemTap for is finding out why some latency sensitive application is slowed down every x seconds. They know that something keeps running on the machine and slowing things down, but they don't know what it is. I have been playing around with the timer tracepoints and came up with the attached script, periodic.stp. When the script exits it prints out a list of the periodic timers, sorted from most frequently to least frequently fired timer. It also include the average period for the timer. The functions that have [dg] are things put into the delayed_work_queues. Here is the example output: $ ./periodic.stp -c "sleep 10" WARNING: missing unwind/symbol data for module 'uprobes' #timer function period(us) count 0xffffe8ffffc118a8 0xffffffffa0e38d30 1000 10000 0xffffe8ffffc918a8 0xffffffffa0e38d30 1000 10000 0xffffe8ffffd118a8 0xffffffffa0e38d30 999 10000 0xffffe8ffffd918a8 0xffffffffa0e38d30 999 10000 0xffff880028216fa8 do_dbs_timer[dq] 10000 999 0xffffffffa115e960 0xffffffffa0e38c10 10000 999 0xffff880028296fa8 do_dbs_timer[dq] 9999 999 0xffff880028316fa8 do_dbs_timer[dq] 10000 999 0xffff880028396fa8 do_dbs_timer[dq] 9999 999 0xffffffffa115e9c0 0xffffffffa0e38b50 19999 499 0xffff880130c9fe50 monitor_timeout 200002 49 0xffffffff81ea3b20 clocksource_watchdog 499993 19 0xffff880028212d40 vmstat_update[dq] 999963 9 0xffff880132cf9318 br_fdb_cleanup 999962 9 0xffff880028292d40 vmstat_update[dq] 999999 9 0xffff880028312d40 vmstat_update[dq] 1000000 9 0xffff880028392d40 vmstat_update[dq] 1000002 9 0xffff8801303c96c0 i915_gem_retire_work_handler[dq] 1000001 9 0xffff88013156e128 flush_to_ldisc[dq] 113108 8 0xffff880130315928 flush_to_ldisc[dq] 180399 5 0xffff8801303c97e8 intel_gpu_idle_timer 1607001 5 0xffff880028212de0 cache_reap[dq] 1999911 4 0xffff880132cf9228 br_hello_timer_expired 2000003 4 0xffff880028292de0 cache_reap[dq] 2000002 4 0xffff8801336f06e0 e1000_watchdog 2000000 4 0xffff880028312de0 cache_reap[dq] 1999994 4 0xffff880028392de0 cache_reap[dq] 2000000 4 0xffff880131767e18 cupsd(10171) 1500570 4 0xffff880130303540 intel_crtc_idle_timer 3658003 2 0xffff8801303ca540 intel_crtc_idle_timer 3658001 2 0xffff880134d2fdf0 bdi-default(29) 5000032 1 0xffff8801336f0358 dev_watchdog 5000050 1 0xffffffff81fab180 sync_supers_timer_fn 5999999 1 0xffff88012e1b0b58 cfq_idle_slice_timer 4152994 1 0xffff880130161dc0 ips-adjust(874) 4999998 1 0xffff880130c21dc0 flush-253:0(1347) 5000016 1 0xffff880130c4fdc0 flush-253:4(1348) 5000015 1 What do people think of the script? Any suggestion on improvements before checking it into the examples? -Will
Attachment:
periodic.stp
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |