Documentation
¶
Index ¶
Constants ¶
View Source
const ( // SpanKindCLIENT captures enum value "CLIENT" SpanKindCLIENT string = "CLIENT" // SpanKindSERVER captures enum value "SERVER" SpanKindSERVER string = "SERVER" // SpanKindPRODUCER captures enum value "PRODUCER" SpanKindPRODUCER string = "PRODUCER" // SpanKindCONSUMER captures enum value "CONSUMER" SpanKindCONSUMER string = "CONSUMER" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Annotation ¶
type Annotation struct {
// Epoch **microseconds** of this event.
//
// For example, 1502787600000000 corresponds to 2017-08-15 09:00 UTC
//
// This value should be set directly by instrumentation, using the most precise
// value possible. For example, gettimeofday or multiplying epoch millis by 1000.
//
Timestamp int64 `json:"timestamp,omitempty"`
// Usually a short tag indicating an event, like "error"
//
// While possible to add larger data, such as garbage collection details, low
// cardinality event names both keep the size of spans down and also are easy
// to search against.
//
Value string `json:"value,omitempty"`
}
func (*Annotation) MarshalBinary ¶
func (m *Annotation) MarshalBinary() ([]byte, error)
MarshalBinary interface implementation
func (*Annotation) UnmarshalBinary ¶
func (m *Annotation) UnmarshalBinary(b []byte) error
UnmarshalBinary interface implementation
type Endpoint ¶
type Endpoint struct {
// The text representation of the primary IPv4 address associated with this
// a connection. Ex. 192.168.99.100 Absent if unknown.
//
IPV4 strfmt.IPv4 `json:"ipv4,omitempty"`
// The text representation of the primary IPv6 address associated with this
// a connection. Ex. 2001:db8::c001 Absent if unknown.
//
// Prefer using the ipv4 field for mapped addresses.
//
IPV6 strfmt.IPv6 `json:"ipv6,omitempty"`
// Depending on context, this could be a listen port or the client-side of a
// socket. Absent if unknown
//
Port int64 `json:"port,omitempty"`
// Lower-case label of this node in the service graph, such as "favstar". Leave
// absent if unknown.
//
// This is a primary label for trace lookup and aggregation, so it should be
// intuitive and consistent. Many use a name from service discovery.
//
ServiceName string `json:"serviceName,omitempty"`
}
func (*Endpoint) MarshalBinary ¶
MarshalBinary interface implementation
func (*Endpoint) UnmarshalBinary ¶
UnmarshalBinary interface implementation
type ListOfSpans ¶
type ListOfSpans []*Span
type Span ¶
type Span struct {
// Associates events that explain latency with the time they happened.
// Unique: true
Annotations []*Annotation `json:"annotations"`
// True is a request to store this span even if it overrides sampling policy.
//
// This is true when the `X-B3-Flags` header has a value of 1.
//
Debug bool `json:"debug,omitempty"`
// Duration in **microseconds** of the critical path, if known. Durations of less
// than one are rounded up. Duration of children can be longer than their parents
// due to asynchronous operations.
//
// For example 150 milliseconds is 150000 microseconds.
//
// Minimum: 1
Duration int64 `json:"duration,omitempty"`
// Unique 64bit identifier for this operation within the trace.
//
// Encoded as 16 lowercase hex characters. For example ffdc9bb9a6453df3
//
// Required: true
// Max Length: 16
// Min Length: 16
// Pattern: [a-z0-9]{16}
ID *string `json:"id"`
// When present, clarifies timestamp, duration and remoteEndpoint. When
// absent, the span is local or incomplete. Unlike client and server,
// there is no direct critical path latency relationship between producer
// and consumer spans.
//
// * `CLIENT`
// * timestamp - The moment a request was sent (formerly "cs")
// * duration - When present indicates when a response was received (formerly "cr")
// * remoteEndpoint - Represents the server. Leave serviceName absent if unknown.
// * `SERVER`
// * timestamp - The moment a request was received (formerly "sr")
// * duration - When present indicates when a response was sent (formerly "ss")
// * remoteEndpoint - Represents the client. Leave serviceName absent if unknown.
// * `PRODUCER`
// * timestamp - The moment a message was sent to a destination (formerly "ms")
// * duration - When present represents delay sending the message, such as batching.
// * remoteEndpoint - Represents the broker. Leave serviceName absent if unknown.
// * `CONSUMER`
// * timestamp - The moment a message was received from an origin (formerly "mr")
// * duration - When present represents delay consuming the message, such as from backlog.
// * remoteEndpoint - Represents the broker. Leave serviceName absent if unknown.
//
Kind string `json:"kind,omitempty"`
// The host that recorded this span, primarily for query by service name.
//
// Instrumentation should always record this. Usually, absent implies late data.
// The IP address corresponding to this is usually the site local or advertised
// service address. When present, the port indicates the listen port.
//
LocalEndpoint *Endpoint `json:"localEndpoint,omitempty"`
// The logical operation this span represents in lowercase (e.g. rpc method).
// Leave absent if unknown.
//
// As these are lookup labels, take care to ensure names are low cardinality.
// For example, do not embed variables into the name.
//
Name string `json:"name,omitempty"`
// The parent span ID or absent if this the root span in a trace.
// Max Length: 16
// Min Length: 16
// Pattern: [a-z0-9]{16}
ParentID string `json:"parentId,omitempty"`
// When an RPC (or messaging) span, indicates the other side of the connection.
//
RemoteEndpoint *Endpoint `json:"remoteEndpoint,omitempty"`
Shared bool `json:"shared,omitempty"`
// Tags give your span context for search, viewing and analysis.
Tags Tags `json:"tags,omitempty"`
// Epoch **microseconds** of the start of this span, possibly absent if incomplete.
//
// For example, 1502787600000000 corresponds to 2017-08-15 09:00 UTC
//
// This value should be set directly by instrumentation, using the most precise
// value possible. For example, gettimeofday or multiplying epoch millis by 1000.
//
// There are three known edge-cases where this could be reported absent.
// * A span was allocated but never started (ex not yet received a timestamp)
// * The span's start event was lost
// * Data about a completed span (ex tags) were sent after the fact
//
Timestamp int64 `json:"timestamp,omitempty"`
// Randomly generated, unique identifier for a trace, set on all spans within it.
//
// Encoded as 16 or 32 lowercase hex characters corresponding to 64 or 128 bits.
// For example, a 128bit trace ID looks like 4e441824ec2b6a44ffdc9bb9a6453df3
//
// Required: true
// Max Length: 32
// Min Length: 16
// Pattern: [a-z0-9]{16,32}
TraceID *string `json:"traceId"`
}
func (*Span) MarshalBinary ¶
MarshalBinary interface implementation
func (*Span) UnmarshalBinary ¶
UnmarshalBinary interface implementation
Click to show internal directories.
Click to hide internal directories.