Semantic Conventions for OS Process Metrics

Status: Experimental

This document describes instruments and attributes for common OS process level metrics in OpenTelemetry. Also consider the general metric semantic conventions when creating instruments not explicitly defined in this document. OS process metrics are not related to the runtime environment of the program, and should take measurements from the operating system. For runtime environment metrics see semantic conventions for runtime environment metrics.

Metric Instruments

Process

Below is a table of Process metric instruments.

NameInstrumentUnitsDescriptionLabels
process.cpu.timeAsynchronous CountersTotal CPU seconds broken down by different states.state, if specified, SHOULD be one of: system, user, wait. A process SHOULD be characterized either by data points with no state labels, or only data points with state labels.
process.cpu.utilizationAsynchronous GaugesDifference in process.cpu.time since the last measurement, divided by the elapsed time and number of CPUs available to the process.state, if specified, SHOULD be one of: system, user, wait. A process SHOULD be characterized either by data points with no state labels, or only data points with state labels.
process.memory.usageAsynchronous UpDownCounterByThe amount of physical memory in use.
process.memory.virtualAsynchronous UpDownCounterByThe amount of committed virtual memory.
process.disk.ioAsynchronous CounterByDisk bytes transferred.direction SHOULD be one of: read, write

Attributes

Process metrics SHOULD be associated with a process resource whose attributes provide additional context about the process.