Class: Google::Apis::CloudtraceV1::TraceSpan
- Inherits:
-
Object
- Object
- Google::Apis::CloudtraceV1::TraceSpan
- 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
-
#end_time ⇒ String
End time of the span in nanoseconds from the UNIX epoch.
-
#kind ⇒ String
Distinguishes between spans generated in a particular context.
-
#labels ⇒ Hash<String,String>
Collection of labels associated with the span.
-
#name ⇒ String
Name of the span.
-
#parent_span_id ⇒ Fixnum
ID of the parent span, if any.
-
#span_id ⇒ Fixnum
Identifier for the span.
-
#start_time ⇒ String
Start time of the span in nanoseconds from the UNIX epoch.
Instance Method Summary collapse
-
#initialize(**args) ⇒ TraceSpan
constructor
A new instance of TraceSpan.
-
#update!(**args) ⇒ Object
Update properties of this object.
Methods included from Google::Apis::Core::JsonObjectSupport
Methods included from Google::Apis::Core::Hashable
Constructor Details
#initialize(**args) ⇒ TraceSpan
Returns a new instance of TraceSpan
187 188 189 |
# File 'generated/google/apis/cloudtrace_v1/classes.rb', line 187 def initialize(**args) update!(**args) end |
Instance Attribute Details
#end_time ⇒ String
End time of the span in nanoseconds from the UNIX epoch.
Corresponds to the JSON property endTime
116 117 118 |
# File 'generated/google/apis/cloudtrace_v1/classes.rb', line 116 def end_time @end_time end |
#kind ⇒ String
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
123 124 125 |
# File 'generated/google/apis/cloudtrace_v1/classes.rb', line 123 def kind @kind end |
#labels ⇒ Hash<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 propertylabels
158 159 160 |
# File 'generated/google/apis/cloudtrace_v1/classes.rb', line 158 def labels @labels end |
#name ⇒ String
Name of the span. Must be less than 128 bytes. The span 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
169 170 171 |
# File 'generated/google/apis/cloudtrace_v1/classes.rb', line 169 def name @name end |
#parent_span_id ⇒ Fixnum
ID of the parent span, if any. Optional.
Corresponds to the JSON property parentSpanId
174 175 176 |
# File 'generated/google/apis/cloudtrace_v1/classes.rb', line 174 def parent_span_id @parent_span_id end |
#span_id ⇒ Fixnum
Identifier for the span. Must be a 64-bit integer other than 0 and
unique within a trace.
Corresponds to the JSON property spanId
180 181 182 |
# File 'generated/google/apis/cloudtrace_v1/classes.rb', line 180 def span_id @span_id end |
#start_time ⇒ String
Start time of the span in nanoseconds from the UNIX epoch.
Corresponds to the JSON property startTime
185 186 187 |
# File 'generated/google/apis/cloudtrace_v1/classes.rb', line 185 def start_time @start_time end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
192 193 194 195 196 197 198 199 200 |
# File 'generated/google/apis/cloudtrace_v1/classes.rb', line 192 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 |