Skip to content

doc-metrix/cpu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CPU

Documentation for CPU performance metrics.

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

===

Contributing

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.

===

Usage

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.

Bower

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

Utilities

List of utilities using this documentation:


License

MIT license.


Copyright

Copyright © 2014. NodePrime.