Manuel de suivi dynamique Solaris

Utilisation de groupements

Tel que décrit dans le Chapitre9Groupements, les groupements DTrace offrent une méthode évolutive de regroupement de données. Des ensembles associatifs peuvent sembler offrir des fonctions similaires aux groupements. Cependant, en raison de leur nature globale propre aux variables universelles, ils n'offrent pas l'évolutivité linéaire des groupements. Dans la mesure du possible, privilégiez donc l'utilisation de groupements sur les ensembles associatifs. L'exemple suivant n'est pas recommandé :

syscall:::entry
{
	totals[execname]++;
}

syscall::rexit:entry
{
	printf("%40s %d\n", execname, totals[execname]);
	totals[execname] = 0;
}

L'exemple suivant est préférable :

syscall:::entry
{
	@totals[execname] = count();
}

END
{
	printa("%40s %@d\n", @totals);
}