llquantize
Stores the log-linear frequency distribution in an aggregation.
void llquantize(expr, int32_t factor, int32_t from, int32_t to [, int32_t steps [, int32_t incr]])
The llquantize
function is an aggregation function used to display a
log-linear frequency distribution for an expression. The logarithmic base,
factor, is specified along with lower, from, and
upper, to, exponents and the number of steps, steps,
per order of magnitude. If the number of steps isn't provided, a default value of 1 is used.
An optional integer, incr, can be provided to specify the amount to
increment each step by.
The log-linear llquantize
aggregating function combines the capabilities
of both the log and linear functions. While the quantize
function uses base
2 logarithms, with llquantize
, you specify the base, and the minimum and,
maximum exponents. Further, each logarithmic range is subdivided linearly by the number of
steps specified and the increment value, if specified.
Example 7-22 How to use llquantize to visualize system call latencies
syscall:::entry
{
self->ts = timestamp;
}
syscall:::return
/ self->ts /
{
@ = llquantize(timestamp - self->ts, 10, 3, 5, 5);
self->ts = 0;
}
value ------------- Distribution ------------- count
-1000 | 0
abs() < 1000 |@@@@@@@@@@@@@@@ 2888133
1000 |@@@@@ 1017345
2000 |@@@@ 714432
4000 |@ 266057
6000 |@ 118797
8000 | 84332
10000 |@ 152108
20000 |@ 125154
40000 | 49334
60000 | 38374
80000 | 31739
100000 | 91033
200000 | 51153
400000 | 20343
600000 | 10685
800000 | 6970
>= 1000000 |@@@@@@@@@@@ 2081856