Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .chloggen/migrate-http-v2.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
change_type: enhancement
component: http
note: Migrate HTTP semantic conventions to Weaver v2 schema
issues: [3809]
2 changes: 1 addition & 1 deletion docs/registry/attributes/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,8 +70,8 @@ Currently, the following namespaces exist:
- [GraphQL](graphql.md)
- [Hardware](hardware.md)
- [Heroku](heroku.md)
- [Home](home.md)
- [Host](host.md)
- [HTTP](http.md)
- [iOS](ios.md)
- [JSONRPC](jsonrpc.md)
- [JVM](jvm.md)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
<!-- NOTE: THIS FILE IS AUTOGENERATED. DO NOT EDIT BY HAND. -->
<!-- see templates/registry/markdown/attribute_namespace.md.j2 -->

# HTTP
# Home

- [HTTP Attributes](#http-attributes)
- [Deprecated HTTP Attributes](#deprecated-http-attributes)
- [Home Weaver Source HTTP Attributes](#home-weaver-source-http-attributes)
- [Home Weaver Source HTTP Deprecated Registry Deprecated Attributes](#home-weaver-source-http-deprecated-registry-deprecated-attributes)

## HTTP Attributes
## Home Weaver Source HTTP Attributes

This document defines semantic convention attributes in the HTTP namespace.
<synthetic v2>

**Attributes:**

Expand Down Expand Up @@ -123,9 +123,9 @@ support custom route formatting. Instrumentations SHOULD document the format and
| `QUERY` | QUERY method. | ![Development](https://img.shields.io/badge/-development-blue) |
| `TRACE` | TRACE method. | ![Stable](https://img.shields.io/badge/-stable-lightgreen) |

## Deprecated HTTP Attributes
## Home Weaver Source HTTP Deprecated Registry Deprecated Attributes

Describes deprecated HTTP attributes.
<synthetic v2>

**Attributes:**

Expand Down
17 changes: 8 additions & 9 deletions model/http/common.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
groups:
file_format: definition/2

attribute_groups:
- id: attributes.http.common
type: attribute_group
brief: "Describes HTTP attributes."
visibility: internal
attributes:
- ref: http.request.method
requirement_level: required
Expand Down Expand Up @@ -37,10 +38,9 @@ groups:
examples: ['1.0', '1.1', '2', '3']

- id: attributes.http.client
type: attribute_group
brief: 'HTTP Client attributes'
extends: attributes.http.common
visibility: internal
attributes:
- ref_group: attributes.http.common
- ref: server.address
requirement_level: required
note: |
Expand Down Expand Up @@ -68,10 +68,9 @@ groups:
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: attributes.http.server
type: attribute_group
brief: 'HTTP Server attributes'
extends: attributes.http.common
visibility: internal
attributes:
- ref_group: attributes.http.common
- ref: http.route
requirement_level:
conditionally_required: If and only if it's available
Expand Down
295 changes: 151 additions & 144 deletions model/http/deprecated/registry-deprecated.yaml
Original file line number Diff line number Diff line change
@@ -1,144 +1,151 @@
groups:
- id: registry.http.deprecated
type: attribute_group
display_name: Deprecated HTTP Attributes
brief: "Describes deprecated HTTP attributes."
attributes:
- id: http.method
type: string
brief: 'Deprecated, use `http.request.method` instead.'
stability: development
deprecated:
reason: renamed
renamed_to: http.request.method
examples: ["GET", "POST", "HEAD"]
Comment thread
Dipanshusinghh marked this conversation as resolved.
- id: http.status_code
type: int
brief: 'Deprecated, use `http.response.status_code` instead.'
stability: development
deprecated:
reason: renamed
renamed_to: http.response.status_code
examples: [200]
- id: http.scheme
type: string
brief: 'Deprecated, use `url.scheme` instead.'
stability: development
deprecated:
reason: renamed
renamed_to: url.scheme
examples: ['http', 'https']
- id: http.url
type: string
brief: 'Deprecated, use `url.full` instead.'
stability: development
deprecated:
reason: renamed
renamed_to: url.full
examples: ['https://www.foo.bar/search?q=OpenTelemetry#SemConv']
- id: http.target
type: string
brief: 'Deprecated, use `url.path` and `url.query` instead.'
stability: development
deprecated:
reason: obsoleted
note: Split to `url.path` and `url.query`.
examples: ['/search?q=OpenTelemetry#SemConv']
- id: http.request_content_length
type: int
brief: 'Deprecated, use `http.request.header.content-length` instead.'
stability: development
deprecated:
reason: uncategorized
note: Replaced by `http.request.header.content-length`.
examples: 3495
- id: http.response_content_length
type: int
brief: 'Deprecated, use `http.response.header.content-length` instead.'
stability: development
deprecated:
reason: uncategorized
note: Replaced by `http.response.header.content-length`.
examples: 3495
- id: http.client_ip
type: string
stability: development
deprecated:
reason: renamed
renamed_to: client.address
brief: "Deprecated, use `client.address` instead."
examples: '83.164.160.102'
- id: http.host
type: string
stability: development
deprecated:
reason: uncategorized
note: >
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: http.request_content_length_uncompressed
stability: development
deprecated:
reason: renamed
renamed_to: http.request.body.size
type: int
brief: "Deprecated, use `http.request.body.size` instead."
examples: 5493
- id: http.response_content_length_uncompressed
stability: development
deprecated:
reason: renamed
renamed_to: http.response.body.size
type: int
brief: "Deprecated, use `http.response.body.size` instead."
examples: 5493
- id: http.server_name
type: string
stability: development
deprecated:
reason: renamed
renamed_to: server.address
brief: "Deprecated, use `server.address` instead."
examples: ['example.com']
- id: http.flavor
type:
members:
- id: http_1_0
value: '1.0'
brief: 'HTTP/1.0'
stability: development
- id: http_1_1
value: '1.1'
brief: 'HTTP/1.1'
stability: development
- id: http_2_0
value: '2.0'
brief: 'HTTP/2'
stability: development
- id: http_3_0
value: '3.0'
brief: 'HTTP/3'
stability: development
- id: spdy
value: 'SPDY'
brief: 'SPDY protocol.'
stability: development
- id: quic
value: 'QUIC'
brief: 'QUIC protocol.'
stability: development
brief: 'Deprecated, use `network.protocol.name` and `network.protocol.version` instead.'
deprecated:
reason: uncategorized
note: "Split into `network.protocol.name` and `network.protocol.version`"
stability: development
- id: http.user_agent
type: string
brief: 'Deprecated, use `user_agent.original` instead.'
examples: ['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:
reason: renamed
renamed_to: user_agent.original
stability: development
file_format: definition/2


attributes:
- key: http.method
type: string
brief: 'Deprecated, use `http.request.method` instead.'
stability: development
deprecated:
reason: renamed
renamed_to: http.request.method
note: "Replaced by `http.request.method`."

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Strange that these are now required, have logged open-telemetry/weaver#1556 as this will be adding alot of un-necessary boilerplate.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @thompson-tomo,

Thanks for the help! Ihave fetched and applied your commit (a0c77f4) to my branch as requested.

I see the CI is still failing on link checks as expected due to the Weaver definition/2 issue i understand that this PR is now blocked until your PR #3836 is merged to fix the underlying tool issue
thnx for the help !

@thompson-tomo thompson-tomo Jul 2, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Correct this is now blocked until we have a solution for the attributes in the wrong namespace issue which my pr solves.

I have managed to descope my pr to avoid namespaces which had meaningful text which should make it easier to review.

examples: ["GET", "POST", "HEAD"]
- key: http.status_code
type: int
brief: 'Deprecated, use `http.response.status_code` instead.'
stability: development
deprecated:
reason: renamed
renamed_to: http.response.status_code
note: "Replaced by `http.response.status_code`."
examples: [200]
- key: http.scheme
type: string
brief: 'Deprecated, use `url.scheme` instead.'
stability: development
deprecated:
reason: renamed
renamed_to: url.scheme
note: "Replaced by `url.scheme`."
examples: ['http', 'https']
- key: http.url
type: string
brief: 'Deprecated, use `url.full` instead.'
stability: development
deprecated:
reason: renamed
renamed_to: url.full
note: "Replaced by `url.full`."
examples: ['https://www.foo.bar/search?q=OpenTelemetry#SemConv']
- key: http.target
type: string
brief: 'Deprecated, use `url.path` and `url.query` instead.'
stability: development
deprecated:
reason: obsoleted
note: Split to `url.path` and `url.query`.
examples: ['/search?q=OpenTelemetry#SemConv']
- key: http.request_content_length
type: int
brief: 'Deprecated, use `http.request.header.content-length` instead.'
stability: development
deprecated:
reason: uncategorized
note: Replaced by `http.request.header.content-length`.
examples: 3495
- key: http.response_content_length
type: int
brief: 'Deprecated, use `http.response.header.content-length` instead.'
stability: development
deprecated:
reason: uncategorized
note: Replaced by `http.response.header.content-length`.
examples: 3495
- key: http.client_ip
type: string
stability: development
deprecated:
reason: renamed
renamed_to: client.address
note: "Replaced by `client.address`."
brief: "Deprecated, use `client.address` instead."
examples: '83.164.160.102'
- key: http.host
type: string
stability: development
deprecated:
reason: uncategorized
note: >
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']
- key: http.request_content_length_uncompressed
stability: development
deprecated:
reason: renamed
renamed_to: http.request.body.size
note: "Replaced by `http.request.body.size`."
type: int
brief: "Deprecated, use `http.request.body.size` instead."
examples: 5493
- key: http.response_content_length_uncompressed
stability: development
deprecated:
reason: renamed
renamed_to: http.response.body.size
note: "Replaced by `http.response.body.size`."
type: int
brief: "Deprecated, use `http.response.body.size` instead."
examples: 5493
- key: http.server_name
type: string
stability: development
deprecated:
reason: renamed
renamed_to: server.address
note: "Replaced by `server.address`."
brief: "Deprecated, use `server.address` instead."
examples: ['example.com']
- key: http.flavor
type:
members:
- id: http_1_0
value: '1.0'
brief: 'HTTP/1.0'
stability: development
- id: http_1_1
value: '1.1'
brief: 'HTTP/1.1'
stability: development
- id: http_2_0
value: '2.0'
brief: 'HTTP/2'
stability: development
- id: http_3_0
value: '3.0'
brief: 'HTTP/3'
stability: development
- id: spdy
value: 'SPDY'
brief: 'SPDY protocol.'
stability: development
- id: quic
value: 'QUIC'
brief: 'QUIC protocol.'
stability: development
brief: 'Deprecated, use `network.protocol.name` and `network.protocol.version` instead.'
deprecated:
reason: uncategorized
note: "Split into `network.protocol.name` and `network.protocol.version`"
stability: development
- key: http.user_agent
type: string
brief: 'Deprecated, use `user_agent.original` instead.'
examples: ['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:
reason: renamed
renamed_to: user_agent.original
note: "Replaced by `user_agent.original`."
stability: development
Loading
Loading