You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/rpc/connect-rpc.md
+16-40Lines changed: 16 additions & 40 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -44,11 +44,10 @@ This span represents an outgoing Remote Procedure Call (RPC).
44
44
|[`network.protocol.name`](/docs/registry/attributes/network.md)||`Recommended`| string |[OSI application layer](https://wikipedia.org/wiki/Application_layer) or non-OSI equivalent. [5]|`http`|
45
45
|[`network.protocol.version`](/docs/registry/attributes/network.md)||`Recommended`| string | The actual version of the protocol used for network communication. [6]|`1.1`; `2`|
46
46
|[`network.transport`](/docs/registry/attributes/network.md)||`Recommended`| string |[OSI transport layer](https://wikipedia.org/wiki/Transport_layer) or [inter-process communication method](https://wikipedia.org/wiki/Inter-process_communication). [7]|`tcp`; `udp`|
47
-
|[`network.type`](/docs/registry/attributes/network.md)||`Recommended`| string |[OSI network layer](https://wikipedia.org/wiki/Network_layer) or non-OSI equivalent. [8]|`ipv4`; `ipv6`|
48
-
|[`rpc.method`](/docs/registry/attributes/rpc.md)||`Recommended`| string | This is the logical name of the method from the RPC interface perspective. [9]|`exampleMethod`|
49
-
|[`rpc.service`](/docs/registry/attributes/rpc.md)||`Recommended`| string | The full (logical) name of the service being called, including its package name, if applicable. [10]|`myservice.EchoService`|
50
-
|[`rpc.connect_rpc.request.metadata.<key>`](/docs/registry/attributes/rpc.md)||`Opt-In`| string[]| Connect request metadata, `<key>` being the normalized Connect Metadata key (lowercase), the value being the metadata values. [11]|`["1.2.3.4", "1.2.3.5"]`|
51
-
|[`rpc.connect_rpc.response.metadata.<key>`](/docs/registry/attributes/rpc.md)||`Opt-In`| string[]| Connect response metadata, `<key>` being the normalized Connect Metadata key (lowercase), the value being the metadata values. [12]|`["attribute_value"]`|
47
+
|[`rpc.method`](/docs/registry/attributes/rpc.md)||`Recommended`| string | This is the logical name of the method from the RPC interface perspective. [8]|`exampleMethod`|
48
+
|[`rpc.service`](/docs/registry/attributes/rpc.md)||`Recommended`| string | The full (logical) name of the service being called, including its package name, if applicable. [9]|`myservice.EchoService`|
49
+
|[`rpc.connect_rpc.request.metadata.<key>`](/docs/registry/attributes/rpc.md)||`Opt-In`| string[]| Connect request metadata, `<key>` being the normalized Connect Metadata key (lowercase), the value being the metadata values. [10]|`["1.2.3.4", "1.2.3.5"]`|
50
+
|[`rpc.connect_rpc.response.metadata.<key>`](/docs/registry/attributes/rpc.md)||`Opt-In`| string[]| Connect response metadata, `<key>` being the normalized Connect Metadata key (lowercase), the value being the metadata values. [11]|`["attribute_value"]`|
52
51
53
52
**[1]`server.address`:** May contain server IP address, DNS name, or local socket name. When host component is an IP address, instrumentations SHOULD NOT do a reverse proxy lookup to obtain DNS name and SHOULD set `server.address` to the IP address provided in the host component.
54
53
@@ -86,19 +85,17 @@ Consider always setting the transport when setting a port number, since
86
85
a port number is ambiguous without knowing the transport. For example
87
86
different processes could be listening on TCP port 12345 and UDP port 12345.
88
87
89
-
**[8]`network.type`:** The value SHOULD be normalized to lowercase.
88
+
**[8]`rpc.method`:**This is the logical name of the method from the RPC interface perspective, which can be different from the name of any implementing method/function. The `code.function.name` attribute may be used to store the latter (e.g., method actually executing the call on the server side, RPC client stub method on the client side).
90
89
91
-
**[9]`rpc.method`:** This is the logical name of the method from the RPC interface perspective, which can be different from the name of any implementing method/function. The `code.function.name` attribute may be used to store the latter (e.g., method actually executing the call on the server side, RPC client stub method on the client side).
90
+
**[9]`rpc.service`:** This is the logical name of the service from the RPC interface perspective, which can be different from the name of any implementing class. The `code.namespace` attribute may be used to store the latter (despite the attribute name, it may include a class name; e.g., class with method actually executing the call on the server side, RPC client stub class on the client side).
92
91
93
-
**[10]`rpc.service`:** This is the logical name of the service from the RPC interface perspective, which can be different from the name of any implementing class. The `code.namespace` attribute may be used to store the latter (despite the attribute name, it may include a class name; e.g., class with method actually executing the call on the server side, RPC client stub class on the client side).
94
-
95
-
**[11]`rpc.connect_rpc.request.metadata.<key>`:** Instrumentations SHOULD require an explicit configuration of which metadata values are to be captured.
92
+
**[10]`rpc.connect_rpc.request.metadata.<key>`:** Instrumentations SHOULD require an explicit configuration of which metadata values are to be captured.
96
93
Including all request metadata values can be a security risk - explicit configuration helps avoid leaking sensitive information.
97
94
98
95
For example, a property `my-custom-key` with value `["1.2.3.4", "1.2.3.5"]` SHOULD be recorded as
99
96
the `rpc.connect_rpc.request.metadata.my-custom-key` attribute with value `["1.2.3.4", "1.2.3.5"]`
100
97
101
-
**[12]`rpc.connect_rpc.response.metadata.<key>`:** Instrumentations SHOULD require an explicit configuration of which metadata values are to be captured.
98
+
**[11]`rpc.connect_rpc.response.metadata.<key>`:** Instrumentations SHOULD require an explicit configuration of which metadata values are to be captured.
102
99
Including all response metadata values can be a security risk - explicit configuration helps avoid leaking sensitive information.
103
100
104
101
For example, a property `my-custom-key` with value `"attribute_value"` SHOULD be recorded as
@@ -126,15 +123,6 @@ the `rpc.connect_rpc.response.metadata.my-custom-key` attribute with value `["at
126
123
127
124
---
128
125
129
-
`network.type` 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.
`rpc.connect_rpc.error_code` 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.
139
127
140
128
| Value | Description | Stability |
@@ -197,11 +185,10 @@ This span represents an incoming Remote Procedure Call (RPC).
197
185
|[`network.protocol.name`](/docs/registry/attributes/network.md)||`Recommended`| string |[OSI application layer](https://wikipedia.org/wiki/Application_layer) or non-OSI equivalent. [7]|`http`|
198
186
|[`network.protocol.version`](/docs/registry/attributes/network.md)||`Recommended`| string | The actual version of the protocol used for network communication. [8]|`1.1`; `2`|
199
187
|[`network.transport`](/docs/registry/attributes/network.md)||`Recommended`| string |[OSI transport layer](https://wikipedia.org/wiki/Transport_layer) or [inter-process communication method](https://wikipedia.org/wiki/Inter-process_communication). [9]|`tcp`; `udp`|
200
-
|[`network.type`](/docs/registry/attributes/network.md)||`Recommended`| string |[OSI network layer](https://wikipedia.org/wiki/Network_layer) or non-OSI equivalent. [10]|`ipv4`; `ipv6`|
201
-
|[`rpc.method`](/docs/registry/attributes/rpc.md)||`Recommended`| string | This is the logical name of the method from the RPC interface perspective. [11]|`exampleMethod`|
202
-
|[`rpc.service`](/docs/registry/attributes/rpc.md)||`Recommended`| string | The full (logical) name of the service being called, including its package name, if applicable. [12]|`myservice.EchoService`|
203
-
|[`rpc.connect_rpc.request.metadata.<key>`](/docs/registry/attributes/rpc.md)||`Opt-In`| string[]| Connect request metadata, `<key>` being the normalized Connect Metadata key (lowercase), the value being the metadata values. [13]|`["1.2.3.4", "1.2.3.5"]`|
204
-
|[`rpc.connect_rpc.response.metadata.<key>`](/docs/registry/attributes/rpc.md)||`Opt-In`| string[]| Connect response metadata, `<key>` being the normalized Connect Metadata key (lowercase), the value being the metadata values. [14]|`["attribute_value"]`|
188
+
|[`rpc.method`](/docs/registry/attributes/rpc.md)||`Recommended`| string | This is the logical name of the method from the RPC interface perspective. [10]|`exampleMethod`|
189
+
|[`rpc.service`](/docs/registry/attributes/rpc.md)||`Recommended`| string | The full (logical) name of the service being called, including its package name, if applicable. [11]|`myservice.EchoService`|
190
+
|[`rpc.connect_rpc.request.metadata.<key>`](/docs/registry/attributes/rpc.md)||`Opt-In`| string[]| Connect request metadata, `<key>` being the normalized Connect Metadata key (lowercase), the value being the metadata values. [12]|`["1.2.3.4", "1.2.3.5"]`|
191
+
|[`rpc.connect_rpc.response.metadata.<key>`](/docs/registry/attributes/rpc.md)||`Opt-In`| string[]| Connect response metadata, `<key>` being the normalized Connect Metadata key (lowercase), the value being the metadata values. [13]|`["attribute_value"]`|
205
192
206
193
**[1]`server.address`:** May contain server IP address, DNS name, or local socket name. When host component is an IP address, instrumentations SHOULD NOT do a reverse proxy lookup to obtain DNS name and SHOULD set `server.address` to the IP address provided in the host component.
207
194
@@ -243,19 +230,17 @@ Consider always setting the transport when setting a port number, since
243
230
a port number is ambiguous without knowing the transport. For example
244
231
different processes could be listening on TCP port 12345 and UDP port 12345.
245
232
246
-
**[10]`network.type`:** The value SHOULD be normalized to lowercase.
233
+
**[10]`rpc.method`:**This is the logical name of the method from the RPC interface perspective, which can be different from the name of any implementing method/function. The `code.function.name` attribute may be used to store the latter (e.g., method actually executing the call on the server side, RPC client stub method on the client side).
247
234
248
-
**[11]`rpc.method`:** This is the logical name of the method from the RPC interface perspective, which can be different from the name of any implementing method/function. The `code.function.name` attribute may be used to store the latter (e.g., method actually executing the call on the server side, RPC client stub method on the client side).
235
+
**[11]`rpc.service`:** This is the logical name of the service from the RPC interface perspective, which can be different from the name of any implementing class. The `code.namespace` attribute may be used to store the latter (despite the attribute name, it may include a class name; e.g., class with method actually executing the call on the server side, RPC client stub class on the client side).
249
236
250
-
**[12]`rpc.service`:** This is the logical name of the service from the RPC interface perspective, which can be different from the name of any implementing class. The `code.namespace` attribute may be used to store the latter (despite the attribute name, it may include a class name; e.g., class with method actually executing the call on the server side, RPC client stub class on the client side).
251
-
252
-
**[13]`rpc.connect_rpc.request.metadata.<key>`:** Instrumentations SHOULD require an explicit configuration of which metadata values are to be captured.
237
+
**[12]`rpc.connect_rpc.request.metadata.<key>`:** Instrumentations SHOULD require an explicit configuration of which metadata values are to be captured.
253
238
Including all request metadata values can be a security risk - explicit configuration helps avoid leaking sensitive information.
254
239
255
240
For example, a property `my-custom-key` with value `["1.2.3.4", "1.2.3.5"]` SHOULD be recorded as
256
241
the `rpc.connect_rpc.request.metadata.my-custom-key` attribute with value `["1.2.3.4", "1.2.3.5"]`
257
242
258
-
**[14]`rpc.connect_rpc.response.metadata.<key>`:** Instrumentations SHOULD require an explicit configuration of which metadata values are to be captured.
243
+
**[13]`rpc.connect_rpc.response.metadata.<key>`:** Instrumentations SHOULD require an explicit configuration of which metadata values are to be captured.
259
244
Including all response metadata values can be a security risk - explicit configuration helps avoid leaking sensitive information.
260
245
261
246
For example, a property `my-custom-key` with value `"attribute_value"` SHOULD be recorded as
@@ -283,15 +268,6 @@ the `rpc.connect_rpc.response.metadata.my-custom-key` attribute with value `["at
283
268
284
269
---
285
270
286
-
`network.type` 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.
`rpc.connect_rpc.error_code` 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.
0 commit comments