Rename Metrics labels to attributes (#1775)
This commit is contained in:
parent
ecec5145dc
commit
450410f7f6
|
|
@ -30,9 +30,9 @@ Conventions](../../resource/semantic_conventions/README.md).
|
|||
|
||||
## General Guidelines
|
||||
|
||||
Metric names and labels exist within a single universe and a single
|
||||
hierarchy. Metric names and labels MUST be considered within the universe of
|
||||
all existing metric names. When defining new metric names and labels,
|
||||
Metric names and attributes exist within a single universe and a single
|
||||
hierarchy. Metric names and attributes MUST be considered within the universe of
|
||||
all existing metric names. When defining new metric names and attributes,
|
||||
consider the prior art of existing standard metrics and metrics from
|
||||
frameworks/libraries.
|
||||
|
||||
|
|
@ -48,8 +48,8 @@ OpenTelemetry artifacts define the metric structures and hierarchies for some
|
|||
categories of metrics, and these can assist decisions when creating future
|
||||
metrics.
|
||||
|
||||
Common labels SHOULD be consistently named. This aids in discoverability and
|
||||
disambiguates similar labels to metric names.
|
||||
Common attributes SHOULD be consistently named. This aids in discoverability and
|
||||
disambiguates similar attributes to metric names.
|
||||
|
||||
["As a rule of thumb, **aggregations** over all the dimensions of a given
|
||||
metric **SHOULD** be
|
||||
|
|
@ -106,9 +106,9 @@ for the total amount of memory on a system.
|
|||
|
||||
- **usage** - an instrument that measures an amount used out of a known total
|
||||
(**limit**) amount should be called `entity.usage`. For example,
|
||||
`system.memory.usage` with label `state = used | cached | free | ...` for the
|
||||
`system.memory.usage` with attribute `state = used | cached | free | ...` for the
|
||||
amount of memory in a each state. Where appropriate, the sum of **usage**
|
||||
over all label values SHOULD be equal to the **limit**.
|
||||
over all attribute values SHOULD be equal to the **limit**.
|
||||
|
||||
A measure of the amount of an unlimited resource consumed is differentiated
|
||||
from **usage**.
|
||||
|
|
@ -119,19 +119,19 @@ out of its **limit** should be called `entity.utilization`. For example,
|
|||
values are in the range `[0, 1]`.
|
||||
|
||||
- **time** - an instrument that measures passage of time should be called
|
||||
`entity.time`. For example, `system.cpu.time` with label `state = idle | user
|
||||
`entity.time`. For example, `system.cpu.time` with attribute `state = idle | user
|
||||
| system | ...`. **time** measurements are not necessarily wall time and can
|
||||
be less than or greater than the real wall time between measurements.
|
||||
|
||||
**time** instruments are a special case of **usage** metrics, where the
|
||||
**limit** can usually be calculated as the sum of **time** over all label
|
||||
**limit** can usually be calculated as the sum of **time** over all attribute
|
||||
values. **utilization** for time instruments can be derived automatically
|
||||
using metric event timestamps. For example, `system.cpu.utilization` is
|
||||
defined as the difference in `system.cpu.time` measurements divided by the
|
||||
elapsed time.
|
||||
|
||||
- **io** - an instrument that measures bidirectional data flow should be
|
||||
called `entity.io` and have labels for direction. For example,
|
||||
called `entity.io` and have attributes for direction. For example,
|
||||
`system.network.io`.
|
||||
|
||||
- Other instruments that do not fit the above descriptions may be named more
|
||||
|
|
|
|||
|
|
@ -4,9 +4,9 @@
|
|||
|
||||
The conventions described in this section are HTTP specific. When HTTP operations occur,
|
||||
metric events about those operations will be generated and reported to provide insight into the
|
||||
operations. By adding HTTP labels to metric events it allows for finely tuned filtering.
|
||||
operations. By adding HTTP attributes to metric events it allows for finely tuned filtering.
|
||||
|
||||
**Disclaimer:** These are initial HTTP metric instruments and labels but more may be added in the future.
|
||||
**Disclaimer:** These are initial HTTP metric instruments and attributes but more may be added in the future.
|
||||
|
||||
## Metric Instruments
|
||||
|
||||
|
|
@ -30,72 +30,72 @@ Below is a table of HTTP client metric instruments.
|
|||
|------------------------|---------------|--------------|-------------|
|
||||
| `http.client.duration` | ValueRecorder | milliseconds | measure the duration of the outbound HTTP request |
|
||||
|
||||
## Labels
|
||||
## Attributes
|
||||
|
||||
Below is a table of the labels that SHOULD be included on `duration` metric events
|
||||
Below is a table of the attributes that SHOULD be included on `duration` metric events
|
||||
and whether they should be on server, client, or both types of HTTP metric events:
|
||||
|
||||
| Name | Type | Recommended | Notes and examples |
|
||||
|--------------------|---------------------|-------------------|--------------------|
|
||||
| `http.method` | `client` & `server` | Yes | The HTTP request method. E.g. `"GET"` |
|
||||
| `http.host` | `client` & `server` | see [label alternatives](#label-alternatives) | The value of the [HTTP host header][]. When the header is empty or not present, this label should be the same. |
|
||||
| `http.scheme` | `client` & `server` | see [label alternatives](#label-alternatives) | The URI scheme identifying the used protocol in lowercase: `"http"` or `"https"` |
|
||||
| `http.host` | `client` & `server` | see [attribute alternatives](#attribute-alternatives) | The value of the [HTTP host header][]. When the header is empty or not present, this attribute should be the same. |
|
||||
| `http.scheme` | `client` & `server` | see [attribute alternatives](#attribute-alternatives) | The URI scheme identifying the used protocol in lowercase: `"http"` or `"https"` |
|
||||
| `http.status_code` | `client` & `server` | Optional | [HTTP response status code][]. E.g. `200` (String) |
|
||||
| `http.flavor` | `client` & `server` | Optional | Kind of HTTP protocol used: `"1.0"`, `"1.1"`, `"2"`, `"SPDY"` or `"QUIC"`. |
|
||||
| `net.peer.name` | `client` | see [1] in [label alternatives](#label-alternatives) | See [general network connection attributes](../../trace/semantic_conventions/span-general.md#general-network-connection-attributes) |
|
||||
| `net.peer.port` | `client` | see [1] in [label alternatives](#label-alternatives) | See [general network connection attributes](../../trace/semantic_conventions/span-general.md#general-network-connection-attributes) |
|
||||
| `net.peer.ip` | `client` | see [1] in [label alternatives](#label-alternatives) | See [general network connection attributes](../../trace/semantic_conventions/span-general.md#general-network-connection-attributes) |
|
||||
| `http.server_name` | `server` | see [2] in [label alternatives](#label-alternatives) | The primary server name of the matched virtual host. This should be obtained via configuration. If no such configuration can be obtained, this label MUST NOT be set ( `net.host.name` should be used instead). |
|
||||
| `net.host.name` | `server` | see [2] in [label alternatives](#label-alternatives) | See [general network connection attributes](../../trace/semantic_conventions/span-general.md#general-network-connection-attributes) |
|
||||
| `net.host.port` | `server` | see [2] in [label alternatives](#label-alternatives) | See [general network connection attributes](../../trace/semantic_conventions/span-general.md#general-network-connection-attributes) |
|
||||
| `net.peer.name` | `client` | see [1] in [attribute alternatives](#attribute-alternatives) | See [general network connection attributes](../../trace/semantic_conventions/span-general.md#general-network-connection-attributes) |
|
||||
| `net.peer.port` | `client` | see [1] in [attribute alternatives](#attribute-alternatives) | See [general network connection attributes](../../trace/semantic_conventions/span-general.md#general-network-connection-attributes) |
|
||||
| `net.peer.ip` | `client` | see [1] in [attribute alternatives](#attribute-alternatives) | See [general network connection attributes](../../trace/semantic_conventions/span-general.md#general-network-connection-attributes) |
|
||||
| `http.server_name` | `server` | see [2] in [attribute alternatives](#attribute-alternatives) | The primary server name of the matched virtual host. This should be obtained via configuration. If no such configuration can be obtained, this attribute MUST NOT be set ( `net.host.name` should be used instead). |
|
||||
| `net.host.name` | `server` | see [2] in [attribute alternatives](#attribute-alternatives) | See [general network connection attributes](../../trace/semantic_conventions/span-general.md#general-network-connection-attributes) |
|
||||
| `net.host.port` | `server` | see [2] in [attribute alternatives](#attribute-alternatives) | See [general network connection attributes](../../trace/semantic_conventions/span-general.md#general-network-connection-attributes) |
|
||||
|
||||
The following labels SHOULD be included in the `http.server.active_requests` observation:
|
||||
The following attributes SHOULD be included in the `http.server.active_requests` observation:
|
||||
|
||||
| Name | Recommended | Notes and examples |
|
||||
|--------------------|-------------|--------------------|
|
||||
| `http.method` | Yes | The HTTP request method. E.g. `"GET"` |
|
||||
| `http.host` | see [label alternatives](#label-alternatives) | The value of the [HTTP host header][]. When the header is empty or not present, this label should be the same |
|
||||
| `http.scheme` | see [label alternatives](#label-alternatives) | The URI scheme identifying the used protocol in lowercase: `"http"` or `"https"` |
|
||||
| `http.host` | see [attribute alternatives](#attribute-alternatives) | The value of the [HTTP host header][]. When the header is empty or not present, this attribute should be the same |
|
||||
| `http.scheme` | see [attribute alternatives](#attribute-alternatives) | The URI scheme identifying the used protocol in lowercase: `"http"` or `"https"` |
|
||||
| `http.flavor` | Optional | Kind of HTTP protocol used: `"1.0"`, `"1.1"`, `"2"`, `"SPDY"` or `"QUIC"` |
|
||||
| `http.server_name` | see [2] in [label alternatives](#label-alternatives) | The primary server name of the matched virtual host. This should be obtained via configuration. If no such configuration can be obtained, this label MUST NOT be set ( `net.host.name` should be used instead). |
|
||||
| `http.server_name` | see [2] in [attribute alternatives](#attribute-alternatives) | The primary server name of the matched virtual host. This should be obtained via configuration. If no such configuration can be obtained, this attribute MUST NOT be set ( `net.host.name` should be used instead). |
|
||||
|
||||
[HTTP host header]: https://tools.ietf.org/html/rfc7230#section-5.4
|
||||
[HTTP response status code]: https://tools.ietf.org/html/rfc7231#section-6
|
||||
[HTTP reason phrase]: https://tools.ietf.org/html/rfc7230#section-3.1.2
|
||||
|
||||
### Parameterized labels
|
||||
### Parameterized attributes
|
||||
|
||||
To avoid high cardinality the following labels SHOULD substitute any parameters when added as labels to http metric events as described below:
|
||||
To avoid high cardinality the following attributes SHOULD substitute any parameters when added as attributes to http metric events as described below:
|
||||
|
||||
| Label name | Type | Recommended | Notes and examples |
|
||||
| Attribute name | Type | Recommended | Notes and examples |
|
||||
|-------------------|---------------------|-------------|---------------------|
|
||||
|`http.url` | `client` & `server` | see [label alternatives](#label-alternatives) | The originally requested URL |
|
||||
|`http.target` | `client` & `server` | see [label alternatives](#label-alternatives) | The full request target as passed in a [HTTP request line][] or equivalent, e.g. `"/path/{id}/?q={}"`. |
|
||||
|`http.url` | `client` & `server` | see [attribute alternatives](#attribute-alternatives) | The originally requested URL |
|
||||
|`http.target` | `client` & `server` | see [attribute alternatives](#attribute-alternatives) | The full request target as passed in a [HTTP request line][] or equivalent, e.g. `"/path/{id}/?q={}"`. |
|
||||
|
||||
[HTTP request line]: https://tools.ietf.org/html/rfc7230#section-3.1.1
|
||||
|
||||
Many REST APIs encode parameters into the URI path, e.g. `/api/users/123` where `123`
|
||||
is a user id, which creates high cardinality value space not suitable for labels on metric events.
|
||||
is a user id, which creates high cardinality value space not suitable for attributes on metric events.
|
||||
In case of HTTP servers, these endpoints are often mapped by the server
|
||||
frameworks to more concise _HTTP routes_, e.g. `/api/users/{user_id}`, which are
|
||||
recommended as the low cardinality label values. However, the same approach usually
|
||||
does not work for HTTP client labels, especially when instrumentation is provided
|
||||
recommended as the low cardinality attribute values. However, the same approach usually
|
||||
does not work for HTTP client attributes, especially when instrumentation is provided
|
||||
by a lower-level middleware that is not aware of the specifics of how the URIs
|
||||
are formed. Therefore, HTTP client labels SHOULD be using conservative, low
|
||||
are formed. Therefore, HTTP client attributes SHOULD be using conservative, low
|
||||
cardinality names formed from the available parameters of an HTTP request,
|
||||
such as `"HTTP {METHOD_NAME}"`. These labels MUST NOT default to using URI
|
||||
such as `"HTTP {METHOD_NAME}"`. These attributes MUST NOT default to using URI
|
||||
path.
|
||||
|
||||
### Label alternatives
|
||||
### Attribute alternatives
|
||||
|
||||
**[1]** For client metric labels, one of the following sets of labels is RECOMMENDED (in order of usual preference unless for a particular web client/framework it is known that some other set is preferable for some reason; all strings must be non-empty):
|
||||
**[1]** For client metric attributes, one of the following sets of attributes is RECOMMENDED (in order of usual preference unless for a particular web client/framework it is known that some other set is preferable for some reason; all strings must be non-empty):
|
||||
|
||||
* `http.url`
|
||||
* `http.scheme`, `http.host`, `http.target`
|
||||
* `http.scheme`, `net.peer.name`, `net.peer.port`, `http.target`
|
||||
* `http.scheme`, `net.peer.ip`, `net.peer.port`, `http.target`
|
||||
|
||||
**[2]** For server metric labels, `http.url` is usually not readily available on the server side but would have to be assembled in a cumbersome and sometimes lossy process from other information (see e.g. <https://github.com/open-telemetry/opentelemetry-python/pull/148>).
|
||||
**[2]** For server metric attributes, `http.url` is usually not readily available on the server side but would have to be assembled in a cumbersome and sometimes lossy process from other information (see e.g. <https://github.com/open-telemetry/opentelemetry-python/pull/148>).
|
||||
It is thus preferred to supply the raw data that *is* available.
|
||||
Namely, one of the following sets is RECOMMENDED (in order of usual preference unless for a particular web server/framework it is known that some other set is preferable for some reason; all strings must be non-empty):
|
||||
|
||||
|
|
|
|||
|
|
@ -24,14 +24,15 @@ metrics in the OpenMetrics exposition format. For more information, refer to the
|
|||
|
||||
### OpenTelemetry to OpenMetrics
|
||||
|
||||
#### Name and Label Keys
|
||||
#### Name and Attribute Keys
|
||||
|
||||
Exposing OpenTelemetry metrics in the OpenMetrics format is primarily
|
||||
problematic for metric and label naming; the OpenMetrics exposition format
|
||||
expressly forbids some characters that are allowed in OpenTelemetry.
|
||||
problematic for metric and attribute (labels in OpenMetrics) naming; the
|
||||
OpenMetrics exposition format expressly forbids some characters that are allowed
|
||||
in OpenTelemetry.
|
||||
|
||||
When converting OpenTelemetry metric events to the OpenMetrics exposition
|
||||
format, the name field and all label keys MUST be sanitized by replacing
|
||||
format, the name field and all attribute keys MUST be sanitized by replacing
|
||||
every character that is not a letter or a digit with an underscore.
|
||||
|
||||
Example pseudocode:
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
**Status**: [Experimental](../../document-status.md)
|
||||
|
||||
This document describes instruments and labels for common OS process level
|
||||
This document describes instruments and attributes for common OS process level
|
||||
metrics in OpenTelemetry. Also consider the [general metric semantic
|
||||
conventions](README.md#general-metric-semantic-conventions) when creating
|
||||
instruments not explicitly defined in this document. OS process metrics are
|
||||
|
|
|
|||
|
|
@ -4,8 +4,8 @@
|
|||
|
||||
The conventions described in this section are RPC specific. When RPC operations
|
||||
occur, metric events about those operations will be generated and reported to
|
||||
provide insight into those operations. By adding RPC labels to metric events
|
||||
it allows for finely tuned filtering.
|
||||
provide insight into those operations. By adding RPC properties as attributes
|
||||
on metric events it allows for finely tuned filtering.
|
||||
|
||||
<!-- Re-generate TOC with `markdown-toc --no-first-h1 -i` -->
|
||||
|
||||
|
|
@ -14,7 +14,7 @@ it allows for finely tuned filtering.
|
|||
- [Metric instruments](#metric-instruments)
|
||||
* [RPC Server](#rpc-server)
|
||||
* [RPC Client](#rpc-client)
|
||||
- [Labels](#labels)
|
||||
- [Attributes](#attributes)
|
||||
* [Service name](#service-name)
|
||||
- [gRPC conventions](#grpc-conventions)
|
||||
|
||||
|
|
@ -52,9 +52,9 @@ RPC usage, not streaming RPCs.
|
|||
| `rpc.client.requests_per_rpc` | ValueRecorder | count | measures the number of messages received per RPC. Should be 1 for all non-streaming RPCs | Optional | Required |
|
||||
| `rpc.client.responses_per_rpc` | ValueRecorder | count | measures the number of messages sent per RPC. Should be 1 for all non-streaming RPCs | Optional | Required |
|
||||
|
||||
## Labels
|
||||
## Attributes
|
||||
|
||||
Below is a table of labels that SHOULD be included on metric events and whether
|
||||
Below is a table of attributes that SHOULD be included on metric events and whether
|
||||
or not they should be on the server, client or both.
|
||||
|
||||
<!-- semconv rpc -->
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
**Status**: [Experimental](../../document-status.md)
|
||||
|
||||
This document describes instruments and labels for common system level
|
||||
This document describes instruments and attributes for common system level
|
||||
metrics in OpenTelemetry. Consider the [general metric semantic
|
||||
conventions](README.md#general-metric-semantic-conventions) when creating
|
||||
instruments not explicitly defined in the specification.
|
||||
|
|
@ -29,48 +29,48 @@ instruments not explicitly defined in the specification.
|
|||
|
||||
**Description:** System level processor metrics.
|
||||
|
||||
| Name | Description | Units | Instrument Type | Value Type | Label Key(s) | Label Values |
|
||||
| ---------------------- | ----------- | ----- | --------------- | ---------- | ------------ | ----------------------------------- |
|
||||
| system.cpu.time | | s | SumObserver | Double | state | idle, user, system, interrupt, etc. |
|
||||
| | | | | | cpu | CPU number [0..n-1] |
|
||||
| system.cpu.utilization | | 1 | ValueObserver | Double | state | idle, user, system, interrupt, etc. |
|
||||
| | | | | | cpu | CPU number (0..n) |
|
||||
| Name | Description | Units | Instrument Type | Value Type | Attribute Key(s) | Attribute Values |
|
||||
| ---------------------- | ----------- | ----- | --------------- | ---------- | ---------------- | ----------------------------------- |
|
||||
| system.cpu.time | | s | SumObserver | Double | state | idle, user, system, interrupt, etc. |
|
||||
| | | | | | cpu | CPU number [0..n-1] |
|
||||
| system.cpu.utilization | | 1 | ValueObserver | Double | state | idle, user, system, interrupt, etc. |
|
||||
| | | | | | cpu | CPU number (0..n) |
|
||||
|
||||
### `system.memory.` - Memory metrics
|
||||
|
||||
**Description:** System level memory metrics. This does not include [paging/swap
|
||||
memory](#systempaging---pagingswap-metrics).
|
||||
|
||||
| Name | Description | Units | Instrument Type | Value Type | Label Key | Label Values |
|
||||
| ------------------------- | ----------- | ----- | ----------------- | ---------- | --------- | ------------------------ |
|
||||
| system.memory.usage | | By | UpDownSumObserver | Int64 | state | used, free, cached, etc. |
|
||||
| system.memory.utilization | | 1 | ValueObserver | Double | state | used, free, cached, etc. |
|
||||
| Name | Description | Units | Instrument Type | Value Type | Attribute Key | Attribute Values |
|
||||
| ------------------------- | ----------- | ----- | ----------------- | ---------- | ------------- | ------------------------ |
|
||||
| system.memory.usage | | By | UpDownSumObserver | Int64 | state | used, free, cached, etc. |
|
||||
| system.memory.utilization | | 1 | ValueObserver | Double | state | used, free, cached, etc. |
|
||||
|
||||
### `system.paging.` - Paging/swap metrics
|
||||
|
||||
**Description:** System level paging/swap memory metrics.
|
||||
| Name | Description | Units | Instrument Type | Value Type | Label Key | Label Values |
|
||||
| ------------------------- | ----------------------------------- | ------------ | ----------------- | ---------- | --------- | ------------ |
|
||||
| system.paging.usage | Unix swap or windows pagefile usage | By | UpDownSumObserver | Int64 | state | used, free |
|
||||
| system.paging.utilization | | 1 | ValueObserver | Double | state | used, free |
|
||||
| system.paging.faults | | {faults} | SumObserver | Int64 | type | major, minor |
|
||||
| system.paging.operations | | {operations} | SumObserver | Int64 | type | major, minor |
|
||||
| | | | | | direction | in, out |
|
||||
| Name | Description | Units | Instrument Type | Value Type | Attribute Key | Attribute Values |
|
||||
| ------------------------- | ----------------------------------- | ------------ | ----------------- | ---------- | ------------- | ---------------- |
|
||||
| system.paging.usage | Unix swap or windows pagefile usage | By | UpDownSumObserver | Int64 | state | used, free |
|
||||
| system.paging.utilization | | 1 | ValueObserver | Double | state | used, free |
|
||||
| system.paging.faults | | {faults} | SumObserver | Int64 | type | major, minor |
|
||||
| system.paging.operations | | {operations} | SumObserver | Int64 | type | major, minor |
|
||||
| | | | | | direction | in, out |
|
||||
|
||||
### `system.disk.` - Disk controller metrics
|
||||
|
||||
**Description:** System level disk performance metrics.
|
||||
| Name | Description | Units | Instrument Type | Value Type | Label Key | Label Values |
|
||||
| --------------------------------------------------------- | ----------------------------------------------- | ------------ | --------------- | ---------- | --------- | ------------ |
|
||||
| system.disk.io<!--notlink--> | | By | SumObserver | Int64 | device | (identifier) |
|
||||
| | | | | | direction | read, write |
|
||||
| system.disk.operations | | {operations} | SumObserver | Int64 | device | (identifier) |
|
||||
| | | | | | direction | read, write |
|
||||
| system.disk.io_time<sup>[1](#io_time)</sup> | Time disk spent activated | s | SumObserver | Double | device | (identifier) |
|
||||
| system.disk.operation_time<sup>[2](#operation_time)</sup> | Sum of the time each operation took to complete | s | SumObserver | Double | device | (identifier) |
|
||||
| | | | | | direction | read, write |
|
||||
| system.disk.merged | | {operations} | SumObserver | Int64 | device | (identifier) |
|
||||
| | | | | | direction | read, write |
|
||||
| Name | Description | Units | Instrument Type | Value Type | Attribute Key | Attribute Values |
|
||||
| --------------------------------------------------------- | ----------------------------------------------- | ------------ | --------------- | ---------- | ------------- | ---------------- |
|
||||
| system.disk.io<!--notlink--> | | By | SumObserver | Int64 | device | (identifier) |
|
||||
| | | | | | direction | read, write |
|
||||
| system.disk.operations | | {operations} | SumObserver | Int64 | device | (identifier) |
|
||||
| | | | | | direction | read, write |
|
||||
| system.disk.io_time<sup>[1](#io_time)</sup> | Time disk spent activated | s | SumObserver | Double | device | (identifier) |
|
||||
| system.disk.operation_time<sup>[2](#operation_time)</sup> | Sum of the time each operation took to complete | s | SumObserver | Double | device | (identifier) |
|
||||
| | | | | | direction | read, write |
|
||||
| system.disk.merged | | {operations} | SumObserver | Int64 | device | (identifier) |
|
||||
| | | | | | direction | read, write |
|
||||
|
||||
<sup><a name="io_time">1</a></sup> The real elapsed time ("wall clock")
|
||||
used in the I/O path (time from operations running in parallel are not
|
||||
|
|
@ -94,35 +94,35 @@ perf counter (similar for Writes)
|
|||
### `system.filesystem.` - Filesystem metrics
|
||||
|
||||
**Description:** System level filesystem metrics.
|
||||
| Name | Description | Units | Instrument Type | Value Type | Label Key | Label Values |
|
||||
| ----------------------------- | ----------- | ----- | ----------------- | ---------- | ---------- | -------------------- |
|
||||
| system.filesystem.usage | | By | UpDownSumObserver | Int64 | device | (identifier) |
|
||||
| | | | | | state | used, free, reserved |
|
||||
| | | | | | type | ext4, tmpfs, etc. |
|
||||
| | | | | | mode | rw, ro, etc. |
|
||||
| | | | | | mountpoint | (path) |
|
||||
| system.filesystem.utilization | | 1 | ValueObserver | Double | device | (identifier) |
|
||||
| | | | | | state | used, free, reserved |
|
||||
| | | | | | type | ext4, tmpfs, etc. |
|
||||
| | | | | | mode | rw, ro, etc. |
|
||||
| | | | | | mountpoint | (path) |
|
||||
| Name | Description | Units | Instrument Type | Value Type | Attribute Key | Attribute Values |
|
||||
| ----------------------------- | ----------- | ----- | ----------------- | ---------- | -------------- | -------------------- |
|
||||
| system.filesystem.usage | | By | UpDownSumObserver | Int64 | device | (identifier) |
|
||||
| | | | | | state | used, free, reserved |
|
||||
| | | | | | type | ext4, tmpfs, etc. |
|
||||
| | | | | | mode | rw, ro, etc. |
|
||||
| | | | | | mountpoint | (path) |
|
||||
| system.filesystem.utilization | | 1 | ValueObserver | Double | device | (identifier) |
|
||||
| | | | | | state | used, free, reserved |
|
||||
| | | | | | type | ext4, tmpfs, etc. |
|
||||
| | | | | | mode | rw, ro, etc. |
|
||||
| | | | | | mountpoint | (path) |
|
||||
|
||||
### `system.network.` - Network metrics
|
||||
|
||||
**Description:** System level network metrics.
|
||||
| Name | Description | Units | Instrument Type | Value Type | Label Key | Label Values |
|
||||
| ---------------------------------------------- | ----------------------------------------------------------------------------- | ------------- | ----------------- | ---------- | --------- | ---------------------------------------------------------------------------------------------- |
|
||||
| system.network.dropped<sup>[1](#dropped)</sup> | Count of packets that are dropped or discarded even though there was no error | {packets} | SumObserver | Int64 | device | (identifier) |
|
||||
| | | | | | direction | transmit, receive |
|
||||
| system.network.packets | | {packets} | SumObserver | Int64 | device | (identifier) |
|
||||
| | | | | | direction | transmit, receive |
|
||||
| system.network.errors<sup>[2](#errors)</sup> | Count of network errors detected | {errors} | SumObserver | Int64 | device | (identifier) |
|
||||
| | | | | | direction | transmit, receive |
|
||||
| system<!--notlink-->.network.io | | By | SumObserver | Int64 | device | (identifier) |
|
||||
| | | | | | direction | transmit, receive |
|
||||
| system.network.connections | | {connections} | UpDownSumObserver | Int64 | device | (identifier) |
|
||||
| | | | | | protocol | tcp, udp, [etc.](https://en.wikipedia.org/wiki/Transport_layer#Protocols) |
|
||||
| | | | | | state | [e.g. for tcp](https://en.wikipedia.org/wiki/Transmission_Control_Protocol#Protocol_operation) |
|
||||
| Name | Description | Units | Instrument Type | Value Type | Attribute Key | Attribute Values |
|
||||
| ---------------------------------------------- | ----------------------------------------------------------------------------- | ------------- | ----------------- | ---------- | ------------- | ---------------------------------------------------------------------------------------------- |
|
||||
| system.network.dropped<sup>[1](#dropped)</sup> | Count of packets that are dropped or discarded even though there was no error | {packets} | SumObserver | Int64 | device | (identifier) |
|
||||
| | | | | | direction | transmit, receive |
|
||||
| system.network.packets | | {packets} | SumObserver | Int64 | device | (identifier) |
|
||||
| | | | | | direction | transmit, receive |
|
||||
| system.network.errors<sup>[2](#errors)</sup> | Count of network errors detected | {errors} | SumObserver | Int64 | device | (identifier) |
|
||||
| | | | | | direction | transmit, receive |
|
||||
| system<!--notlink-->.network.io | | By | SumObserver | Int64 | device | (identifier) |
|
||||
| | | | | | direction | transmit, receive |
|
||||
| system.network.connections | | {connections} | UpDownSumObserver | Int64 | device | (identifier) |
|
||||
| | | | | | protocol | tcp, udp, [etc.](https://en.wikipedia.org/wiki/Transport_layer#Protocols) |
|
||||
| | | | | | state | [e.g. for tcp](https://en.wikipedia.org/wiki/Transmission_Control_Protocol#Protocol_operation) |
|
||||
|
||||
<sup><a name="dropped">1</a></sup> Measured as:
|
||||
|
||||
|
|
@ -146,10 +146,10 @@ from
|
|||
|
||||
**Description:** System level aggregate process metrics. For metrics at the
|
||||
individual process level, see [process metrics](process-metrics.md).
|
||||
| Name | Description | Units | Instrument Type | Value Type | Label Key | Label Values |
|
||||
| ------------------------ | --------------------------------------------------------- | ----------- | ----------------- | ---------- | --------- | ---------------------------------------------------------------------------------------------- |
|
||||
| system.processes.count | Total number of processes in each state | {processes} | UpDownSumObserver | Int64 | status | running, sleeping, [etc.](https://man7.org/linux/man-pages/man1/ps.1.html#PROCESS_STATE_CODES) |
|
||||
| system.processes.created | Total number of processes created over uptime of the host | {processes} | SumObserver | Int64 | - | - |
|
||||
| Name | Description | Units | Instrument Type | Value Type | Attribute Key | Attribute Values |
|
||||
| ------------------------ | --------------------------------------------------------- | ----------- | ----------------- | ---------- | ------------- | ---------------------------------------------------------------------------------------------- |
|
||||
| system.processes.count | Total number of processes in each state | {processes} | UpDownSumObserver | Int64 | status | running, sleeping, [etc.](https://man7.org/linux/man-pages/man1/ps.1.html#PROCESS_STATE_CODES) |
|
||||
| system.processes.created | Total number of processes created over uptime of the host | {processes} | SumObserver | Int64 | - | - |
|
||||
|
||||
### `system.{os}.` - OS Specific System Metrics
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue