RPC
as of v1.44.0Remote procedure calls: gRPC, JSON-RPC, ONC RPC and the framework layers on top of them.
rpc 22onc_rpc 4jsonrpc 2signalr 2
- attributes
- 30
- metrics
- 14
- signals
- 13
- stable
- 2
- deprecated
- 16
Signals
What this domain emits, and the attributes each one carries, most strongly required first. An attribute marked * is required on that signal; * is conditionally required.
Spans 10
- rpc.call.clientclientRelease candidateThis span represents an outgoing Remote Procedure Call (RPC).
rpc.system.name*error.type*rpc.method*rpc.method_original*rpc.response.status_code*server.address*server.port*network.peer.addressnetwork.peer.port
- rpc.call.serverserverRelease candidateThis span represents an incoming Remote Procedure Call (RPC).
rpc.system.name*error.type*rpc.method*rpc.method_original*rpc.response.status_code*server.address*server.port*network.peer.addressnetwork.peer.port
- rpc.connect_rpc.call.clientclientDevelopmentThis span represents an outgoing Remote Procedure Call (RPC).
server.address*error.type*rpc.method*rpc.method_original*rpc.response.status_code*server.port*network.peer.addressnetwork.peer.portrpc.request.metadatarpc.response.metadata
- rpc.connect_rpc.call.serverserverDevelopmentThis span represents an incoming Remote Procedure Call (RPC).
error.type*rpc.method*rpc.method_original*rpc.response.status_code*server.address*server.port*network.peer.addressnetwork.peer.portrpc.request.metadatarpc.response.metadata
- rpc.dubbo.call.clientclientRelease candidateThis span represents an outgoing Remote Procedure Call (RPC).
rpc.method*rpc.response.status_code*error.type*rpc.method_original*server.address*server.port*network.peer.addressnetwork.peer.portrpc.request.metadatarpc.response.metadata
- rpc.dubbo.call.serverserverRelease candidateThis span represents an incoming Remote Procedure Call (RPC).
rpc.response.status_code*error.type*rpc.method*rpc.method_original*server.address*server.port*network.peer.addressnetwork.peer.portrpc.request.metadatarpc.response.metadata
- rpc.grpc.call.clientclientRelease candidateThis span represents an outgoing Remote Procedure Call (RPC).
rpc.method*rpc.response.status_code*server.address*error.type*rpc.method_original*server.port*network.peer.addressnetwork.peer.portrpc.request.metadatarpc.response.metadata
- rpc.grpc.call.serverserverRelease candidateThis span represents an incoming Remote Procedure Call (RPC).
rpc.response.status_code*error.type*rpc.method*rpc.method_original*server.address*server.port*network.peer.addressnetwork.peer.portrpc.request.metadatarpc.response.metadata
- rpc.jsonrpc.call.clientclientDevelopmentThis span represents an outgoing Remote Procedure Call (RPC).
error.type*jsonrpc.protocol.version*rpc.method*rpc.method_original*rpc.response.status_code*server.address*server.port*jsonrpc.request.idnetwork.peer.addressnetwork.peer.port
- rpc.jsonrpc.call.serverserverDevelopmentThis span represents an incoming Remote Procedure Call (RPC).
error.type*jsonrpc.protocol.version*rpc.method*rpc.method_original*rpc.response.status_code*server.address*server.port*jsonrpc.request.idnetwork.peer.addressnetwork.peer.port
Events 3
- rpc.client.call.exceptionDevelopmentThis event represents an exception that occurred during an outgoing RPC call, such as network failures, timeouts, serial
- rpc.messageDeprecatedDescribes a message sent or received within the context of an RPC call.
rpc.message.compressed_sizerpc.message.idrpc.message.typerpc.message.uncompressed_size
- rpc.server.call.exceptionDevelopmentThis event represents an exception that occurred during incoming RPC call processing, such as application errors, intern
Metrics 14
- rpc.client.call.durationRelease candidatehistogram · sMeasures the duration of an outgoing Remote Procedure Call (RPC).
- rpc.client.durationDeprecatedhistogram · msDeprecated, use rpc.client.call.duration instead. Note: the unit also changed from ms to s.
- rpc.client.request.sizeDeprecatedhistogram · ByMeasures the size of RPC request messages (uncompressed).
- rpc.client.requests_per_rpcDeprecatedhistogram · {count}Measures the number of messages received per RPC.
- rpc.client.response.sizeDeprecatedhistogram · ByMeasures the size of RPC response messages (uncompressed).
- rpc.client.responses_per_rpcDeprecatedhistogram · {count}Measures the number of messages sent per RPC.
- rpc.server.call.durationRelease candidatehistogram · sMeasures the duration of an incoming Remote Procedure Call (RPC).
- rpc.server.durationDeprecatedhistogram · msDeprecated, use rpc.server.call.duration instead. Note: the unit also changed from ms to s.
- rpc.server.request.sizeDeprecatedhistogram · ByMeasures the size of RPC request messages (uncompressed).
- rpc.server.requests_per_rpcDeprecatedhistogram · {count}Measures the number of messages received per RPC.
- rpc.server.response.sizeDeprecatedhistogram · ByMeasures the size of RPC response messages (uncompressed).
- rpc.server.responses_per_rpcDeprecatedhistogram · {count}Measures the number of messages sent per RPC.
- signalr.server.active_connectionsStableupdowncounter · {connection}Number of connections that are currently active on the server.
- signalr.server.connection.durationStablehistogram · sThe duration of connections on the server.
Specification
- Spansare bound by the trace specification — 289 requirements across 7 documents, 166 of them MUST or SHALL.
- Metricsare bound by the metrics specification — 548 requirements across 8 documents, 279 of them MUST or SHALL.
- Eventsare bound by the logs specification — 162 requirements across 5 documents, 83 of them MUST or SHALL.
The specification prose never names this domain. That is not an omission: the specification defines signals, not subject matter — what binds rpc telemetry is the general rules above, and the conventions themselves carry the rest.
On the wire, this lands in trace/v1/trace, metrics/v1/metrics, logs/v1/logs. Field-by-field definitions are under OTLP.
Attributes 30
rpc22 attributes
- rpc.connect_rpc.error_code
- rpc.connect_rpc.request.metadata
- rpc.connect_rpc.response.metadata
- rpc.grpc.request.metadata
- rpc.grpc.response.metadata
- rpc.grpc.status_codeDeprecatedDeprecated, use string representation on the rpc.response.status_code attribute instead.
- rpc.jsonrpc.error_codeDeprecatedDeprecated, use string representation on the rpc.response.status_code attribute instead.
- rpc.jsonrpc.error_messageDeprecatedDeprecated, use the span status description when reporting JSON-RPC spans.
- rpc.jsonrpc.request_id
- rpc.jsonrpc.version
- rpc.message.compressed_sizeDeprecatedCompressed size of the message in bytes.
- rpc.message.idDeprecatedMUST be calculated as two different counters starting from 1 one for sent messages and one for received message.
- rpc.message.typeDeprecatedWhether this is a received or sent message.
- rpc.message.uncompressed_sizeDeprecatedUncompressed size of the message in bytes.
- rpc.methodRelease candidateThe fully-qualified logical name of the method from the RPC interface perspective.
- rpc.method_originalRelease candidateThe original name of the method used by the client.
- rpc.request.metadataDevelopmentRPC request metadata, <key> being the normalized RPC metadata key (lowercase), the value being the metadata values.
- rpc.response.metadataDevelopmentRPC response metadata, <key> being the normalized RPC metadata key (lowercase), the value being the metadata values.
- rpc.response.status_codeRelease candidateStatus code of the RPC returned by the RPC server or generated by the client
- rpc.serviceDeprecatedDeprecated, use fully-qualified rpc.method instead.
- rpc.system
- rpc.system.nameRelease candidateThe Remote Procedure Call (RPC) system.
onc_rpc4 attributes
- onc_rpc.procedure.nameDevelopmentONC/Sun RPC procedure name.
- onc_rpc.procedure.numberDevelopmentONC/Sun RPC procedure number.
- onc_rpc.program.nameDevelopmentONC/Sun RPC program name.
- onc_rpc.versionDevelopmentONC/Sun RPC program version.
jsonrpc2 attributes
- jsonrpc.protocol.versionDevelopmentProtocol version, as specified in the jsonrpc property of the request and its corresponding response.
- jsonrpc.request.idDevelopmentA string representation of the id property of the request and its corresponding response.
signalr2 attributes
- signalr.connection.statusStableSignalR HTTP connection closure status.
- signalr.transportStableSignalR transport type
Recent changes
Breaking and notable changes to this domain across the last 6 semantic-conventions releases.
- deprecatedmetricrpc.client.request.sizeRemoved, no replacement at this time.
- deprecatedmetricrpc.client.response.sizeRemoved, no replacement at this time.
- deprecatedattributerpc.message.compressed_sizeDeprecated, no replacement at this time.
- deprecatedattributerpc.message.idDeprecated, no replacement at this time.
- deprecatedattributerpc.message.typeDeprecated, no replacement at this time.
- deprecatedattributerpc.message.uncompressed_sizeDeprecated, no replacement at this time.
- deprecatedmetricrpc.server.request.sizeRemoved, no replacement at this time.
- deprecatedmetricrpc.server.response.sizeRemoved, no replacement at this time.
- stabilitymetricrpc.client.call.durationPromoted to release_candidate.
- stabilityattributerpc.methodPromoted to release_candidate.
Topics are this site's grouping of upstream namespaces, not a structure the OpenTelemetry project publishes. JSON · All domains