Class: Google::Cloud::Trace::V1::TraceSpan
- Inherits:
-
Object
- Object
- Google::Cloud::Trace::V1::TraceSpan
- Extended by:
- Protobuf::MessageExts::ClassMethods
- Includes:
- Protobuf::MessageExts
- Defined in:
- proto_docs/google/devtools/cloudtrace/v1/trace.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.
Defined Under Namespace
Modules: SpanKind Classes: LabelsEntry
Instance Attribute Summary collapse
-
#end_time ⇒ ::Google::Protobuf::Timestamp
End time of the span in nanoseconds from the UNIX epoch.
-
#kind ⇒ ::Google::Cloud::Trace::V1::TraceSpan::SpanKind
Distinguishes between spans generated in a particular context.
-
#labels ⇒ ::Google::Protobuf::Map{::String => ::String}
Collection of labels associated with the span.
-
#name ⇒ ::String
Name of the span.
-
#parent_span_id ⇒ ::Integer
Optional.
-
#span_id ⇒ ::Integer
Identifier for the span.
-
#start_time ⇒ ::Google::Protobuf::Timestamp
Start time of the span in nanoseconds from the UNIX epoch.
Instance Attribute Details
#end_time ⇒ ::Google::Protobuf::Timestamp
Returns End time of the span in nanoseconds from the UNIX epoch.
121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 |
# File 'proto_docs/google/devtools/cloudtrace/v1/trace.rb', line 121 class TraceSpan include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # @!attribute [rw] key # @return [::String] # @!attribute [rw] value # @return [::String] class LabelsEntry include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Type of span. Can be used to specify additional relationships between spans # in addition to a parent/child relationship. module SpanKind # Unspecified. SPAN_KIND_UNSPECIFIED = 0 # Indicates that the span covers server-side handling of an RPC or other # remote network request. RPC_SERVER = 1 # Indicates that the span covers the client-side wrapper around an RPC or # other remote request. RPC_CLIENT = 2 end end |
#kind ⇒ ::Google::Cloud::Trace::V1::TraceSpan::SpanKind
Returns 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.
121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 |
# File 'proto_docs/google/devtools/cloudtrace/v1/trace.rb', line 121 class TraceSpan include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # @!attribute [rw] key # @return [::String] # @!attribute [rw] value # @return [::String] class LabelsEntry include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Type of span. Can be used to specify additional relationships between spans # in addition to a parent/child relationship. module SpanKind # Unspecified. SPAN_KIND_UNSPECIFIED = 0 # Indicates that the span covers server-side handling of an RPC or other # remote network request. RPC_SERVER = 1 # Indicates that the span covers the client-side wrapper around an RPC or # other remote request. RPC_CLIENT = 2 end end |
#labels ⇒ ::Google::Protobuf::Map{::String => ::String}
Returns 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
.
121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 |
# File 'proto_docs/google/devtools/cloudtrace/v1/trace.rb', line 121 class TraceSpan include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # @!attribute [rw] key # @return [::String] # @!attribute [rw] value # @return [::String] class LabelsEntry include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Type of span. Can be used to specify additional relationships between spans # in addition to a parent/child relationship. module SpanKind # Unspecified. SPAN_KIND_UNSPECIFIED = 0 # Indicates that the span covers server-side handling of an RPC or other # remote network request. RPC_SERVER = 1 # Indicates that the span covers the client-side wrapper around an RPC or # other remote request. RPC_CLIENT = 2 end end |
#name ⇒ ::String
Returns 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.
121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 |
# File 'proto_docs/google/devtools/cloudtrace/v1/trace.rb', line 121 class TraceSpan include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # @!attribute [rw] key # @return [::String] # @!attribute [rw] value # @return [::String] class LabelsEntry include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Type of span. Can be used to specify additional relationships between spans # in addition to a parent/child relationship. module SpanKind # Unspecified. SPAN_KIND_UNSPECIFIED = 0 # Indicates that the span covers server-side handling of an RPC or other # remote network request. RPC_SERVER = 1 # Indicates that the span covers the client-side wrapper around an RPC or # other remote request. RPC_CLIENT = 2 end end |
#parent_span_id ⇒ ::Integer
Returns Optional. ID of the parent span, if any.
121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 |
# File 'proto_docs/google/devtools/cloudtrace/v1/trace.rb', line 121 class TraceSpan include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # @!attribute [rw] key # @return [::String] # @!attribute [rw] value # @return [::String] class LabelsEntry include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Type of span. Can be used to specify additional relationships between spans # in addition to a parent/child relationship. module SpanKind # Unspecified. SPAN_KIND_UNSPECIFIED = 0 # Indicates that the span covers server-side handling of an RPC or other # remote network request. RPC_SERVER = 1 # Indicates that the span covers the client-side wrapper around an RPC or # other remote request. RPC_CLIENT = 2 end end |
#span_id ⇒ ::Integer
Returns Identifier for the span. Must be a 64-bit integer other than 0 and
unique within a trace. For example, 2205310701640571284
.
121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 |
# File 'proto_docs/google/devtools/cloudtrace/v1/trace.rb', line 121 class TraceSpan include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # @!attribute [rw] key # @return [::String] # @!attribute [rw] value # @return [::String] class LabelsEntry include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Type of span. Can be used to specify additional relationships between spans # in addition to a parent/child relationship. module SpanKind # Unspecified. SPAN_KIND_UNSPECIFIED = 0 # Indicates that the span covers server-side handling of an RPC or other # remote network request. RPC_SERVER = 1 # Indicates that the span covers the client-side wrapper around an RPC or # other remote request. RPC_CLIENT = 2 end end |
#start_time ⇒ ::Google::Protobuf::Timestamp
Returns Start time of the span in nanoseconds from the UNIX epoch.
121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 |
# File 'proto_docs/google/devtools/cloudtrace/v1/trace.rb', line 121 class TraceSpan include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # @!attribute [rw] key # @return [::String] # @!attribute [rw] value # @return [::String] class LabelsEntry include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Type of span. Can be used to specify additional relationships between spans # in addition to a parent/child relationship. module SpanKind # Unspecified. SPAN_KIND_UNSPECIFIED = 0 # Indicates that the span covers server-side handling of an RPC or other # remote network request. RPC_SERVER = 1 # Indicates that the span covers the client-side wrapper around an RPC or # other remote request. RPC_CLIENT = 2 end end |