#!/usr/bin/env ktap var self = {} var count_max = 0 var count_min = 0 var count_num = 0 var total_time = 0 printf("measure time(us) of function vfs_read\n"); trace probe:vfs_read { if (execname == "ktap") { return } self[tid] = gettimeofday_us() } trace probe:vfs_read%return { if (execname == "ktap") { return } if (self[tid] == nil) { return } var durtion = gettimeofday_us() - self[tid] if (durtion > count_max) { count_max = durtion } var min = count_min if (min == 0 || durtion < min) { count_min = durtion } count_num = count_num + 1 total_time = total_time + durtion self[tid] = nil } trace_end { var avg if (count_num == 0) { avg = 0 } else { avg = total_time/count_num } printf("avg\tmax\tmin\n"); printf("-------------------\n") printf("%d\t%d\t%d\n", avg, count_max, count_min) }