209 lines
8.6 KiB
YAML
209 lines
8.6 KiB
YAML
groups:
|
|
- id: metric_attributes.http.server
|
|
type: attribute_group
|
|
brief: 'HTTP server attributes'
|
|
extends: attributes.http.server
|
|
attributes:
|
|
- ref: server.address
|
|
requirement_level: opt_in
|
|
note: |
|
|
See [Setting `server.address` and `server.port` attributes](/docs/http/http-spans.md#setting-serveraddress-and-serverport-attributes).
|
|
> **Warning**
|
|
> Since this attribute is based on HTTP headers, opting in to it may allow an attacker
|
|
> to trigger cardinality limits, degrading the usefulness of the metric.
|
|
- ref: server.port
|
|
requirement_level: opt_in
|
|
note: |
|
|
See [Setting `server.address` and `server.port` attributes](/docs/http/http-spans.md#setting-serveraddress-and-serverport-attributes).
|
|
> **Warning**
|
|
> Since this attribute is based on HTTP headers, opting in to it may allow an attacker
|
|
> to trigger cardinality limits, degrading the usefulness of the metric.
|
|
- id: metric_attributes.http.client
|
|
type: attribute_group
|
|
brief: 'HTTP client attributes'
|
|
extends: attributes.http.client
|
|
|
|
- id: metric_attributes.http.client.experimental
|
|
type: attribute_group
|
|
brief: 'HTTP client experimental attributes'
|
|
extends: metric_attributes.http.client
|
|
attributes:
|
|
- ref: url.template
|
|
requirement_level:
|
|
conditionally_required: If available.
|
|
note: >
|
|
The `url.template` MUST have low cardinality. It is not usually available on HTTP clients, but may be known by the application or specialized HTTP instrumentation.
|
|
|
|
- id: metric.http.server.request.duration
|
|
type: metric
|
|
metric_name: http.server.request.duration
|
|
brief: "Duration of HTTP server requests."
|
|
instrument: histogram
|
|
unit: "s"
|
|
stability: stable
|
|
extends: metric_attributes.http.server
|
|
|
|
- id: metric.http.server.active_requests
|
|
type: metric
|
|
metric_name: http.server.active_requests
|
|
stability: experimental
|
|
brief: "Number of active HTTP server requests."
|
|
instrument: updowncounter
|
|
unit: "{request}"
|
|
attributes:
|
|
- ref: http.request.method
|
|
requirement_level: required
|
|
- ref: url.scheme
|
|
requirement_level: required
|
|
examples: ["http", "https"]
|
|
- ref: server.address
|
|
requirement_level: opt_in
|
|
brief: >
|
|
Name of the local HTTP server that received the request.
|
|
note: |
|
|
See [Setting `server.address` and `server.port` attributes](/docs/http/http-spans.md#setting-serveraddress-and-serverport-attributes).
|
|
> **Warning**
|
|
> Since this attribute is based on HTTP headers, opting in to it may allow an attacker
|
|
> to trigger cardinality limits, degrading the usefulness of the metric.
|
|
- ref: server.port
|
|
requirement_level: opt_in
|
|
brief: >
|
|
Port of the local HTTP server that received the request.
|
|
note: |
|
|
See [Setting `server.address` and `server.port` attributes](/docs/http/http-spans.md#setting-serveraddress-and-serverport-attributes).
|
|
> **Warning**
|
|
> Since this attribute is based on HTTP headers, opting in to it may allow an attacker
|
|
> to trigger cardinality limits, degrading the usefulness of the metric.
|
|
|
|
- id: metric.http.server.request.body.size
|
|
type: metric
|
|
metric_name: http.server.request.body.size
|
|
stability: experimental
|
|
brief: "Size of HTTP server request bodies."
|
|
instrument: histogram
|
|
unit: "By"
|
|
note: >
|
|
The size of the request payload body in bytes. This is the number of bytes transferred excluding headers and
|
|
is often, but not always, present as the [Content-Length](https://www.rfc-editor.org/rfc/rfc9110.html#field.content-length)
|
|
header. For requests using transport encoding, this should be the compressed size.
|
|
extends: metric_attributes.http.server
|
|
|
|
- id: metric.http.server.response.body.size
|
|
type: metric
|
|
metric_name: http.server.response.body.size
|
|
stability: experimental
|
|
brief: "Size of HTTP server response bodies."
|
|
instrument: histogram
|
|
unit: "By"
|
|
note: >
|
|
The size of the response payload body in bytes. This is the number of bytes transferred excluding headers and
|
|
is often, but not always, present as the [Content-Length](https://www.rfc-editor.org/rfc/rfc9110.html#field.content-length)
|
|
header. For requests using transport encoding, this should be the compressed size.
|
|
extends: metric_attributes.http.server
|
|
|
|
- id: metric.http.client.request.duration
|
|
type: metric
|
|
metric_name: http.client.request.duration
|
|
brief: "Duration of HTTP client requests."
|
|
instrument: histogram
|
|
unit: "s"
|
|
stability: stable
|
|
extends: metric_attributes.http.client
|
|
|
|
- id: metric.http.client.request.body.size
|
|
type: metric
|
|
metric_name: http.client.request.body.size
|
|
stability: experimental
|
|
brief: "Size of HTTP client request bodies."
|
|
instrument: histogram
|
|
unit: "By"
|
|
note: >
|
|
The size of the request payload body in bytes. This is the number of bytes transferred excluding headers and
|
|
is often, but not always, present as the [Content-Length](https://www.rfc-editor.org/rfc/rfc9110.html#field.content-length)
|
|
header. For requests using transport encoding, this should be the compressed size.
|
|
extends: metric_attributes.http.client.experimental
|
|
|
|
- id: metric.http.client.response.body.size
|
|
type: metric
|
|
metric_name: http.client.response.body.size
|
|
stability: experimental
|
|
brief: "Size of HTTP client response bodies."
|
|
instrument: histogram
|
|
unit: "By"
|
|
note: >
|
|
The size of the response payload body in bytes. This is the number of bytes transferred excluding headers and
|
|
is often, but not always, present as the [Content-Length](https://www.rfc-editor.org/rfc/rfc9110.html#field.content-length)
|
|
header. For requests using transport encoding, this should be the compressed size.
|
|
extends: metric_attributes.http.client.experimental
|
|
|
|
- id: metric.http.client.open_connections
|
|
type: metric
|
|
metric_name: http.client.open_connections
|
|
stability: experimental
|
|
brief: "Number of outbound HTTP connections that are currently active or idle on the client."
|
|
instrument: updowncounter
|
|
unit: "{connection}"
|
|
attributes:
|
|
- ref: http.connection.state
|
|
requirement_level: required
|
|
- ref: network.peer.address
|
|
requirement_level: recommended
|
|
- ref: network.protocol.version
|
|
requirement_level: recommended
|
|
- ref: server.address
|
|
requirement_level: required
|
|
- ref: server.port
|
|
requirement_level: required
|
|
brief: >
|
|
Port identifier of the ["URI origin"](https://www.rfc-editor.org/rfc/rfc9110.html#name-uri-origin) HTTP request is sent to.
|
|
- ref: url.scheme
|
|
requirement_level: opt_in
|
|
examples: ["http", "https"]
|
|
|
|
- id: metric.http.client.connection.duration
|
|
type: metric
|
|
metric_name: http.client.connection.duration
|
|
stability: experimental
|
|
brief: "The duration of the successfully established outbound HTTP connections."
|
|
instrument: histogram
|
|
unit: "s"
|
|
attributes:
|
|
- ref: network.peer.address
|
|
requirement_level: recommended
|
|
- ref: network.protocol.version
|
|
requirement_level: recommended
|
|
- ref: server.address
|
|
requirement_level: required
|
|
- ref: server.port
|
|
requirement_level: required
|
|
brief: >
|
|
Port identifier of the ["URI origin"](https://www.rfc-editor.org/rfc/rfc9110.html#name-uri-origin) HTTP request is sent to.
|
|
- ref: url.scheme
|
|
requirement_level: opt_in
|
|
examples: ["http", "https"]
|
|
|
|
- id: metric.http.client.active_requests
|
|
type: metric
|
|
metric_name: http.client.active_requests
|
|
stability: experimental
|
|
brief: "Number of active HTTP requests."
|
|
instrument: updowncounter
|
|
unit: "{request}"
|
|
attributes:
|
|
- ref: http.request.method
|
|
requirement_level: recommended
|
|
- ref: server.address
|
|
requirement_level: required
|
|
- ref: server.port
|
|
requirement_level: required
|
|
brief: >
|
|
Port identifier of the ["URI origin"](https://www.rfc-editor.org/rfc/rfc9110.html#name-uri-origin) HTTP request is sent to.
|
|
- ref: url.scheme
|
|
requirement_level: opt_in
|
|
examples: ["http", "https"]
|
|
- ref: url.template
|
|
requirement_level:
|
|
conditionally_required: If available.
|
|
note: >
|
|
The `url.template` MUST have low cardinality. It is not usually available on HTTP clients, but may be known by the application or specialized HTTP instrumentation.
|