SystemTap

提供: Wikinote
2009年7月28日 (火) 23:20時点におけるHagio (トーク | 投稿記録)による版

移動: 案内検索

ついに伝家の宝刀 (でも諸刃の剣) を抜く時が来たようだ…。

参考 URL

  • SystemTap 公式ページ。Documentation と Wiki を見ればとりあえず事足りる。

覚え書き

基本形

文法は、awk に似ている。begin/end はオプション。

#!/usr/bin/stap -v

probe begin {
    ...
}

probe kernel.function("sys_*") {
    printf("%s[%d] called %s", execname(), pid(), pp())
}

probe end {
    ...
}

組み込み関数

使えそうなものを挙げておく。詳細やすべてのリストは man stapfuncs を参照のこと。

  • cpu() — 現在の CPU 番号
  • execname() — 現在のプロセス名
  • gettimeofday_s() — UNIX epoch からの経過秒数
  • ctime() — ctime(gettimeofday_s()) で現在の時刻を表示
  • pp() — probe point の情報
  • probefunc() — probe した関数名
  • probemod() — probe したモジュール名