Documentation for CPU performance metrics.
Percentage of time spent running a virtual CPU for a guest OS (virtual machine).
Note: Time is measured in units of USER_HZ
, which is 1/100th of a second (a jiffy
) on most architectures.
Min | Max | Units | Metric Type | Data Type |
---|---|---|---|---|
0 | 1 | percent | derived | percentage |
Average percentage of time spent running a virtual CPU for a guest OS (virtual machine) across all CPUs.
Note: Time is measured in units of USER_HZ
, which is 1/100th of a second (a jiffy
) on most architectures.
Min | Max | Units | Metric Type | Data Type |
---|---|---|---|---|
0 | 1 | percent | derived | percentage |
Percentage of time spent running a virtual CPU for a guest OS (virtual machine) with a positive niceness value (low priority).
Note: Time is measured in units of USER_HZ
, which is 1/100th of a second (a jiffy
) on most architectures. Nice values have an inverse relationship to priority: processes with highly positive nice values are lower priority, while those with negative nice values are high priority. This value is used by the OS when scheduling tasks for an overloaded processor.
Min | Max | Units | Metric Type | Data Type |
---|---|---|---|---|
0 | 1 | percent | derived | percentage |
Average percentage of time spent running a virtual CPU for a guest OS (virtual machine) with a positive niceness value (low priority).
Note: Time is measured in units of USER_HZ
, which is 1/100th of a second (a jiffy
) on most archictures. Nice values have an inverse relation to priority: processes with highly positive nice values are lower priority, while those with negative nice values are high priority. This value is used by the OS when scheduling tasks for an overloaded processor.
Min | Max | Units | Metric Type | Data Type |
---|---|---|---|---|
0 | 1 | percent | derived | percentage |
Percentage of time CPU spent idle.
Note: Time is measured in units of USER_HZ
, which is 1/100th of a second (a jiffy
) on most architectures.
Min | Max | Units | Metric Type | Data Type |
---|---|---|---|---|
0 | 1 | percent | derived | percentage |
Average percentage of time spent idle across all CPUs.
Note: Time is measured in units of USER_HZ
, which is 1/100th of a second (a jiffy
) on most architectures.
Min | Max | Units | Metric Type | Data Type |
---|---|---|---|---|
0 | 1 | percent | derived | percentage |
Number of interrupts handled by CPU. An interrupt occurs when hardware or software sends a signal to the processor telling it to temporarily halt what it is currently executing and perform some other task.
Min | Max | Units | Metric Type | Data Type |
---|---|---|---|---|
0 | MAX_UNSIGNED_LONG |
interrupts | raw | count |
Average number of interrupts across all CPUs. An interrupt occurs when hardware or software sends a signal to the processor telling it to temporarily halt what it is currently executing and perform some other task.
Min | Max | Units | Metric Type | Data Type |
---|---|---|---|---|
0 | MAX_UNSIGNED_LONG |
interrupts | derived | count |
Percentage of time processor is waiting for I/O operations to complete.
Note: Time is measured in units of USER_HZ
, which is 1/100th of a second (a jiffy
) on most architectures.
Min | Max | Units | Metric Type | Data Type |
---|---|---|---|---|
0 | 1 | percent | derived | percentage |
Average percentage of time processors are waiting for I/O operations, across all CPUs.
Note: Time is measured in units of USER_HZ
, which is 1/100th of a second (a jiffy
) on most architectures.
Min | Max | Units | Metric Type | Data Type |
---|---|---|---|---|
0 | 1 | percent | derived | percentage |
Percentage of time spent dealing with hardware interrupts.
Note: Time is measured in units of USER_HZ
, which is 1/100th of a second (a jiffy
) on most architectures.
Min | Max | Units | Metric Type | Data Type |
---|---|---|---|---|
0 | 1 | percent | derived | percentage |
Average percentage of time spent dealing with hardware interrupts across all CPUs.
Note: Time is measured in units of USER_HZ
, which is 1/100th of a second (a jiffy
) on most architectures.
Min | Max | Units | Metric Type | Data Type |
---|---|---|---|---|
0 | 1 | percent | derived | percentage |
Percentage of time executing tasks in user mode with a positive nice value (tasks with a low priority).
Note: Time is measured in units of USER_HZ
, which is 1/100th of a second (a jiffy
) on most architectures. Nice values have an inverse relation to priority: processes with highly positive nice values are lower priority, while those with negative nice values are high priority. This value is used by the OS when scheduling tasks for an overloaded processor.
Min | Max | Units | Metric Type | Data Type |
---|---|---|---|---|
0 | 1 | percent | derived | percentage |
Average percentage of time executing tasks in user mode with a positive nice value (tasks with low priority).
Note: Time is measured in units of USER_HZ
, which is 1/100th of a second (a jiffy
) on most architectures. Nice values have an inverse relation to priority: processes with highly positive nice values are lower priority, while those with negative nice values are high priority. This value is used by the OS when scheduling tasks for an overloaded processor.
Min | Max | Units | Metric Type | Data Type |
---|---|---|---|---|
0 | 1 | percent | derived | percentage |
Number of processes currently waiting for I/O operation to complete.
Min | Max | Units | Metric Type | Data Type |
---|---|---|---|---|
0 | MAX_UNSIGNED_LONG |
processes | raw | count |
Average number of processes waiting for I/O operations to complete across all CPUs.
Min | Max | Units | Metric Type | Data Type |
---|---|---|---|---|
0 | MAX_UNSIGNED_LONG |
processes | derived | count |
Number of processes currently executing on processor.
Min | Max | Units | Metric Type | Data Type |
---|---|---|---|---|
0 | MAX_UNSIGNED_LONG |
processes | raw | count |
Average number of processes currently executing across all CPUs.
Min | Max | Units | Metric Type | Data Type |
---|---|---|---|---|
0 | MAX_UNSIGNED_LONG |
processes | derived | count |
Percentage of time spent dealing with software interrupts.
Note: Time is measured in units of USER_HZ
, which is 1/100th of a second (a jiffy
) on most architectures.
Min | Max | Units | Metric Type | Data Type |
---|---|---|---|---|
0 | 1 | percent | derived | percentage |
Average percentage of time spent dealing with software interrupts across all CPUs.
Note: Time is measured in units of USER_HZ
, which is 1/100th of a second (a jiffy
) on most architectures.
Min | Max | Units | Metric Type | Data Type |
---|---|---|---|---|
0 | 1 | percent | derived | percentage |
Average percentage of time spent in "involuntary wait". This is time that cannot be classified in one of the other categories (e.g. system, idle, etc).
Note: This is most often only an issue when multiple VMs are running on the same physical machine. If a VM has tasks that can run, but it is unable to run them because the hypervisor is dedicating CPU time to another VM, this will show up as CPU steal. Time is measured in units of USER_HZ
, which is 1/100th of a second (a jiffy
) on most architectures.
Min | Max | Units | Metric Type | Data Type |
---|---|---|---|---|
0 | 1 | percent | derived | percentage |
Average percentage of time spent in "involuntary wait" across all CPUs. This is time that cannot be classified in one of the other categories (e.g. system, idle, etc).
Note: This is most often only an issue when multiple VMs are running on the same physical machine. If a VM has tasks that can run, but it is unable to run them because the hypervisor is dedicating CPU time to another VM, this will show up as CPU steal. Time is measured in units of USER_HZ
, which is 1/100th of a second (a jiffy
) on most architectures.
Min | Max | Units | Metric Type | Data Type |
---|---|---|---|---|
0 | 1 | percent | derived | percentage |
Percentage of time processor has spent executing in kernel mode.
Note: Time is measured in units of USER_HZ
, which is 1/100th of a second (a jiffy
) on most architectures.
Min | Max | Units | Metric Type | Data Type |
---|---|---|---|---|
0 | 1 | percent | derived | percentage |
Average percentage of time spent executing processes in kernel mode across all CPUs.
Note: Time is measured in units of USER_HZ
, which is 1/100th of a second (a jiffy
) on most architectures.
Min | Max | Units | Metric Type | Data Type |
---|---|---|---|---|
0 | 1 | percent | derived | percentage |
Percentage of time processor has spent executing in user mode.
Note: Time is measured in units of USER_HZ
, which is 1/100th of a second (a jiffy
) on most architectures.
Min | Max | Units | Metric Type | Data Type |
---|---|---|---|---|
0 | 1 | percent | derived | percentage |
Average percentage of time spent executing processes in user mode across all CPUs.
Note: Time is measured in units of USER_HZ
, which is 1/100th of a second (a jiffy
) on most architectures.
Min | Max | Units | Metric Type | Data Type |
---|---|---|---|---|
0 | 1 | percent | derived | percentage |
Percentage of CPU processing resources used between two timepoints.
Note: Time is measured in units of USER_HZ
, which is 1/100th of a second (a jiffy
) on most architectures. There are multiple ways of calculating this metric, mainly in determining what counts as non-idle time.
Min | Max | Units | Metric Type | Data Type |
---|---|---|---|---|
0 | 1 | utilization | derived | percentage |
Average percentage of CPU processing resources used between two timepoints across all CPUs.
Note: Time is measured in units of USER_HZ
, which is 1/100th of a second (a jiffy
) on most architectures. There are multiple ways of calculating this metric, mainly in determining what counts as non-idle time.
Min | Max | Units | Metric Type | Data Type |
---|---|---|---|---|
0 | 1 | utilization | derived | percentage |
===
To contribute to this documentation, see the contributing guide. Any updates to the documentation should be tagged.
$ git tag -a <major.minor.patch> -m "[UPDATE] version."
$ git push origin <major.minor.patch>
Use semantic versioning (semvar) for communicating versions.
- Any new metrics should be communicated as
minor
updates. - Any corrections/value modifications should be
patches
. - Any documentation restructuring (changing field names, removing fields, etc) should be communicated as a
major
update.
===
The documentation is stored as JSON, a lightweight data-interchange format. Many languages provide JSON support: JavaScript, Python, Go, PHP, Java, Haskell, and others.
You are free to use the JSON documentation, as is. Simply copy the file and use accordingly.
For those using package managers to manage dependencies, we provide package manager support, as outlined below.
The documentation is registered as a Bower package. Bower provides a straightforward means for managing dependencies.
In order to use Bower, you must first install Node.js and Git. Once the prerequisites are installed,
$ npm install -g bower
To install the latest documentation,
$ bower install doc-metrix-cpu
Bower will place the documentation in a bower_components/
directory within the current working directory.
To update to the latest documentation,
$ bower update doc-metrix-cpu
List of utilities using this documentation:
Copyright © 2014. NodePrime.