随笔-调试-systemtap 使用示例

测量函数执行时长:

  1. 查找函数符号

很多情况下,代码在执行时,其函数符号并不一定是代码中写的名称,因此我们可以使用以下脚本打印 出应用程序中在调用的函数符号

echo.stp
probe process("/data0/app").function("*") {
  println(probefunc())
}
  1. 统计函数耗时
func-latency.stp
global sloth

probe process("/lx001/app0").function("xx").return {
  sloth <<< gettimeofday_us() - @entry(gettimeofday_us())
}

probe timer.s(10) {
  print(@hist_log(sloth))
}
  • @entry: .return探针中特殊操作符,用于存储该探针的入口处的表达式的值
  • hist_log 以2为底指数分布的直方图,hist_linear是另外一种直方图表示函数

REFERENCE:

posted @ 2023-11-17 23:27  LiYanbin  阅读(22)  评论(0编辑  收藏  举报