Semantic Conventions for JSON-RPC

Status: Experimental

The Semantic Conventions for JSON-RPC 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.

JSON-RPC Attributes

rpc.system MUST be set to "jsonrpc".

Attribute Type Description Examples Requirement Level
rpc.jsonrpc.error_code int error.code property of response if it is an error response. -32700; 100 Conditionally Required: If response is not successful.
rpc.jsonrpc.error_message string error.message property of response if it is an error response. Parse error; User already exists Recommended
rpc.jsonrpc.request_id string id property of request or response. Since protocol allows id to be int, string, null or missing (for notifications), value is expected to be cast to string for simplicity. Use empty string in case of null value. Omit entirely if this is a notification. 10; request-7; `` Recommended
rpc.jsonrpc.version string Protocol version as in jsonrpc property of request/response. Since JSON-RPC 1.0 does not specify this, the value can be omitted. 2.0; 1.0 Conditionally Required: If other than the default version (1.0)
rpc.method string The name of the (logical) method being called, must be equal to the $method part in the span name. [1] exampleMethod Required

[1]: This is always required for jsonrpc. See the note in the general RPC conventions for more information.