Solaris Dynamic Tracing Guide

Printing Aggregations

By default, multiple aggregations are displayed in the order they are introduced in the D program. You can override this behavior using the printa() function to print the aggregations. The printa() function also enables you to precisely format the aggregation data using a format string, as described in Chapter 12, Output Formatting.

If an aggregation is not formatted with a printa() statement in your D program, the dtrace command will snapshot the aggregation data and print the results once after tracing has completed using the default aggregation format. If a given aggregation is formatted using a printa() statement, the default behavior is disabled. You can achieve equivalent results by adding the statement printa(@aggregation-name) to a dtrace:::END probe clause in your program. The default output format for the avg(), count(), min(), max(), and sum() aggregating functions displays an integer decimal value corresponding to the aggregated value for each tuple. The default output format for the lquantize() and quantize() aggregating functions displays an ASCII table of the results. Aggregation tuples are printed as if trace() had been applied to each tuple element.