Struct googapis::google::devtools::cloudtrace::v1::TraceSpan [−][src]
pub struct TraceSpan {
pub span_id: u64,
pub kind: i32,
pub name: String,
pub start_time: Option<Timestamp>,
pub end_time: Option<Timestamp>,
pub parent_span_id: u64,
pub labels: HashMap<String, String>,
}
Expand description
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.
Fields
span_id: u64
Identifier for the span. Must be a 64-bit integer other than 0 and
unique within a trace. For example, 2205310701640571284
.
kind: i32
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.
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 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.
start_time: Option<Timestamp>
Start time of the span in nanoseconds from the UNIX epoch.
end_time: Option<Timestamp>
End time of the span in nanoseconds from the UNIX epoch.
parent_span_id: u64
Optional. ID of the parent span, if any.
labels: HashMap<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
Implementations
Trait Implementations
fn merge_field<B>(
&mut self,
tag: u32,
wire_type: WireType,
buf: &mut B,
ctx: DecodeContext
) -> Result<(), DecodeError> where
B: Buf,
Returns the encoded length of the message without a length delimiter.
Encodes the message to a buffer. Read more
Encodes the message to a newly allocated buffer.
Encodes the message with a length-delimiter to a buffer. Read more
Encodes the message with a length-delimiter to a newly allocated buffer.
Decodes an instance of the message from a buffer. Read more
fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError> where
Self: Default,
B: Buf,
fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError> where
Self: Default,
B: Buf,
Decodes a length-delimited instance of the message from the buffer.
Decodes an instance of the message from a buffer, and merges it into self
. Read more
Decodes a length-delimited instance of the message from buffer, and
merges it into self
. Read more
Auto Trait Implementations
impl RefUnwindSafe for TraceSpan
impl UnwindSafe for TraceSpan
Blanket Implementations
Mutably borrows from an owned value. Read more
Wrap the input message T
in a tonic::Request
pub fn vzip(self) -> V
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more