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
|[`rpc.connect_rpc.error_code`](../../trace/semantic_conventions/rpc.md)| string | The [error codes](https://connect.build/docs/protocol/#error-codes) of the Connect request. Error codes are always string values. |`cancelled`| Conditionally Required: [1]|
179
+
180
+
**[1]:** If response is not successful and if error code available.
181
+
182
+
`rpc.connect_rpc.error_code` MUST be one of the following:
*[Connect RPC Request and Response Metadata](#connect-rpc-request-and-response-metadata)
23
27
-[JSON RPC](#json-rpc)
24
28
*[JSON RPC Attributes](#json-rpc-attributes)
25
29
@@ -92,6 +96,7 @@ Examples of span names:
92
96
|`java_rmi`| Java RMI |
93
97
|`dotnet_wcf`| .NET WCF |
94
98
|`apache_dubbo`| Apache Dubbo |
99
+
|`connect_rpc`| Connect RPC |
95
100
<!-- endsemconv -->
96
101
97
102
For client-side spans `net.peer.port` is required if the connection is IP-based and the port is available (it describes the server port they are connecting to).
@@ -213,6 +218,59 @@ The [Span Status](../api.md#set-status) MUST be left unset for an `OK` gRPC stat
213
218
**[1]:** Instrumentations SHOULD require an explicit configuration of which metadata values are to be captured.
214
219
Including all request/response metadata values can be a security risk - explicit configuration helps avoid leaking sensitive information.
215
220
221
+
## Connect RPC conventions
222
+
223
+
For remote procedure calls via [connect](http://connect.build), additional conventions are described in this section.
224
+
225
+
`rpc.system` MUST be set to `"connect_rpc"`.
226
+
227
+
### Connect RPC Attributes
228
+
229
+
Below is a table of attributes that SHOULD be included on client and server RPC measurements when `rpc.system` is `"connect_rpc"`.
|`rpc.connect_rpc.error_code`| string | The [error codes](https://connect.build/docs/protocol/#error-codes) of the Connect request. Error codes are always string values. |`cancelled`| Conditionally Required: [1]|
235
+
236
+
**[1]:** If response is not successful and if error code available.
237
+
238
+
`rpc.connect_rpc.error_code` MUST be one of the following:
239
+
240
+
| Value | Description |
241
+
|---|---|
242
+
|`cancelled`| cancelled |
243
+
|`unknown`| unknown |
244
+
|`invalid_argument`| invalid_argument |
245
+
|`deadline_exceeded`| deadline_exceeded |
246
+
|`not_found`| not_found |
247
+
|`already_exists`| already_exists |
248
+
|`permission_denied`| permission_denied |
249
+
|`resource_exhausted`| resource_exhausted |
250
+
|`failed_precondition`| failed_precondition |
251
+
|`aborted`| aborted |
252
+
|`out_of_range`| out_of_range |
253
+
|`unimplemented`| unimplemented |
254
+
|`internal`| internal |
255
+
|`unavailable`| unavailable |
256
+
|`data_loss`| data_loss |
257
+
|`unauthenticated`| unauthenticated |
258
+
<!-- endsemconv -->
259
+
260
+
### Connect RPC Status
261
+
262
+
If `rpc.connect_rpc.error_code` is set, [Span Status](../api.md#set-status) MUST be set to `Error` and left unset in all other cases.
|`rpc.connect_rpc.request.metadata.<key>`| string[]| Connect request metadata, `<key>` being the normalized Connect Metadata key (lowercase, with `-` characters replaced by `_`), the value being the metadata values. [1]|`rpc.request.metadata.my_custom_metadata_attribute=["1.2.3.4", "1.2.3.5"]`| Optional |
269
+
|`rpc.connect_rpc.response.metadata.<key>`| string[]| Connect response metadata, `<key>` being the normalized Connect Metadata key (lowercase, with `-` characters replaced by `_`), the value being the metadata values. [1]|`rpc.response.metadata.my_custom_metadata_attribute=["attribute_value"]`| Optional |
270
+
271
+
**[1]:** Instrumentations SHOULD require an explicit configuration of which metadata values are to be captured.
272
+
Including all request/response metadata values can be a security risk - explicit configuration helps avoid leaking sensitive information.
273
+
216
274
## JSON RPC
217
275
218
276
Conventions specific to [JSON RPC](https://www.jsonrpc.org/).
0 commit comments