|
![](https://seccdn.libravatar.org/avatar/fe11cff032b4e7558bdfe5f7f1b6fa3166a00faecacd35fbef2218e0463b5f3f?s=16&d=retro) |
71040c9 |
#!/usr/bin/stap
|
|
![](https://seccdn.libravatar.org/avatar/fe11cff032b4e7558bdfe5f7f1b6fa3166a00faecacd35fbef2218e0463b5f3f?s=16&d=retro) |
71040c9 |
|
|
![](https://seccdn.libravatar.org/avatar/fe11cff032b4e7558bdfe5f7f1b6fa3166a00faecacd35fbef2218e0463b5f3f?s=16&d=retro) |
71040c9 |
global fn_calls;
|
|
![](https://seccdn.libravatar.org/avatar/fe11cff032b4e7558bdfe5f7f1b6fa3166a00faecacd35fbef2218e0463b5f3f?s=16&d=retro) |
71040c9 |
|
|
![](https://seccdn.libravatar.org/avatar/fe11cff032b4e7558bdfe5f7f1b6fa3166a00faecacd35fbef2218e0463b5f3f?s=16&d=retro) |
71040c9 |
probe python.function.entry
|
|
![](https://seccdn.libravatar.org/avatar/fe11cff032b4e7558bdfe5f7f1b6fa3166a00faecacd35fbef2218e0463b5f3f?s=16&d=retro) |
71040c9 |
{
|
|
![](https://seccdn.libravatar.org/avatar/fe11cff032b4e7558bdfe5f7f1b6fa3166a00faecacd35fbef2218e0463b5f3f?s=16&d=retro) |
71040c9 |
fn_calls[pid(), filename, funcname, lineno] += 1;
|
|
![](https://seccdn.libravatar.org/avatar/fe11cff032b4e7558bdfe5f7f1b6fa3166a00faecacd35fbef2218e0463b5f3f?s=16&d=retro) |
71040c9 |
}
|
|
![](https://seccdn.libravatar.org/avatar/fe11cff032b4e7558bdfe5f7f1b6fa3166a00faecacd35fbef2218e0463b5f3f?s=16&d=retro) |
71040c9 |
|
|
![](https://seccdn.libravatar.org/avatar/fe11cff032b4e7558bdfe5f7f1b6fa3166a00faecacd35fbef2218e0463b5f3f?s=16&d=retro) |
71040c9 |
probe timer.ms(1000) {
|
|
![](https://seccdn.libravatar.org/avatar/fe11cff032b4e7558bdfe5f7f1b6fa3166a00faecacd35fbef2218e0463b5f3f?s=16&d=retro) |
71040c9 |
printf("\033[2J\033[1;1H") /* clear screen */
|
|
![](https://seccdn.libravatar.org/avatar/fe11cff032b4e7558bdfe5f7f1b6fa3166a00faecacd35fbef2218e0463b5f3f?s=16&d=retro) |
71040c9 |
printf("%6s %80s %6s %30s %6s\n",
|
|
![](https://seccdn.libravatar.org/avatar/fe11cff032b4e7558bdfe5f7f1b6fa3166a00faecacd35fbef2218e0463b5f3f?s=16&d=retro) |
71040c9 |
"PID", "FILENAME", "LINE", "FUNCTION", "CALLS")
|
|
![](https://seccdn.libravatar.org/avatar/fe11cff032b4e7558bdfe5f7f1b6fa3166a00faecacd35fbef2218e0463b5f3f?s=16&d=retro) |
71040c9 |
foreach ([pid, filename, funcname, lineno] in fn_calls- limit 20) {
|
|
![](https://seccdn.libravatar.org/avatar/fe11cff032b4e7558bdfe5f7f1b6fa3166a00faecacd35fbef2218e0463b5f3f?s=16&d=retro) |
71040c9 |
printf("%6d %80s %6d %30s %6d\n",
|
|
![](https://seccdn.libravatar.org/avatar/fe11cff032b4e7558bdfe5f7f1b6fa3166a00faecacd35fbef2218e0463b5f3f?s=16&d=retro) |
71040c9 |
pid, filename, lineno, funcname,
|
|
![](https://seccdn.libravatar.org/avatar/fe11cff032b4e7558bdfe5f7f1b6fa3166a00faecacd35fbef2218e0463b5f3f?s=16&d=retro) |
71040c9 |
fn_calls[pid, filename, funcname, lineno]);
|
|
![](https://seccdn.libravatar.org/avatar/fe11cff032b4e7558bdfe5f7f1b6fa3166a00faecacd35fbef2218e0463b5f3f?s=16&d=retro) |
71040c9 |
}
|
|
![](https://seccdn.libravatar.org/avatar/fe11cff032b4e7558bdfe5f7f1b6fa3166a00faecacd35fbef2218e0463b5f3f?s=16&d=retro) |
71040c9 |
|
|
![](https://seccdn.libravatar.org/avatar/fe11cff032b4e7558bdfe5f7f1b6fa3166a00faecacd35fbef2218e0463b5f3f?s=16&d=retro) |
71040c9 |
delete fn_calls;
|
|
![](https://seccdn.libravatar.org/avatar/fe11cff032b4e7558bdfe5f7f1b6fa3166a00faecacd35fbef2218e0463b5f3f?s=16&d=retro) |
71040c9 |
}
|