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.


135
136
137
# File 'generated/google/apis/cloudtrace_v1/classes.rb', line 135

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)

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

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)

104
105
106
# File 'generated/google/apis/cloudtrace_v1/classes.rb', line 104

def kind
  @kind
end

#labelsHash<String,String>

Collection of labels associated with the span. Corresponds to the JSON property labels

Returns:

  • (Hash<String,String>)

133
134
135
# File 'generated/google/apis/cloudtrace_v1/classes.rb', line 133

def labels
  @labels
end

#nameString

Name of the trace. The trace name is sanitized and displayed in the Stackdriver Trace tool in the % dynamic print site_values.console_name %. 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)

113
114
115
# File 'generated/google/apis/cloudtrace_v1/classes.rb', line 113

def name
  @name
end

#parent_span_idString

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

Returns:

  • (String)

128
129
130
# File 'generated/google/apis/cloudtrace_v1/classes.rb', line 128

def parent_span_id
  @parent_span_id
end

#span_idString

Identifier for the span. This identifier must be unique within a trace. Corresponds to the JSON property spanId

Returns:

  • (String)

97
98
99
# File 'generated/google/apis/cloudtrace_v1/classes.rb', line 97

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)

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

def start_time
  @start_time
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object


140
141
142
143
144
145
146
147
148
# File 'generated/google/apis/cloudtrace_v1/classes.rb', line 140

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