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 ⇒ String
ID of the parent span, if any.
-
#span_id ⇒ String
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
78 79 80 |
# File 'generated/google/apis/cloudtrace_v1/classes.rb', line 78 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
47 48 49 |
# File 'generated/google/apis/cloudtrace_v1/classes.rb', line 47 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
59 60 61 |
# File 'generated/google/apis/cloudtrace_v1/classes.rb', line 59 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.
Corresponds to the JSON property labels
65 66 67 |
# File 'generated/google/apis/cloudtrace_v1/classes.rb', line 65 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
76 77 78 |
# File 'generated/google/apis/cloudtrace_v1/classes.rb', line 76 def name @name end |
#parent_span_id ⇒ String
ID of the parent span, if any. Optional.
Corresponds to the JSON property parentSpanId
42 43 44 |
# File 'generated/google/apis/cloudtrace_v1/classes.rb', line 42 def parent_span_id @parent_span_id end |
#span_id ⇒ String
Identifier for the span. Must be a 64-bit integer other than 0 and
unique within a trace.
Corresponds to the JSON property spanId
37 38 39 |
# File 'generated/google/apis/cloudtrace_v1/classes.rb', line 37 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
52 53 54 |
# File 'generated/google/apis/cloudtrace_v1/classes.rb', line 52 def start_time @start_time end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
83 84 85 86 87 88 89 90 91 |
# File 'generated/google/apis/cloudtrace_v1/classes.rb', line 83 def update!(**args) @span_id = args[:span_id] if args.key?(:span_id) @parent_span_id = args[:parent_span_id] if args.key?(:parent_span_id) @end_time = args[:end_time] if args.key?(:end_time) @start_time = args[:start_time] if args.key?(:start_time) @kind = args[:kind] if args.key?(:kind) @labels = args[:labels] if args.key?(:labels) @name = args[:name] if args.key?(:name) end |