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/cloud-providers/aws-sdk.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -45,7 +45,7 @@ interesting conventions are found.
45
45
|[`aws.request_id`](/docs/registry/attributes/aws.md)||`Recommended`| string | The AWS request ID as returned in the response headers `x-amzn-requestid`, `x-amzn-request-id` or `x-amz-request-id`. |`79b9da39-b7ae-508a-a6bc-864b2829c622`; `C9ER4AJX75574TDJ`|
46
46
|[`cloud.region`](/docs/registry/attributes/cloud.md)||`Recommended`| string | The AWS Region where the requested service is being accessed. [1]|`us-east-1`; `us-west-2`|
47
47
|[`rpc.method`](/docs/registry/attributes/rpc.md)||`Recommended`| string | The name of the operation corresponding to the request, as returned by the AWS SDK |`GetItem`; `PutItem`|
48
-
|[`rpc.service`](/docs/registry/attributes/rpc.md)||`Recommended`| string | The name of the service to which a request is made, as returned by the AWS SDK. |`DynamoDB`; `S3`|
48
+
|[`rpc.service`](/docs/registry/attributes/rpc.md)|<br>Value should be included in `rpc.method` which is expected to be a fully-qualified name.|`Recommended`| string | The name of the service to which a request is made, as returned by the AWS SDK. |`DynamoDB`; `S3`|
49
49
50
50
**[1]`cloud.region`:** Specifies the AWS Region that the SDK client targets for a given AWS service call. The attribute's value should adhere to the AWS Region codes outlined in the [AWS documentation](https://docs.aws.amazon.com/global-infrastructure/latest/regions/aws-regions.html#available-regions).
Copy file name to clipboardExpand all lines: docs/object-stores/s3.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -34,7 +34,7 @@ Semantic Conventions for AWS S3 client spans extend the general [AWS SDK Semanti
34
34
|[`aws.s3.upload_id`](/docs/registry/attributes/aws.md)||`Recommended`| string | Upload ID that identifies the multipart upload. [6]|`dfRtDYWFbkRONycy.Yxwh66Yjlx.cph0gtNBtJ`|
35
35
|[`cloud.region`](/docs/registry/attributes/cloud.md)||`Recommended`| string | The AWS Region where the requested service is being accessed. [7]|`us-east-1`; `us-west-2`|
36
36
|[`rpc.method`](/docs/registry/attributes/rpc.md)||`Recommended`| string | The name of the operation corresponding to the request, as returned by the AWS SDK |`GetItem`; `PutItem`|
37
-
|[`rpc.service`](/docs/registry/attributes/rpc.md)||`Recommended`| string | The name of the service to which a request is made, as returned by the AWS SDK. |`DynamoDB`; `S3`|
37
+
|[`rpc.service`](/docs/registry/attributes/rpc.md)|<br>Value should be included in `rpc.method` which is expected to be a fully-qualified name.|`Recommended`| string | The name of the service to which a request is made, as returned by the AWS SDK. |`DynamoDB`; `S3`|
38
38
39
39
**[1]`aws.s3.bucket`:** The `bucket` attribute is applicable to all S3 operations that reference a bucket, i.e. that require the bucket name as a mandatory parameter.
40
40
This applies to almost all S3 operations except `list-buckets`.
Copy file name to clipboardExpand all lines: docs/registry/attributes/rpc.md
+28-7Lines changed: 28 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -18,16 +18,38 @@ This document defines attributes for remote procedure calls.
18
18
| <aid="rpc-message-id"href="#rpc-message-id">`rpc.message.id`</a> || int | MUST be calculated as two different counters starting from `1` one for sent messages and one for received message. [1]||
19
19
| <aid="rpc-message-type"href="#rpc-message-type">`rpc.message.type`</a> || string | Whether this is a received or sent message. |`SENT`; `RECEIVED`|
20
20
| <aid="rpc-message-uncompressed-size"href="#rpc-message-uncompressed-size">`rpc.message.uncompressed_size`</a> || int | Uncompressed size of the message in bytes. ||
21
-
| <aid="rpc-method"href="#rpc-method">`rpc.method`</a> || string | This is the logical name of the method from the RPC interface perspective. [2]|`exampleMethod`|
21
+
| <aid="rpc-method"href="#rpc-method">`rpc.method`</a> || string | The fully-qualified logical name of the method from the RPC interface perspective. [2]|`com.example.ExampleService/exampleMethod`; `EchoService/Echo`; `_OTHER`|
22
+
| <aid="rpc-method-original"href="#rpc-method-original">`rpc.method_original`</a> || string | The original name of the method used by the client. |`com.myservice.EchoService/catchAll`; `com.myservice.EchoService/unknownMethod`; `InvalidMethod`|
22
23
| <aid="rpc-request-metadata"href="#rpc-request-metadata">`rpc.request.metadata.<key>`</a> || string[]| RPC request metadata, `<key>` being the normalized RPC metadata key (lowercase), the value being the metadata values. [3]|`["1.2.3.4", "1.2.3.5"]`|
23
24
| <aid="rpc-response-metadata"href="#rpc-response-metadata">`rpc.response.metadata.<key>`</a> || string[]| RPC response metadata, `<key>` being the normalized RPC metadata key (lowercase), the value being the metadata values. [4]|`["attribute_value"]`|
24
25
| <aid="rpc-response-status-code"href="#rpc-response-status-code">`rpc.response.status_code`</a> || string | Status code of the RPC returned by the RPC server or generated by the client [5]|`OK`; `DEADLINE_EXCEEDED`; `-32602`|
25
-
| <aid="rpc-service"href="#rpc-service">`rpc.service`</a> || string | The full (logical) name of the service being called, including its package name, if applicable. [6]|`myservice.EchoService`|
**[1]`rpc.message.id`:** This way we guarantee that the values will be consistent between different implementations.
29
29
30
-
**[2]`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 record the fully-qualified method actually executing the call on the server side, or the RPC client stub method on the client side.
30
+
**[2]`rpc.method`:** The method name MAY have unbounded cardinality in edge or error cases.
31
+
32
+
Some RPC frameworks or libraries provide a fixed set of recognized methods
33
+
for client stubs and server implementations. Instrumentations for such
34
+
frameworks MUST set this attribute to the original method name only
35
+
when the method is recognized by the framework or library.
36
+
37
+
When the method is not recognized, for example, when the server receives
38
+
a request for a method that is not predefined on the server, or when
39
+
instrumentation is not able to reliably detect if the method is predefined,
40
+
the attribute MUST be set to `_OTHER`. In such cases, tracing
41
+
instrumentations MUST also set `rpc.method_original` attribute to
42
+
the original method value.
43
+
44
+
If the RPC instrumentation could end up converting valid RPC methods to
45
+
`_OTHER`, then it SHOULD provide a way to configure the list of recognized
46
+
RPC methods.
47
+
48
+
The `rpc.method` can be different from the name of any implementing
49
+
method/function.
50
+
The `code.function.name` attribute may be used to record the fully-qualified
51
+
method actually executing the call on the server side, or the
52
+
RPC client stub method on the client side.
31
53
32
54
**[3]`rpc.request.metadata.<key>`:** Instrumentations SHOULD require an explicit configuration of which metadata values are to be captured.
33
55
Including all request metadata values can be a security risk - explicit configuration helps avoid leaking sensitive information.
@@ -44,9 +66,7 @@ the `rpc.response.metadata.my-custom-key` attribute with value `["attribute_valu
44
66
**[5]`rpc.response.status_code`:** Usually it represents an error code, but may also represent partial success, warning, or differentiate between various types of successful outcomes.
45
67
Semantic conventions for individual RPC frameworks SHOULD document what `rpc.response.status_code` means in the context of that system and which values are considered to represent errors.
46
68
47
-
**[6]`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.function.name` attribute may be used to record the fully-qualified method actually executing the call on the server side, or the RPC client stub class on the client side.
48
-
49
-
**[7]`rpc.system.name`:** The client and server RPC systems may differ for the same RPC interaction. For example, a client may use Apache Dubbo or Connect RPC to communicate with a server that uses gRPC since both protocols provide compatibility with gRPC.
69
+
**[6]`rpc.system.name`:** The client and server RPC systems may differ for the same RPC interaction. For example, a client may use Apache Dubbo or Connect RPC to communicate with a server that uses gRPC since both protocols provide compatibility with gRPC.
| <aid="rpc-jsonrpc-error-message"href="#rpc-jsonrpc-error-message">`rpc.jsonrpc.error_message`</a> |<br>Use the span status description or `error.message` attribute on other signals. | string | Deprecated, use span status description or `error.message` attribute on other signals. |`Parse error`; `User already exists`|
91
111
| <aid="rpc-jsonrpc-request-id"href="#rpc-jsonrpc-request-id">`rpc.jsonrpc.request_id`</a> |<br>Replaced by `jsonrpc.request.id`. | string | Deprecated, use `jsonrpc.request.id` instead. |`10`; `request-7`; `` |
92
112
| <aid="rpc-jsonrpc-version"href="#rpc-jsonrpc-version">`rpc.jsonrpc.version`</a> |<br>Replaced by `jsonrpc.protocol.version`. | string | Deprecated, use `jsonrpc.protocol.version` instead. |`2.0`; `1.0`|
113
+
| <aid="rpc-service"href="#rpc-service">`rpc.service`</a> |<br>Value should be included in `rpc.method` which is expected to be a fully-qualified name. | string | Deprecated, use fully-qualified `rpc.method` instead. |`myservice.EchoService`|
93
114
| <aid="rpc-system"href="#rpc-system">`rpc.system`</a> |<br>Replaced by `rpc.system.name`. | string | Deprecated, use `rpc.system.name` attribute instead. |`grpc`; `java_rmi`; `dotnet_wcf`|
0 commit comments