Class: Google::Apis::CloudtraceV1::TraceSpan

Inherits:
Object
  • Object
show all
Includes:
Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
Defined in:
generated/google/apis/cloudtrace_v1/classes.rb,
generated/google/apis/cloudtrace_v1/representations.rb,
generated/google/apis/cloudtrace_v1/representations.rb

Overview

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.

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Google::Apis::Core::JsonObjectSupport

#to_json

Methods included from Google::Apis::Core::Hashable

process_value, #to_h

Constructor Details

#initialize(**args) ⇒ TraceSpan

Returns a new instance of TraceSpan



188
189
190
# File 'generated/google/apis/cloudtrace_v1/classes.rb', line 188

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#end_timeString

End time of the span in nanoseconds from the UNIX epoch. Corresponds to the JSON property endTime

Returns:

  • (String)


117
118
119
# File 'generated/google/apis/cloudtrace_v1/classes.rb', line 117

def end_time
  @end_time
end

#kindString

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. Corresponds to the JSON property kind

Returns:

  • (String)


124
125
126
# File 'generated/google/apis/cloudtrace_v1/classes.rb', line 124

def kind
  @kind
end

#labelsHash<String,String>

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 Corresponds to the JSON property labels

Returns:

  • (Hash<String,String>)


159
160
161
# File 'generated/google/apis/cloudtrace_v1/classes.rb', line 159

def labels
  @labels
end

#nameString

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. Corresponds to the JSON property name

Returns:

  • (String)


170
171
172
# File 'generated/google/apis/cloudtrace_v1/classes.rb', line 170

def name
  @name
end

#parent_span_idFixnum

ID of the parent span, if any. Optional. Corresponds to the JSON property parentSpanId

Returns:

  • (Fixnum)


175
176
177
# File 'generated/google/apis/cloudtrace_v1/classes.rb', line 175

def parent_span_id
  @parent_span_id
end

#span_idFixnum

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

Returns:

  • (Fixnum)


181
182
183
# File 'generated/google/apis/cloudtrace_v1/classes.rb', line 181

def span_id
  @span_id
end

#start_timeString

Start time of the span in nanoseconds from the UNIX epoch. Corresponds to the JSON property startTime

Returns:

  • (String)


186
187
188
# File 'generated/google/apis/cloudtrace_v1/classes.rb', line 186

def start_time
  @start_time
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



193
194
195
196
197
198
199
200
201
# File 'generated/google/apis/cloudtrace_v1/classes.rb', line 193

def update!(**args)
  @end_time = args[:end_time] if args.key?(:end_time)
  @kind = args[:kind] if args.key?(:kind)
  @labels = args[:labels] if args.key?(:labels)
  @name = args[:name] if args.key?(:name)
  @parent_span_id = args[:parent_span_id] if args.key?(:parent_span_id)
  @span_id = args[:span_id] if args.key?(:span_id)
  @start_time = args[:start_time] if args.key?(:start_time)
end