Class: Google::Apis::CloudtraceV1::TraceSpan
- Inherits:
-
Object
- Object
- Google::Apis::CloudtraceV1::TraceSpan
- Includes:
- Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
- Defined in:
- lib/google/apis/cloudtrace_v1/classes.rb,
lib/google/apis/cloudtrace_v1/representations.rb,
lib/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 seconds and 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
Optional.
-
#span_id ⇒ Fixnum
Identifier for the span.
-
#start_time ⇒ String
Start time of the span in seconds and 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.
Constructor Details
#initialize(**args) ⇒ TraceSpan
Returns a new instance of TraceSpan.
164 165 166 |
# File 'lib/google/apis/cloudtrace_v1/classes.rb', line 164 def initialize(**args) update!(**args) end |
Instance Attribute Details
#end_time ⇒ String
End time of the span in seconds and nanoseconds from the UNIX epoch.
Corresponds to the JSON property endTime
114 115 116 |
# File 'lib/google/apis/cloudtrace_v1/classes.rb', line 114 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
121 122 123 |
# File 'lib/google/apis/cloudtrace_v1/classes.rb', line 121 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
137 138 139 |
# File 'lib/google/apis/cloudtrace_v1/classes.rb', line 137 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 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
146 147 148 |
# File 'lib/google/apis/cloudtrace_v1/classes.rb', line 146 def name @name end |
#parent_span_id ⇒ Fixnum
Optional. ID of the parent span, if any.
Corresponds to the JSON property parentSpanId
151 152 153 |
# File 'lib/google/apis/cloudtrace_v1/classes.rb', line 151 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. For example, 2205310701640571284
.
Corresponds to the JSON property spanId
157 158 159 |
# File 'lib/google/apis/cloudtrace_v1/classes.rb', line 157 def span_id @span_id end |
#start_time ⇒ String
Start time of the span in seconds and nanoseconds from the UNIX epoch.
Corresponds to the JSON property startTime
162 163 164 |
# File 'lib/google/apis/cloudtrace_v1/classes.rb', line 162 def start_time @start_time end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
169 170 171 172 173 174 175 176 177 |
# File 'lib/google/apis/cloudtrace_v1/classes.rb', line 169 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 |