Indicates that the span covers the client-side wrapper around an RPC or
other remote request.
Consumer
Indicates that the span describes consumer receiving a message from a
broker. Unlike client and server, there is no direct critical path
latency relationship between producer and consumer spans (e.g. receiving
a message from a pubsub service subscription).
Internal
Indicates that the span is used internally. Default value.
Producer
Indicates that the span describes producer sending a message to a broker.
Unlike client and server, there is no direct critical path latency
relationship between producer and consumer spans (e.g. publishing a
message to a pubsub service).
Server
Indicates that the span covers server-side handling of an RPC or other
remote network request.
Unspecified
Unspecified. Do NOT use as default.
Implementations MAY assume SpanKind.INTERNAL to be default.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["\u003cp\u003eThis webpage provides documentation for the \u003ccode\u003eSpan.Types.SpanKind\u003c/code\u003e enum within the Google Cloud Trace v2 API, which is used to specify the type of a span and its relationships beyond parent/child connections.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eSpanKind\u003c/code\u003e enum includes six fields: \u003ccode\u003eClient\u003c/code\u003e, \u003ccode\u003eConsumer\u003c/code\u003e, \u003ccode\u003eInternal\u003c/code\u003e, \u003ccode\u003eProducer\u003c/code\u003e, \u003ccode\u003eServer\u003c/code\u003e, and \u003ccode\u003eUnspecified\u003c/code\u003e, each detailing a different role or context for a span in a distributed trace.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eClient\u003c/code\u003e and \u003ccode\u003eServer\u003c/code\u003e fields are used for client-side and server-side wrappers for RPCs or other remote requests, respectively, while \u003ccode\u003eConsumer\u003c/code\u003e and \u003ccode\u003eProducer\u003c/code\u003e describe messaging interactions with a broker.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eInternal\u003c/code\u003e is the default field indicating an internal span, and \u003ccode\u003eUnspecified\u003c/code\u003e should not be used as a default value, with the recommendation to use \u003ccode\u003eInternal\u003c/code\u003e as the default.\u003c/p\u003e\n"],["\u003cp\u003eThe documentation covers multiple versions of the API, from version 2.2.0 up to 3.6.0 (latest), and lists the namespace as \u003ccode\u003eGoogle.Cloud.Trace.V2\u003c/code\u003e and the assembly as \u003ccode\u003eGoogle.Cloud.Trace.V2.dll\u003c/code\u003e.\u003c/p\u003e\n"]]],[],null,[]]