Partager l'article ! Timer in Dtrace script: Comment faire avec Dtrace pour calculer le nombre de processus initié par un démon sur une période do ...
Comment faire avec Dtrace pour calculer le nombre de processus initié par un démon sur une période donnée ? Deux providers répondent à cette problématique : le provider profile et le provider tick. La différence entre ces deux providers est la suivante : profile se déclenche à chaque intervalle défini sur chaque CPU alors que le provider tick se déclenche que sur une seule CPU à chaque intervalle (La CPU concernée peut changer).
1er exemple avec le provider tick. J'utilise le démon sshd (son pid correspond à 449).
# cat timer-tick.d
#!/usr/sbin/dtrace -qs
proc:::create
/ pid == 449 /
{
@counts["sshd fork"] = count();
}
tick-1m
{
exit(0);
}
On vérifie le résultat
# ptime ./timer-tick.d
sshd fork 3
real 1:00.473
user 0.205
sys 0.277
2ème exemple avec le provider profile. J'utilise toujours le démon sshd (toujours le même pid).
# cat timer-tick.d
#!/usr/sbin/dtrace -qs
proc:::create
/ pid == 449 /
{
@counts["sshd fork"] = count();
}
profile-1m
{
exit(0);
}
On vérifie de nouveau le résultat
# ptime ./timer-profile.d
sshd fork 5
real 1:00.477
user 0.206
sys 0.261
Cet article est un petit clin d'oeil à une question posée par un collègue.
| Juin 2012 | ||||||||||
| L | M | M | J | V | S | D | ||||
| 1 | 2 | 3 | ||||||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 | ||||
| 11 | 12 | 13 | 14 | 15 | 16 | 17 | ||||
| 18 | 19 | 20 | 21 | 22 | 23 | 24 | ||||
| 25 | 26 | 27 | 28 | 29 | 30 | |||||
|
||||||||||