Class TraceSpan (2.3.0)

public sealed class TraceSpan : IMessage<TraceSpan>, IEquatable<TraceSpan>, IDeepCloneable<TraceSpan>, IBufferMessage, IMessage

A span represents a single timed event within a trace. Spans can be nested and form a trace tree. Often, a trace contains a root span that describes the end-to-end latency of an operation and, optionally, one or more subspans for its suboperations. Spans do not need to be contiguous. There may be gaps between spans in a trace.

Inheritance

Object > TraceSpan

Namespace

Google.Cloud.Trace.V1

Assembly

Google.Cloud.Trace.V1.dll

Constructors

TraceSpan()

public TraceSpan()

TraceSpan(TraceSpan)

public TraceSpan(TraceSpan other)
Parameter
NameDescription
otherTraceSpan

Properties

EndTime

public Timestamp EndTime { get; set; }

End time of the span in nanoseconds from the UNIX epoch.

Property Value
TypeDescription
Timestamp

Kind

public TraceSpan.Types.SpanKind Kind { get; set; }

Distinguishes between spans generated in a particular context. For example, two spans with the same name may be distinguished using RPC_CLIENT and RPC_SERVER to identify queueing latency associated with the span.

Property Value
TypeDescription
TraceSpan.Types.SpanKind

Labels

public MapField<string, string> Labels { get; }

Collection of labels associated with the span. Label keys must be less than 128 bytes. Label values must be less than 16 kilobytes (10MB for /stacktrace values).

Some predefined label keys exist, or you may create your own. When creating your own, we recommend the following formats:

  • /category/product/key for agents of well-known products (e.g. /db/mongodb/read_size).
  • short_host/path/key for domain-specific keys (e.g. foo.com/myproduct/bar)

Predefined labels include:

  • /agent
  • /component
  • /error/message
  • /error/name
  • /http/client_city
  • /http/client_country
  • /http/client_protocol
  • /http/client_region
  • /http/host
  • /http/method
  • /http/path
  • /http/redirected_url
  • /http/request/size
  • /http/response/size
  • /http/route
  • /http/status_code
  • /http/url
  • /http/user_agent
  • /pid
  • /stacktrace
  • /tid
Property Value
TypeDescription
MapField<String, String>

Name

public string Name { get; set; }

Name of the span. Must be less than 128 bytes. The span name is sanitized and displayed in the Stackdriver Trace tool in the Google Cloud Platform Console. The name may be a method name or some other per-call site name. For the same executable and the same call point, a best practice is to use a consistent name, which makes it easier to correlate cross-trace spans.

Property Value
TypeDescription
String

ParentSpanId

public ulong ParentSpanId { get; set; }

Optional. ID of the parent span, if any.

Property Value
TypeDescription
UInt64

SpanId

public ulong SpanId { get; set; }

Identifier for the span. Must be a 64-bit integer other than 0 and unique within a trace. For example, 2205310701640571284.

Property Value
TypeDescription
UInt64

StartTime

public Timestamp StartTime { get; set; }

Start time of the span in nanoseconds from the UNIX epoch.

Property Value
TypeDescription
Timestamp