Struct google_cloudtrace1::TraceSpan
source · pub struct TraceSpan {
pub kind: Option<String>,
pub parent_span_id: Option<String>,
pub name: Option<String>,
pub start_time: Option<String>,
pub span_id: Option<String>,
pub labels: Option<HashMap<String, String>>,
pub end_time: Option<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.
This type is not used in any activity, and only used as part of another schema.
Fields§
§kind: Option<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.
parent_span_id: Option<String>ID of the parent span, if any. Optional.
name: Option<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<String>Start time of the span in nanoseconds from the UNIX epoch.
span_id: Option<String>Identifier for the span. Must be a 64-bit integer other than 0 and
unique within a trace. For example, 2205310701640571284.
labels: Option<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/keyfor agents of well-known products (e.g./db/mongodb/read_size).short_host/path/keyfor 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
end_time: Option<String>End time of the span in nanoseconds from the UNIX epoch.
Trait Implementations§
source§impl<'de> Deserialize<'de> for TraceSpan
impl<'de> Deserialize<'de> for TraceSpan
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Part for TraceSpan
Auto Trait Implementations§
impl Freeze for TraceSpan
impl RefUnwindSafe for TraceSpan
impl Send for TraceSpan
impl Sync for TraceSpan
impl Unpin for TraceSpan
impl UnwindSafe for TraceSpan
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit)source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more