Semantic Conventions for Connect RPC
Status: Experimental
The Semantic Conventions for Connect extend and override the RPC spans and RPC metrics Semantic Conventions that describe common RPC operations attributes in addition to the Semantic Conventions described on this page.
Connect RPC Attributes
rpc.system
MUST be set to "connect_rpc"
.
Below is a table of attributes that SHOULD be included on client and server Connect RPC measurements.
Attribute | Type | Description | Examples | Requirement Level | Stability |
---|---|---|---|---|---|
rpc.connect_rpc.error_code | string | The error codes of the Connect request. Error codes are always string values. | cancelled ; unknown ; invalid_argument | Conditionally Required [1] | |
rpc.connect_rpc.request.metadata.<key> | string[] | Connect request metadata, <key> being the normalized Connect Metadata key (lowercase), the value being the metadata values. [2] | rpc.request.metadata.my-custom-metadata-attribute=["1.2.3.4", "1.2.3.5"] | Opt-In | |
rpc.connect_rpc.response.metadata.<key> | string[] | Connect response metadata, <key> being the normalized Connect Metadata key (lowercase), the value being the metadata values. [3] | rpc.response.metadata.my-custom-metadata-attribute=["attribute_value"] | Opt-In |
[1] rpc.connect_rpc.error_code
: If response is not successful and if error code available.
[2] rpc.connect_rpc.request.metadata
: Instrumentations SHOULD require an explicit configuration of which metadata values are to be captured. Including all request metadata values can be a security risk - explicit configuration helps avoid leaking sensitive information.
[3] rpc.connect_rpc.response.metadata
: Instrumentations SHOULD require an explicit configuration of which metadata values are to be captured. Including all response metadata values can be a security risk - explicit configuration helps avoid leaking sensitive information.
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.
Value | Description | Stability |
---|---|---|
aborted | aborted | |
already_exists | already_exists | |
cancelled | cancelled | |
data_loss | data_loss | |
deadline_exceeded | deadline_exceeded | |
failed_precondition | failed_precondition | |
internal | internal | |
invalid_argument | invalid_argument | |
not_found | not_found | |
out_of_range | out_of_range | |
permission_denied | permission_denied | |
resource_exhausted | resource_exhausted | |
unauthenticated | unauthenticated | |
unavailable | unavailable | |
unimplemented | unimplemented | |
unknown | unknown |
Connect RPC Status
If rpc.connect_rpc.error_code
is set, Span Status MUST be set to Error
and left unset in all other cases.
Feedback
Was this page helpful?
Thank you. Your feedback is appreciated!
Please let us know how we can improve this page. Your feedback is appreciated!