Module: OpenTelemetry::SemConv::Incubating::RPC
- Defined in:
- lib/opentelemetry/semconv/incubating/rpc/metrics.rb,
lib/opentelemetry/semconv/incubating/rpc/attributes.rb
Metrics Names collapse
- RPC_CLIENT_CALL_DURATION =
Note:
Stability Level: development
Measures the duration of outbound remote procedure calls (RPC).
When this metric is reported alongside an RPC client span, the metric value SHOULD be the same as the RPC client span duration.
'rpc.client.call.duration'- RPC_CLIENT_DURATION =
Deprecated.
Replaced by
rpc.client.call.durationwith units.Note:Stability Level: development
Deprecated, use
rpc.client.call.durationinstead. Note: the unit also changed frommstos.While streaming RPCs may record this metric as start-of-batch to end-of-batch, it's hard to interpret in practice.
Streaming: N/A.
'rpc.client.duration'- RPC_CLIENT_REQUEST_SIZE =
Note:
Stability Level: development
Measures the size of RPC request messages (uncompressed).
Streaming: Recorded per message in a streaming batch
'rpc.client.request.size'- RPC_CLIENT_REQUESTS_PER_RPC =
Deprecated.
Removed, no replacement at this time.
Note:Stability Level: development
Measures the number of messages received per RPC.
Should be 1 for all non-streaming RPCs.
Streaming: This metric is required for server and client streaming RPCs
'rpc.client.requests_per_rpc'- RPC_CLIENT_RESPONSE_SIZE =
Note:
Stability Level: development
Measures the size of RPC response messages (uncompressed).
Streaming: Recorded per response in a streaming batch
'rpc.client.response.size'- RPC_CLIENT_RESPONSES_PER_RPC =
Deprecated.
Removed, no replacement at this time.
Note:Stability Level: development
Measures the number of messages sent per RPC.
Should be 1 for all non-streaming RPCs.
Streaming: This metric is required for server and client streaming RPCs
'rpc.client.responses_per_rpc'- RPC_SERVER_CALL_DURATION =
Note:
Stability Level: development
Measures the duration of inbound remote procedure calls (RPC).
When this metric is reported alongside an RPC server span, the metric value SHOULD be the same as the RPC server span duration.
'rpc.server.call.duration'- RPC_SERVER_DURATION =
Deprecated.
Replaced by
rpc.server.call.durationwith units.Note:Stability Level: development
Deprecated, use
rpc.server.call.durationinstead. Note: the unit also changed frommstos.While streaming RPCs may record this metric as start-of-batch to end-of-batch, it's hard to interpret in practice.
Streaming: N/A.
'rpc.server.duration'- RPC_SERVER_REQUEST_SIZE =
Note:
Stability Level: development
Measures the size of RPC request messages (uncompressed).
Streaming: Recorded per message in a streaming batch
'rpc.server.request.size'- RPC_SERVER_REQUESTS_PER_RPC =
Deprecated.
Removed, no replacement at this time.
Note:Stability Level: development
Measures the number of messages received per RPC.
Should be 1 for all non-streaming RPCs.
Streaming : This metric is required for server and client streaming RPCs
'rpc.server.requests_per_rpc'- RPC_SERVER_RESPONSE_SIZE =
Note:
Stability Level: development
Measures the size of RPC response messages (uncompressed).
Streaming: Recorded per response in a streaming batch
'rpc.server.response.size'- RPC_SERVER_RESPONSES_PER_RPC =
Deprecated.
Removed, no replacement at this time.
Note:Stability Level: development
Measures the number of messages sent per RPC.
Should be 1 for all non-streaming RPCs.
Streaming: This metric is required for server and client streaming RPCs
'rpc.server.responses_per_rpc'
Attribute Names collapse
- RPC_CONNECT_RPC_ERROR_CODE =
Deprecated.
Replaced by
rpc.response.status_code.Note:Stability Level: development
Deprecated, use
rpc.response.status_codeattribute instead. 'rpc.connect_rpc.error_code'- RPC_CONNECT_RPC_REQUEST_METADATA_LAMBDA =
Deprecated.
Replaced by
rpc.request.metadata.Note:Stability Level: development
Must be called with a key for the full attribute name. See notes below about the expectations for the state of the key.
Deprecated, use
rpc.request.metadatainstead. ->(key) { "rpc.connect_rpc.request.metadata.#{key}" }
- RPC_CONNECT_RPC_RESPONSE_METADATA_LAMBDA =
Deprecated.
Replaced by
rpc.response.metadata.Note:Stability Level: development
Must be called with a key for the full attribute name. See notes below about the expectations for the state of the key.
Deprecated, use
rpc.response.metadatainstead. ->(key) { "rpc.connect_rpc.response.metadata.#{key}" }
- RPC_GRPC_REQUEST_METADATA_LAMBDA =
Deprecated.
Replaced by
rpc.request.metadata.Note:Stability Level: development
Must be called with a key for the full attribute name. See notes below about the expectations for the state of the key.
Deprecated, use
rpc.request.metadatainstead. ->(key) { "rpc.grpc.request.metadata.#{key}" }
- RPC_GRPC_RESPONSE_METADATA_LAMBDA =
Deprecated.
Replaced by
rpc.response.metadata.Note:Stability Level: development
Must be called with a key for the full attribute name. See notes below about the expectations for the state of the key.
Deprecated, use
rpc.response.metadatainstead. ->(key) { "rpc.grpc.response.metadata.#{key}" }
- RPC_GRPC_STATUS_CODE =
Deprecated.
Use string representation of the gRPC status code on the
rpc.response.status_codeattribute.Note:Stability Level: development
Deprecated, use string representation on the
rpc.response.status_codeattribute instead. 'rpc.grpc.status_code'- RPC_JSONRPC_ERROR_CODE =
Deprecated.
Use string representation of the error code on the
rpc.response.status_codeattribute.Note:Stability Level: development
Deprecated, use string representation on the
rpc.response.status_codeattribute instead. 'rpc.jsonrpc.error_code'- RPC_JSONRPC_ERROR_MESSAGE =
Deprecated.
Use the span status description or
error.messageattribute on other signals.Note:Stability Level: development
Deprecated, use span status description or
error.messageattribute on other signals. 'rpc.jsonrpc.error_message'- RPC_JSONRPC_REQUEST_ID =
Deprecated.
Replaced by
jsonrpc.request.id.Note:Stability Level: development
Deprecated, use
jsonrpc.request.idinstead. 'rpc.jsonrpc.request_id'- RPC_JSONRPC_VERSION =
Deprecated.
Replaced by
jsonrpc.protocol.version.Note:Stability Level: development
Deprecated, use
jsonrpc.protocol.versioninstead. 'rpc.jsonrpc.version'- RPC_MESSAGE_COMPRESSED_SIZE =
Note:
Stability Level: development
Compressed size of the message in bytes.
'rpc.message.compressed_size'- RPC_MESSAGE_ID =
Note:
Stability Level: development
MUST be calculated as two different counters starting from
1one for sent messages and one for received message.This way we guarantee that the values will be consistent between different implementations.
'rpc.message.id'- RPC_MESSAGE_TYPE =
Note:
Stability Level: development
Whether this is a received or sent message.
'rpc.message.type'- RPC_MESSAGE_UNCOMPRESSED_SIZE =
Note:
Stability Level: development
Uncompressed size of the message in bytes.
'rpc.message.uncompressed_size'- RPC_METHOD =
Note:
Stability Level: development
The fully-qualified logical name of the method from the RPC interface perspective.
The method name MAY have unbounded cardinality in edge or error cases.
Some RPC frameworks or libraries provide a fixed set of recognized methods for client stubs and server implementations. Instrumentations for such frameworks MUST set this attribute to the original method name only when the method is recognized by the framework or library.
When the method is not recognized, for example, when the server receives a request for a method that is not predefined on the server, or when instrumentation is not able to reliably detect if the method is predefined, the attribute MUST be set to
_OTHER. In such cases, tracing instrumentations MUST also setrpc.method_originalattribute to the original method value.If the RPC instrumentation could end up converting valid RPC methods to
_OTHER, then it SHOULD provide a way to configure the list of recognized RPC methods.The
rpc.methodcan be different from the name of any implementing method/function. Thecode.function.nameattribute 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. 'rpc.method'- RPC_METHOD_ORIGINAL =
Note:
Stability Level: development
The original name of the method used by the client.
'rpc.method_original'- RPC_REQUEST_METADATA_LAMBDA =
Note:
Stability Level: development
Must be called with a key for the full attribute name. See notes below about the expectations for the state of the key.
RPC request metadata,
<key>being the normalized RPC metadata key (lowercase), the value being the metadata values.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.
For example, a property
my-custom-keywith value["1.2.3.4", "1.2.3.5"]SHOULD be recorded asrpc.request.metadata.my-custom-keyattribute with value["1.2.3.4", "1.2.3.5"] ->(key) { "rpc.request.metadata.#{key}" }
- RPC_RESPONSE_METADATA_LAMBDA =
Note:
Stability Level: development
Must be called with a key for the full attribute name. See notes below about the expectations for the state of the key.
RPC response metadata,
<key>being the normalized RPC metadata key (lowercase), the value being the metadata values.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.
For example, a property
my-custom-keywith value["attribute_value"]SHOULD be recorded as therpc.response.metadata.my-custom-keyattribute with value["attribute_value"] ->(key) { "rpc.response.metadata.#{key}" }
- RPC_RESPONSE_STATUS_CODE =
Note:
Stability Level: development
Status code of the RPC returned by the RPC server or generated by the client
Usually it represents an error code, but may also represent partial success, warning, or differentiate between various types of successful outcomes. Semantic conventions for individual RPC frameworks SHOULD document what
rpc.response.status_codemeans in the context of that system and which values are considered to represent errors. 'rpc.response.status_code'- RPC_SERVICE =
Deprecated.
Value should be included in
rpc.methodwhich is expected to be a fully-qualified name.Note:Stability Level: development
Deprecated, use fully-qualified
rpc.methodinstead. 'rpc.service'- RPC_SYSTEM =
Deprecated.
Replaced by
rpc.system.name.Note:Stability Level: development
Deprecated, use
rpc.system.nameattribute instead. 'rpc.system'- RPC_SYSTEM_NAME =
Note:
Stability Level: development
The Remote Procedure Call (RPC) system.
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.
'rpc.system.name'