From 228b2512f6f3ae1788788269723fdca962fd673b Mon Sep 17 00:00:00 2001 From: Daniel Dyla Date: Thu, 9 May 2024 16:11:31 -0400 Subject: [PATCH 1/9] Add http.client_ip to deprecated fields --- model/registry/deprecated/http.yaml | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/model/registry/deprecated/http.yaml b/model/registry/deprecated/http.yaml index 4eaaa6ce19..a63bd925ac 100644 --- a/model/registry/deprecated/http.yaml +++ b/model/registry/deprecated/http.yaml @@ -46,6 +46,26 @@ groups: stability: experimental deprecated: "Replaced by `http.response.header.content-length`." examples: 3495 + - id: client_ip + type: string + stability: experimental + deprecated: "Replaced by `client.address`" + brief: > + The IP address of the original client behind all proxies, if + known (e.g. from [X-Forwarded-For](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-For)). + note: | + This is not necessarily the same as `net.sock.peer.addr`, which would + identify the network-level peer, which may be a proxy. + + This attribute should be set when a source of information different + from the one used for `net.sock.peer.addr`, is available even if that other + source just confirms the same value as `net.sock.peer.addr`. + Rationale: For `net.sock.peer.addr`, one typically does not know if it + comes from a proxy, reverse proxy, or the actual client. Setting + `http.client_ip` when it's the same as `net.sock.peer.addr` means that + one is at least somewhat confident that the address is not that of + the closest proxy. + examples: '83.164.160.102' - id: flavor type: allow_custom_values: true From 20bc67cd93a93b0e17ade60c3ea02fa90bfa37cc Mon Sep 17 00:00:00 2001 From: Daniel Dyla Date: Thu, 9 May 2024 16:18:44 -0400 Subject: [PATCH 2/9] Add http.host to deprecated --- model/registry/deprecated/http.yaml | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/model/registry/deprecated/http.yaml b/model/registry/deprecated/http.yaml index a63bd925ac..6e8982018b 100644 --- a/model/registry/deprecated/http.yaml +++ b/model/registry/deprecated/http.yaml @@ -49,7 +49,7 @@ groups: - id: client_ip type: string stability: experimental - deprecated: "Replaced by `client.address`" + deprecated: "Replaced by `client.address`." brief: > The IP address of the original client behind all proxies, if known (e.g. from [X-Forwarded-For](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-For)). @@ -66,6 +66,22 @@ groups: one is at least somewhat confident that the address is not that of the closest proxy. examples: '83.164.160.102' + - id: host + type: string + stability: experimental + deprecated: "Replaced by `http.request.header.host`." + brief: > + The value of the [HTTP host header](https://tools.ietf.org/html/rfc7230#section-5.4). + + An empty Host header should also be reported, see note. + note: > + When the header is present but empty the attribute SHOULD be set to + the empty string. Note that this is a valid situation that is expected + in certain cases, according the aforementioned + [section of RFC 7230](https://tools.ietf.org/html/rfc7230#section-5.4). + When the header is not set the attribute MUST NOT be set. + sampling_relevant: true + examples: ['www.example.org'] - id: flavor type: allow_custom_values: true From af5b9c131674dc737bd05c067f292688698c3c94 Mon Sep 17 00:00:00 2001 From: Daniel Dyla Date: Thu, 9 May 2024 16:25:16 -0400 Subject: [PATCH 3/9] Add uncompressed request and response content length to deprecated --- model/registry/deprecated/http.yaml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/model/registry/deprecated/http.yaml b/model/registry/deprecated/http.yaml index 6e8982018b..9730f6f61e 100644 --- a/model/registry/deprecated/http.yaml +++ b/model/registry/deprecated/http.yaml @@ -82,6 +82,20 @@ groups: When the header is not set the attribute MUST NOT be set. sampling_relevant: true examples: ['www.example.org'] + - id: request_content_length_uncompressed + stability: experimental + deprecated: "Removed in 1.13" + type: int + brief: > + The size of the uncompressed request payload body after transport decoding. Not set if transport encoding not used. + examples: 5493 + - id: response_content_length_uncompressed + stability: experimental + deprecated: "Removed in 1.13" + type: int + brief: > + The size of the uncompressed response payload body after transport decoding. Not set if transport encoding not used. + examples: 5493 - id: flavor type: allow_custom_values: true From 56be97b154728ab292f825a6ec308c8cbd732606 Mon Sep 17 00:00:00 2001 From: Daniel Dyla Date: Thu, 9 May 2024 16:27:09 -0400 Subject: [PATCH 4/9] Add http.server_name to deprecated --- model/registry/deprecated/http.yaml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/model/registry/deprecated/http.yaml b/model/registry/deprecated/http.yaml index 9730f6f61e..265da3624d 100644 --- a/model/registry/deprecated/http.yaml +++ b/model/registry/deprecated/http.yaml @@ -96,6 +96,18 @@ groups: brief: > The size of the uncompressed response payload body after transport decoding. Not set if transport encoding not used. examples: 5493 + - id: server_name + type: string + stability: experimental + deprecated: "Replaced by `net.host.name`." + brief: > + 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). + note: > + `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. open-telemetry/opentelemetry-python/pull/148). + It is thus preferred to supply the raw data that is available. + examples: ['example.com'] - id: flavor type: allow_custom_values: true From 411635df2c5d7836ff022d40cf4ba1b2b06096d2 Mon Sep 17 00:00:00 2001 From: Daniel Dyla Date: Thu, 9 May 2024 16:40:19 -0400 Subject: [PATCH 5/9] Changelog --- .chloggen/deprecated-http.client_ip.yaml | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100755 .chloggen/deprecated-http.client_ip.yaml diff --git a/.chloggen/deprecated-http.client_ip.yaml b/.chloggen/deprecated-http.client_ip.yaml new file mode 100755 index 0000000000..9fce588b1c --- /dev/null +++ b/.chloggen/deprecated-http.client_ip.yaml @@ -0,0 +1,22 @@ +# Use this changelog template to create an entry for release notes. +# +# If your change doesn't affect end users you should instead start +# your pull request title with [chore] or use the "Skip Changelog" label. + +# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' +change_type: 'bug_fix' + +# The name of the area of concern in the attributes-registry, (e.g. http, cloud, db) +component: deprecated + +# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). +note: Add deprecated http attributes to registry + +# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. +# The values here must be integers. +issues: [1025] + +# (Optional) One or more lines of additional information to render under the primary note. +# These lines will be padded with 2 spaces and then inserted directly into the document. +# Use pipe (|) for multiline entries. +subtext: These attributes were deprecated in 1.13 From d5c8d8da415c738ff30b8cfbfa65e0747e607910 Mon Sep 17 00:00:00 2001 From: Daniel Dyla Date: Fri, 10 May 2024 08:25:22 -0400 Subject: [PATCH 6/9] Review comments --- .chloggen/deprecated-http.client_ip.yaml | 4 +-- docs/attributes-registry/http.md | 27 +++++++++------- model/registry/deprecated/http.yaml | 41 +++--------------------- 3 files changed, 23 insertions(+), 49 deletions(-) diff --git a/.chloggen/deprecated-http.client_ip.yaml b/.chloggen/deprecated-http.client_ip.yaml index 9fce588b1c..4f6836eceb 100755 --- a/.chloggen/deprecated-http.client_ip.yaml +++ b/.chloggen/deprecated-http.client_ip.yaml @@ -4,10 +4,10 @@ # your pull request title with [chore] or use the "Skip Changelog" label. # One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' -change_type: 'bug_fix' +change_type: 'deprecation' # The name of the area of concern in the attributes-registry, (e.g. http, cloud, db) -component: deprecated +component: http # A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). note: Add deprecated http attributes to registry diff --git a/docs/attributes-registry/http.md b/docs/attributes-registry/http.md index 5877bc0421..67c92804f0 100644 --- a/docs/attributes-registry/http.md +++ b/docs/attributes-registry/http.md @@ -82,17 +82,22 @@ SHOULD include the [application root](/docs/http/http-spans.md#http-server-defin Describes deprecated HTTP attributes. -| Attribute | Type | Description | Examples | Stability | -| ------------------------------ | ------ | -------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | -| `http.flavor` | string | Deprecated, use `network.protocol.name` instead. | `1.0`; `1.1`; `2.0` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Replaced by `network.protocol.name`. | -| `http.method` | string | Deprecated, use `http.request.method` instead. | `GET`; `POST`; `HEAD` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Replaced by `http.request.method`. | -| `http.request_content_length` | int | Deprecated, use `http.request.header.content-length` instead. | `3495` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Replaced by `http.request.header.content-length`. | -| `http.response_content_length` | int | Deprecated, use `http.response.header.content-length` instead. | `3495` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Replaced by `http.response.header.content-length`. | -| `http.scheme` | string | Deprecated, use `url.scheme` instead. | `http`; `https` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Replaced by `url.scheme` instead. | -| `http.status_code` | int | Deprecated, use `http.response.status_code` instead. | `200` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Replaced by `http.response.status_code`. | -| `http.target` | string | Deprecated, use `url.path` and `url.query` instead. | `/search?q=OpenTelemetry#SemConv` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Split to `url.path` and `url.query. | -| `http.url` | string | Deprecated, use `url.full` instead. | `https://www.foo.bar/search?q=OpenTelemetry#SemConv` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Replaced by `url.full`. | -| `http.user_agent` | string | Deprecated, use `user_agent.original` instead. | `CERN-LineMode/2.15 libwww/2.17b3`; `Mozilla/5.0 (iPhone; CPU iPhone OS 14_7_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1.2 Mobile/15E148 Safari/604.1` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Replaced by `user_agent.original`. | +| Attribute | Type | Description | Examples | Stability | +| ------------------------------------------- | ------ | -------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | +| `http.client_ip` | string | Deprecated, use `client.address` instead. | `83.164.160.102` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Replaced by `client.address`. | +| `http.flavor` | string | Deprecated, use `network.protocol.name` instead. | `1.0`; `1.1`; `2.0` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Replaced by `network.protocol.name`. | +| `http.host` | string | Deprecated, use `http.request.header.host` instead. | `www.example.org` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Replaced by `http.request.header.host`. | +| `http.method` | string | Deprecated, use `http.request.method` instead. | `GET`; `POST`; `HEAD` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Replaced by `http.request.method`. | +| `http.request_content_length` | int | Deprecated, use `http.request.header.content-length` instead. | `3495` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Replaced by `http.request.header.content-length`. | +| `http.request_content_length_uncompressed` | int | Deprecated, use `http.request_content_length` instead. | `5493` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Removed in 1.13 | +| `http.response_content_length` | int | Deprecated, use `http.response.header.content-length` instead. | `3495` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Replaced by `http.response.header.content-length`. | +| `http.response_content_length_uncompressed` | int | Deprecated, use `http.response_content_length` instead. | `5493` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Removed in 1.13 | +| `http.scheme` | string | Deprecated, use `url.scheme` instead. | `http`; `https` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Replaced by `url.scheme` instead. | +| `http.server_name` | string | Deprecated, use `net.host.name` instead. | `example.com` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Replaced by `net.host.name`. | +| `http.status_code` | int | Deprecated, use `http.response.status_code` instead. | `200` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Replaced by `http.response.status_code`. | +| `http.target` | string | Deprecated, use `url.path` and `url.query` instead. | `/search?q=OpenTelemetry#SemConv` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Split to `url.path` and `url.query. | +| `http.url` | string | Deprecated, use `url.full` instead. | `https://www.foo.bar/search?q=OpenTelemetry#SemConv` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Replaced by `url.full`. | +| `http.user_agent` | string | Deprecated, use `user_agent.original` instead. | `CERN-LineMode/2.15 libwww/2.17b3`; `Mozilla/5.0 (iPhone; CPU iPhone OS 14_7_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1.2 Mobile/15E148 Safari/604.1` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Replaced by `user_agent.original`. | `http.flavor` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used. diff --git a/model/registry/deprecated/http.yaml b/model/registry/deprecated/http.yaml index 265da3624d..a92642eb87 100644 --- a/model/registry/deprecated/http.yaml +++ b/model/registry/deprecated/http.yaml @@ -50,63 +50,32 @@ groups: type: string stability: experimental deprecated: "Replaced by `client.address`." - brief: > - The IP address of the original client behind all proxies, if - known (e.g. from [X-Forwarded-For](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-For)). - note: | - This is not necessarily the same as `net.sock.peer.addr`, which would - identify the network-level peer, which may be a proxy. - - This attribute should be set when a source of information different - from the one used for `net.sock.peer.addr`, is available even if that other - source just confirms the same value as `net.sock.peer.addr`. - Rationale: For `net.sock.peer.addr`, one typically does not know if it - comes from a proxy, reverse proxy, or the actual client. Setting - `http.client_ip` when it's the same as `net.sock.peer.addr` means that - one is at least somewhat confident that the address is not that of - the closest proxy. + brief: "Deprecated, use `client.address` instead." examples: '83.164.160.102' - id: host type: string stability: experimental deprecated: "Replaced by `http.request.header.host`." - brief: > - The value of the [HTTP host header](https://tools.ietf.org/html/rfc7230#section-5.4). - - An empty Host header should also be reported, see note. - note: > - When the header is present but empty the attribute SHOULD be set to - the empty string. Note that this is a valid situation that is expected - in certain cases, according the aforementioned - [section of RFC 7230](https://tools.ietf.org/html/rfc7230#section-5.4). - When the header is not set the attribute MUST NOT be set. + brief: "Deprecated, use `http.request.header.host` instead." sampling_relevant: true examples: ['www.example.org'] - id: request_content_length_uncompressed stability: experimental deprecated: "Removed in 1.13" type: int - brief: > - The size of the uncompressed request payload body after transport decoding. Not set if transport encoding not used. + brief: "Deprecated, use `http.request_content_length` instead." examples: 5493 - id: response_content_length_uncompressed stability: experimental deprecated: "Removed in 1.13" type: int - brief: > - The size of the uncompressed response payload body after transport decoding. Not set if transport encoding not used. + brief: "Deprecated, use `http.response_content_length` instead." examples: 5493 - id: server_name type: string stability: experimental deprecated: "Replaced by `net.host.name`." - brief: > - 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). - note: > - `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. open-telemetry/opentelemetry-python/pull/148). - It is thus preferred to supply the raw data that is available. + brief: "Deprecated, use `net.host.name` instead." examples: ['example.com'] - id: flavor type: From 1ebeee6fd9cc677b466a363a1ac17499e9986f9d Mon Sep 17 00:00:00 2001 From: Daniel Dyla Date: Fri, 10 May 2024 11:11:12 -0400 Subject: [PATCH 7/9] Apply suggestions from code review Co-authored-by: Trask Stalnaker --- model/registry/deprecated/http.yaml | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/model/registry/deprecated/http.yaml b/model/registry/deprecated/http.yaml index a92642eb87..d79c89efe5 100644 --- a/model/registry/deprecated/http.yaml +++ b/model/registry/deprecated/http.yaml @@ -55,27 +55,26 @@ groups: - id: host type: string stability: experimental - deprecated: "Replaced by `http.request.header.host`." - brief: "Deprecated, use `http.request.header.host` instead." - sampling_relevant: true + deprecated: "Replaced by one of `server.address`, `client.address` or `http.request.header.host`, depending on the usage." + brief: "Deprecated, use one of `server.address`, `client.address` or `http.request.header.host` instead, depending on the usage." examples: ['www.example.org'] - id: request_content_length_uncompressed stability: experimental deprecated: "Removed in 1.13" type: int - brief: "Deprecated, use `http.request_content_length` instead." + brief: "Deprecated, use `http.request.body.size` instead." examples: 5493 - id: response_content_length_uncompressed stability: experimental deprecated: "Removed in 1.13" type: int - brief: "Deprecated, use `http.response_content_length` instead." + brief: "Deprecated, use `http.response.body.size` instead." examples: 5493 - id: server_name type: string stability: experimental - deprecated: "Replaced by `net.host.name`." - brief: "Deprecated, use `net.host.name` instead." + deprecated: "Replaced by `server.address`." + brief: "Deprecated, use `server.address` instead." examples: ['example.com'] - id: flavor type: From 3bd13a312bad8b5f68d246849f2bffd647124455 Mon Sep 17 00:00:00 2001 From: Daniel Dyla Date: Fri, 10 May 2024 11:12:44 -0400 Subject: [PATCH 8/9] Generate markdown --- docs/attributes-registry/http.md | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/docs/attributes-registry/http.md b/docs/attributes-registry/http.md index 67c92804f0..f4b1444cf1 100644 --- a/docs/attributes-registry/http.md +++ b/docs/attributes-registry/http.md @@ -82,22 +82,22 @@ SHOULD include the [application root](/docs/http/http-spans.md#http-server-defin Describes deprecated HTTP attributes. -| Attribute | Type | Description | Examples | Stability | -| ------------------------------------------- | ------ | -------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | -| `http.client_ip` | string | Deprecated, use `client.address` instead. | `83.164.160.102` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Replaced by `client.address`. | -| `http.flavor` | string | Deprecated, use `network.protocol.name` instead. | `1.0`; `1.1`; `2.0` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Replaced by `network.protocol.name`. | -| `http.host` | string | Deprecated, use `http.request.header.host` instead. | `www.example.org` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Replaced by `http.request.header.host`. | -| `http.method` | string | Deprecated, use `http.request.method` instead. | `GET`; `POST`; `HEAD` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Replaced by `http.request.method`. | -| `http.request_content_length` | int | Deprecated, use `http.request.header.content-length` instead. | `3495` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Replaced by `http.request.header.content-length`. | -| `http.request_content_length_uncompressed` | int | Deprecated, use `http.request_content_length` instead. | `5493` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Removed in 1.13 | -| `http.response_content_length` | int | Deprecated, use `http.response.header.content-length` instead. | `3495` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Replaced by `http.response.header.content-length`. | -| `http.response_content_length_uncompressed` | int | Deprecated, use `http.response_content_length` instead. | `5493` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Removed in 1.13 | -| `http.scheme` | string | Deprecated, use `url.scheme` instead. | `http`; `https` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Replaced by `url.scheme` instead. | -| `http.server_name` | string | Deprecated, use `net.host.name` instead. | `example.com` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Replaced by `net.host.name`. | -| `http.status_code` | int | Deprecated, use `http.response.status_code` instead. | `200` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Replaced by `http.response.status_code`. | -| `http.target` | string | Deprecated, use `url.path` and `url.query` instead. | `/search?q=OpenTelemetry#SemConv` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Split to `url.path` and `url.query. | -| `http.url` | string | Deprecated, use `url.full` instead. | `https://www.foo.bar/search?q=OpenTelemetry#SemConv` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Replaced by `url.full`. | -| `http.user_agent` | string | Deprecated, use `user_agent.original` instead. | `CERN-LineMode/2.15 libwww/2.17b3`; `Mozilla/5.0 (iPhone; CPU iPhone OS 14_7_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1.2 Mobile/15E148 Safari/604.1` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Replaced by `user_agent.original`. | +| Attribute | Type | Description | Examples | Stability | +| ------------------------------------------- | ------ | ------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `http.client_ip` | string | Deprecated, use `client.address` instead. | `83.164.160.102` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Replaced by `client.address`. | +| `http.flavor` | string | Deprecated, use `network.protocol.name` instead. | `1.0`; `1.1`; `2.0` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Replaced by `network.protocol.name`. | +| `http.host` | string | Deprecated, use one of `server.address`, `client.address` or `http.request.header.host` instead, depending on the usage. | `www.example.org` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Replaced by one of `server.address`, `client.address` or `http.request.header.host`, depending on the usage. | +| `http.method` | string | Deprecated, use `http.request.method` instead. | `GET`; `POST`; `HEAD` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Replaced by `http.request.method`. | +| `http.request_content_length` | int | Deprecated, use `http.request.header.content-length` instead. | `3495` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Replaced by `http.request.header.content-length`. | +| `http.request_content_length_uncompressed` | int | Deprecated, use `http.request.body.size` instead. | `5493` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Removed in 1.13 | +| `http.response_content_length` | int | Deprecated, use `http.response.header.content-length` instead. | `3495` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Replaced by `http.response.header.content-length`. | +| `http.response_content_length_uncompressed` | int | Deprecated, use `http.response.body.size` instead. | `5493` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Removed in 1.13 | +| `http.scheme` | string | Deprecated, use `url.scheme` instead. | `http`; `https` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Replaced by `url.scheme` instead. | +| `http.server_name` | string | Deprecated, use `server.address` instead. | `example.com` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Replaced by `server.address`. | +| `http.status_code` | int | Deprecated, use `http.response.status_code` instead. | `200` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Replaced by `http.response.status_code`. | +| `http.target` | string | Deprecated, use `url.path` and `url.query` instead. | `/search?q=OpenTelemetry#SemConv` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Split to `url.path` and `url.query. | +| `http.url` | string | Deprecated, use `url.full` instead. | `https://www.foo.bar/search?q=OpenTelemetry#SemConv` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Replaced by `url.full`. | +| `http.user_agent` | string | Deprecated, use `user_agent.original` instead. | `CERN-LineMode/2.15 libwww/2.17b3`; `Mozilla/5.0 (iPhone; CPU iPhone OS 14_7_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1.2 Mobile/15E148 Safari/604.1` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Replaced by `user_agent.original`. | `http.flavor` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used. From 73f85d99a7ddfbd8c48af2e12fb70dad7b84ed1b Mon Sep 17 00:00:00 2001 From: Daniel Dyla Date: Fri, 10 May 2024 12:49:05 -0400 Subject: [PATCH 9/9] Review comments --- .chloggen/deprecated-http.client_ip.yaml | 4 ++-- docs/attributes-registry/http.md | 4 ++-- model/registry/deprecated/http.yaml | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.chloggen/deprecated-http.client_ip.yaml b/.chloggen/deprecated-http.client_ip.yaml index 4f6836eceb..57e6224137 100755 --- a/.chloggen/deprecated-http.client_ip.yaml +++ b/.chloggen/deprecated-http.client_ip.yaml @@ -4,13 +4,13 @@ # your pull request title with [chore] or use the "Skip Changelog" label. # One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' -change_type: 'deprecation' +change_type: 'bug_fix' # The name of the area of concern in the attributes-registry, (e.g. http, cloud, db) component: http # A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: Add deprecated http attributes to registry +note: Add previously deprecated http attributes to registry # Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. # The values here must be integers. diff --git a/docs/attributes-registry/http.md b/docs/attributes-registry/http.md index f4b1444cf1..21b3eca99b 100644 --- a/docs/attributes-registry/http.md +++ b/docs/attributes-registry/http.md @@ -89,9 +89,9 @@ Describes deprecated HTTP attributes. | `http.host` | string | Deprecated, use one of `server.address`, `client.address` or `http.request.header.host` instead, depending on the usage. | `www.example.org` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Replaced by one of `server.address`, `client.address` or `http.request.header.host`, depending on the usage. | | `http.method` | string | Deprecated, use `http.request.method` instead. | `GET`; `POST`; `HEAD` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Replaced by `http.request.method`. | | `http.request_content_length` | int | Deprecated, use `http.request.header.content-length` instead. | `3495` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Replaced by `http.request.header.content-length`. | -| `http.request_content_length_uncompressed` | int | Deprecated, use `http.request.body.size` instead. | `5493` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Removed in 1.13 | +| `http.request_content_length_uncompressed` | int | Deprecated, use `http.request.body.size` instead. | `5493` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Replaced by `http.request.body.size`. | | `http.response_content_length` | int | Deprecated, use `http.response.header.content-length` instead. | `3495` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Replaced by `http.response.header.content-length`. | -| `http.response_content_length_uncompressed` | int | Deprecated, use `http.response.body.size` instead. | `5493` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Removed in 1.13 | +| `http.response_content_length_uncompressed` | int | Deprecated, use `http.response.body.size` instead. | `5493` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Replace by `http.response.body.size`. | | `http.scheme` | string | Deprecated, use `url.scheme` instead. | `http`; `https` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Replaced by `url.scheme` instead. | | `http.server_name` | string | Deprecated, use `server.address` instead. | `example.com` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Replaced by `server.address`. | | `http.status_code` | int | Deprecated, use `http.response.status_code` instead. | `200` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Replaced by `http.response.status_code`. | diff --git a/model/registry/deprecated/http.yaml b/model/registry/deprecated/http.yaml index d79c89efe5..6fc36ef838 100644 --- a/model/registry/deprecated/http.yaml +++ b/model/registry/deprecated/http.yaml @@ -60,13 +60,13 @@ groups: examples: ['www.example.org'] - id: request_content_length_uncompressed stability: experimental - deprecated: "Removed in 1.13" + deprecated: "Replaced by `http.request.body.size`." type: int brief: "Deprecated, use `http.request.body.size` instead." examples: 5493 - id: response_content_length_uncompressed stability: experimental - deprecated: "Removed in 1.13" + deprecated: "Replace by `http.response.body.size`." type: int brief: "Deprecated, use `http.response.body.size` instead." examples: 5493