-
Notifications
You must be signed in to change notification settings - Fork 941
BREAKING: Replace net.peer.*/net.host.* with client.*/server.* (and source.*/destination.*)
#3402
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
30 commits
Select commit
Hold shift + click to select a range
b555081
Align network attributes with ECS
cb420e2
up
fbcf76f
changelog
5adafdd
nits and missing parts
1e4aed9
lint
9ef2caf
add source and destination and fix some nits
a479795
Update specification/trace/semantic_conventions/span-general.md
795eee7
Update semantic_conventions/trace/source.yaml
4342d40
cleanups and move new conventions to comon folder
264214e
bookmarks
7cc0802
lint
f52780c
Update CHANGELOG.md
af08a7f
Update schemas/1.21.0
ed33462
Update schemas/1.21.0
f5cffd7
lint
7e5c5aa
add client.address and port and add client to rpc trace attributes
eaa1f87
more nits
582ead7
more nits
f92c55d
lint
e7fbbe1
up
855d546
move deprecated attributes to a different folder and some cleanups
3c7c7f1
move server.socket.* from common http attributes to client and server
22f8e18
PR feedback
f47e2b1
Apply suggestions from code review
d6f0a36
regenerate md
c37b62b
feedback: transformation, server.address for IP
bbb9f10
remove only from .address condition
9030cde
Merge branch 'main' into ecs-net-attributes
reyang 8dedbee
Clarify client/server/source/destination
trask 41056bb
Merge branch 'main' into ecs-net-attributes
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,38 @@ | ||
| groups: | ||
| - id: client | ||
| prefix: client | ||
| type: attribute_group | ||
| brief: > | ||
| These attributes may be used to describe the client in a connection-based network interaction | ||
| where there is one side that initiates the connection (the client is the side that initiates the connection). | ||
| This covers all TCP network interactions since TCP is connection-based and one side initiates the | ||
| connection (an exception is made for peer-to-peer communication over TCP where the "user-facing" surface of the | ||
| protocol / API does not expose a clear notion of client and server). | ||
| This also covers UDP network interactions where one side initiates the interaction, e.g. QUIC (HTTP/3) and DNS. | ||
| attributes: | ||
| - id: address | ||
| type: string | ||
| brief: Client address - unix domain socket name, IPv4 or IPv6 address. | ||
| note: > | ||
| When observed from the server side, and when communicating through an intermediary, `client.address` SHOULD represent | ||
| client address behind any intermediaries (e.g. proxies) if it's available. | ||
| examples: ['/tmp/my.sock', '10.1.2.80'] | ||
| - id: port | ||
| type: int | ||
| brief: 'Client port number' | ||
| examples: [65123] | ||
| note: > | ||
| When observed from the server side, and when communicating through an intermediary, `client.port` SHOULD represent | ||
| client port behind any intermediaries (e.g. proxies) if it's available. | ||
| - id: socket.address | ||
| type: string | ||
| brief: Immediate client peer address - unix domain socket name, IPv4 or IPv6 address. | ||
| examples: ['/tmp/my.sock', '127.0.0.1'] | ||
| requirement_level: | ||
| recommended: If different than `client.address`. | ||
| - id: socket.port | ||
| type: int | ||
| brief: 'Immediate client peer port number' | ||
| examples: [35555] | ||
| requirement_level: | ||
| recommended: If different than `client.port`. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,53 @@ | ||
| groups: | ||
| - id: network-deprecated | ||
| prefix: net | ||
| type: attribute_group | ||
| brief: > | ||
| These attributes may be used for any network related operation. | ||
| attributes: | ||
| - id: sock.peer.name | ||
| type: string | ||
| stability: deprecated | ||
| brief: Deprecated, use `server.socket.domain` on client spans. | ||
| examples: ['/var/my.sock'] | ||
| - id: sock.peer.addr | ||
| type: string | ||
| stability: deprecated | ||
| brief: > | ||
| Deprecated, use `server.socket.address` on client spans and `client.socket.address` on server spans. | ||
| examples: ['192.168.0.1'] | ||
| - id: sock.peer.port | ||
| type: int | ||
| stability: deprecated | ||
| examples: [65531] | ||
| brief: Deprecated, use `server.socket.port` on client spans and `client.socket.port` on server spans. | ||
| - id: peer.name | ||
| type: string | ||
| stability: deprecated | ||
| brief: Deprecated, use `server.address` on client spans and `client.address` on server spans. | ||
| examples: ['example.com'] | ||
| - id: peer.port | ||
| type: int | ||
| stability: deprecated | ||
| brief: Deprecated, use `server.port` on client spans and `client.port` on server spans. | ||
| examples: [8080] | ||
| - id: host.name | ||
| type: string | ||
| stability: deprecated | ||
| brief: Deprecated, use `server.address`. | ||
| examples: ['example.com'] | ||
| - id: host.port | ||
| type: int | ||
| stability: deprecated | ||
| brief: Deprecated, use `server.port`. | ||
| examples: [8080] | ||
| - id: sock.host.addr | ||
| type: string | ||
| stability: deprecated | ||
| brief: Deprecated, use `server.socket.address`. | ||
| examples: ['/var/my.sock'] | ||
| - id: sock.host.port | ||
| type: int | ||
| stability: deprecated | ||
| brief: Deprecated, use `server.socket.port`. | ||
| examples: [8080] |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,24 @@ | ||
| groups: | ||
| - id: destination | ||
| prefix: destination | ||
| type: attribute_group | ||
| brief: These attributes may be used to describe the receiver of a network exchange/packet. These should be used | ||
| when there is no client/server relationship between the two sides, or when that relationship is unknown. | ||
| This covers low-level network interactions (e.g. packet tracing) where you don't know if | ||
| there was a connection or which side initiated it. | ||
| This also covers unidirectional UDP flows and peer-to-peer communication where the | ||
| "user-facing" surface of the protocol / API does not expose a clear notion of client and server. | ||
| attributes: | ||
| - id: domain | ||
| type: string | ||
| brief: The domain name of the destination system. | ||
| examples: ['foo.example.com'] | ||
| note: This value may be a host name, a fully qualified domain name, or another host naming format. | ||
| - id: address | ||
| type: string | ||
| brief: 'Peer address, for example IP address or UNIX socket name.' | ||
| examples: ['10.5.3.2'] | ||
| - id: port | ||
| type: int | ||
| brief: 'Peer port number' | ||
| examples: [3389, 2888] |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,37 @@ | ||
| groups: | ||
| - id: server | ||
| prefix: server | ||
| type: attribute_group | ||
| brief: > | ||
| These attributes may be used to describe the server in a connection-based network interaction | ||
| where there is one side that initiates the connection (the client is the side that initiates the connection). | ||
| This covers all TCP network interactions since TCP is connection-based and one side initiates the | ||
| connection (an exception is made for peer-to-peer communication over TCP where the "user-facing" surface of the | ||
| protocol / API does not expose a clear notion of client and server). | ||
| This also covers UDP network interactions where one side initiates the interaction, e.g. QUIC (HTTP/3) and DNS. | ||
| attributes: | ||
| - id: address | ||
| type: string | ||
| brief: 'Logical server hostname, matches server FQDN if available, and IP or socket address if FQDN is not known.' | ||
| examples: ['example.com'] | ||
| - id: port | ||
| type: int | ||
| brief: 'Logical server port number' | ||
| examples: [80, 8080, 443] | ||
| - id: socket.domain | ||
| type: string | ||
| brief: The domain name of an immediate peer. | ||
| examples: ['proxy.example.com'] | ||
| note: Typically observed from the client side, and represents a proxy or other intermediary domain name. | ||
| - id: socket.address | ||
| type: string | ||
| brief: Physical server IP address or Unix socket address. | ||
| examples: ['10.5.3.2'] | ||
| requirement_level: | ||
| recommended: If different than `server.address`. | ||
| - id: socket.port | ||
| type: int | ||
| brief: Physical server port. | ||
| examples: [16456] | ||
| requirement_level: | ||
| recommended: If different than `server.port`. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,24 @@ | ||
| groups: | ||
| - id: source | ||
| prefix: source | ||
| type: attribute_group | ||
| brief: These attributes may be used to describe the sender of a network exchange/packet. These should be used | ||
| when there is no client/server relationship between the two sides, or when that relationship is unknown. | ||
| This covers low-level network interactions (e.g. packet tracing) where you don't know if | ||
| there was a connection or which side initiated it. | ||
| This also covers unidirectional UDP flows and peer-to-peer communication where the | ||
| "user-facing" surface of the protocol / API does not expose a clear notion of client and server. | ||
| attributes: | ||
| - id: domain | ||
| type: string | ||
| brief: The domain name of the source system. | ||
| examples: ['foo.example.com'] | ||
| note: This value may be a host name, a fully qualified domain name, or another host naming format. | ||
| - id: address | ||
| type: string | ||
| brief: 'Source address, for example IP address or Unix socket name.' | ||
| examples: ['10.5.3.2'] | ||
| - id: port | ||
| type: int | ||
| brief: 'Source port number' | ||
| examples: [3389, 2888] |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.