Calculate the Mean of CPU Time
Calculate the sum of all numbers (mean) of the CPU time
Query
avg(field=cputimeNanos)
| cputime := (_avg/1000000)
| format("%,.2f", field=_avg, as=_avg)
Introduction
CPU time is the exact amount of time that the CPU has spent
processing data for a specific program or process. In this example
the avg()
function is used to calculate the
sum of all numbers; the mean of the CPU Time.
Step-by-Step
Starting with the source repository events.
- flowchart LR; %%{init: {"flowchart": {"defaultRenderer": "elk"}} }%% repo{{Events}} 0{{Aggregate}} 1>Augment Data] 2>Augment Data] result{{Result Set}} repo --> 0 0 --> 1 1 --> 2 2 --> result style 0 fill:#ff0000,stroke-width:4px,stroke:#000;logscale
avg(field=cputimeNanos)
Calculates the mean of the field cputimeNanos. This can be run in the humio system repository to get the average time spent in nanoseconds for different activities. The mean is calculated by summing all of the values in the cputimeNanos field and dividing by the number of values across all events.
- flowchart LR; %%{init: {"flowchart": {"defaultRenderer": "elk"}} }%% repo{{Events}} 0{{Aggregate}} 1>Augment Data] 2>Augment Data] result{{Result Set}} repo --> 0 0 --> 1 1 --> 2 2 --> result style 1 fill:#ff0000,stroke-width:4px,stroke:#000;logscale
| cputime := (_avg/1000000)
Calculates the average CPU time to milliseconds to make it easier to read.
- flowchart LR; %%{init: {"flowchart": {"defaultRenderer": "elk"}} }%% repo{{Events}} 0{{Aggregate}} 1>Augment Data] 2>Augment Data] result{{Result Set}} repo --> 0 0 --> 1 1 --> 2 2 --> result style 2 fill:#ff0000,stroke-width:4px,stroke:#000;logscale
| format("%,.2f", field=_avg, as=_avg)
Overwrites the field _avg to contain the _avg field to show only two decimals.
Event Result set.
Summary and Results
The query is used to averaging the field containing the CPU
value. This value is then piped to the
format()
function, which provides a
formatting code — how the field value should be formatted.
In this example, it formats the value to two decimal.
Calculation of CPU times is useful to determine processing power
- for example if troubleshooting a system with high CPU usage.
Sample output from the incoming example data:
_avg |
---|
0.14 |