From d09d87aad5f8201953593a0a4b8f552929822ae5 Mon Sep 17 00:00:00 2001 From: Andrzej Stencel Date: Fri, 23 Sep 2022 12:51:40 +0200 Subject: [PATCH] Add `process.uptime` and `system.uptime` metrics to semantic conventions --- CHANGELOG.md | 2 ++ .../semantic_conventions/process-metrics.md | 23 ++++++++++--------- .../semantic_conventions/system-metrics.md | 9 ++++++++ 3 files changed, 23 insertions(+), 11 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c449241dcf7..74349435d9c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -29,6 +29,8 @@ release. - Add `process.context_switches`, and `process.open_file_descriptors`, to the metrics semantic conventions ([#2706](https://github.com/open-telemetry/opentelemetry-specification/pull/2706)) +- Add `process.uptime` and `system.uptime` metrics to semantic conventions + ([#2824](https://github.com/open-telemetry/opentelemetry-specification/pull/2824)) ### Compatibility diff --git a/specification/metrics/semantic_conventions/process-metrics.md b/specification/metrics/semantic_conventions/process-metrics.md index 84c83e91af6..3e13b284794 100644 --- a/specification/metrics/semantic_conventions/process-metrics.md +++ b/specification/metrics/semantic_conventions/process-metrics.md @@ -31,17 +31,18 @@ metrics](runtime-environment-metrics.md). Below is a table of Process metric instruments. -| Name | Instrument Type ([\*](README.md#instrument-types)) | Unit | Description | Labels | -| -------------------------------------- | -------------------------------------------------- | --------- | ----------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `process.cpu.time` | Counter | s | Total 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.utilization` | Gauge | 1 | Difference 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.usage` | UpDownCounter | By | The amount of physical memory in use. | | -| `process.memory.virtual` | UpDownCounter | By | The amount of committed virtual memory. | | -| `process.disk.io` | Counter | By | Disk bytes transferred. | `direction` SHOULD be one of: `read`, `write` | -| `process.network.io` | Counter | By | Network bytes transferred. | `direction` SHOULD be one of: `receive`, `transmit` | -| `process.threads` | UpDownCounter | {threads} | Process threads count. | | -| `process.open_file_descriptors` | UpDownCounter | {count} | Number of file descriptors in use by the process. | | -| `process.context_switches` | Counter | {count} | Number of times the process has been context switched. | `type` SHOULD be one of: `involuntary`, `voluntary` | +| Name | Instrument Type ([\*](README.md#instrument-types)) | Unit | Description | Labels | +| ------------------------------- | -------------------------------------------------- | --------- | ----------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `process.cpu.time` | Counter | s | Total 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.utilization` | Gauge | 1 | Difference 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.usage` | UpDownCounter | By | The amount of physical memory in use. | | +| `process.memory.virtual` | UpDownCounter | By | The amount of committed virtual memory. | | +| `process.disk.io` | Counter | By | Disk bytes transferred. | `direction` SHOULD be one of: `read`, `write` | +| `process.network.io` | Counter | By | Network bytes transferred. | `direction` SHOULD be one of: `receive`, `transmit` | +| `process.threads` | UpDownCounter | {threads} | Process threads count. | | +| `process.open_file_descriptors` | UpDownCounter | {count} | Number of file descriptors in use by the process. | | +| `process.context_switches` | Counter | {count} | Number of times the process has been context switched. | `type` SHOULD be one of: `involuntary`, `voluntary` | +| `process.uptime` | Counter | s | Number of seconds that the process has been running. | | ## Attributes diff --git a/specification/metrics/semantic_conventions/system-metrics.md b/specification/metrics/semantic_conventions/system-metrics.md index 739cef68596..f5e2705692e 100644 --- a/specification/metrics/semantic_conventions/system-metrics.md +++ b/specification/metrics/semantic_conventions/system-metrics.md @@ -16,6 +16,7 @@ instruments not explicitly defined in the specification. - [Metric Instruments](#metric-instruments) + * [`system.` - General system metrics](#system---general-system-metrics) * [`system.cpu.` - Processor metrics](#systemcpu---processor-metrics) * [`system.memory.` - Memory metrics](#systemmemory---memory-metrics) * [`system.paging.` - Paging/swap metrics](#systempaging---pagingswap-metrics) @@ -29,6 +30,14 @@ instruments not explicitly defined in the specification. ## Metric Instruments +### `system.` - General system metrics + +**Description:** General system metrics. + +| Name | Description | Units | Instrument Type ([*](README.md#instrument-types)) | Value Type | Attribute Key(s) | Attribute Values | +| ---------------------- | -------------------------------------------------------------------------------------------------------- | ----- | ------------------------------------------------- | ---------- | ---------------- | ----------------------------------- | +| system.uptime | Number of seconds that the system has been running. | s | Counter | Int64 | | | + ### `system.cpu.` - Processor metrics **Description:** System level processor metrics.