ext

package
Version: v1.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 1, 2020 License: Apache-2.0 Imports: 2 Imported by: 2268

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (

	// SpanKind hints at relationship between spans, e.g. client/server
	SpanKind = spanKindTagName("span.kind")

	// SpanKindRPCClient marks a span representing the client-side of an RPC
	// or other remote call
	SpanKindRPCClientEnum = SpanKindEnum("client")
	SpanKindRPCClient     = opentracing.Tag{Key: string(SpanKind), Value: SpanKindRPCClientEnum}

	// SpanKindRPCServer marks a span representing the server-side of an RPC
	// or other remote call
	SpanKindRPCServerEnum = SpanKindEnum("server")
	SpanKindRPCServer     = opentracing.Tag{Key: string(SpanKind), Value: SpanKindRPCServerEnum}

	// SpanKindProducer marks a span representing the producer-side of a
	// message bus
	SpanKindProducerEnum = SpanKindEnum("producer")
	SpanKindProducer     = opentracing.Tag{Key: string(SpanKind), Value: SpanKindProducerEnum}

	// SpanKindConsumer marks a span representing the consumer-side of a
	// message bus
	SpanKindConsumerEnum = SpanKindEnum("consumer")
	SpanKindConsumer     = opentracing.Tag{Key: string(SpanKind), Value: SpanKindConsumerEnum}

	// Component is a low-cardinality identifier of the module, library,
	// or package that is generating a span.
	Component = StringTagName("component")

	// SamplingPriority determines the priority of sampling this Span.
	SamplingPriority = Uint16TagName("sampling.priority")

	// PeerService records the service name of the peer.
	PeerService = StringTagName("peer.service")

	// PeerAddress records the address name of the peer. This may be a "ip:port",
	// a bare "hostname", a FQDN or even a database DSN substring
	// like "mysql://username@127.0.0.1:3306/dbname"
	PeerAddress = StringTagName("peer.address")

	// PeerHostname records the host name of the peer
	PeerHostname = StringTagName("peer.hostname")

	// PeerHostIPv4 records IP v4 host address of the peer
	PeerHostIPv4 = IPv4TagName("peer.ipv4")

	// PeerHostIPv6 records IP v6 host address of the peer
	PeerHostIPv6 = StringTagName("peer.ipv6")

	// PeerPort records port number of the peer
	PeerPort = Uint16TagName("peer.port")

	// HTTPUrl should be the URL of the request being handled in this segment
	// of the trace, in standard URI format. The protocol is optional.
	HTTPUrl = StringTagName("http.url")

	// HTTPMethod is the HTTP method of the request, and is case-insensitive.
	HTTPMethod = StringTagName("http.method")

	// HTTPStatusCode is the numeric HTTP status code (200, 404, etc) of the
	// HTTP response.
	HTTPStatusCode = Uint16TagName("http.status_code")

	// DBInstance is database instance name.
	DBInstance = StringTagName("db.instance")

	// DBStatement is a database statement for the given database type.
	// It can be a query or a prepared statement (i.e., before substitution).
	DBStatement = StringTagName("db.statement")

	// DBType is a database type. For any SQL database, "sql".
	// For others, the lower-case database category, e.g. "redis"
	DBType = StringTagName("db.type")

	// DBUser is a username for accessing database.
	DBUser = StringTagName("db.user")

	// MessageBusDestination is an address at which messages can be exchanged
	MessageBusDestination = StringTagName("message_bus.destination")

	// Error indicates that operation represented by the span resulted in an error.
	Error = BoolTagName("error")
)

These constants define common tag names recommended for better portability across tracing systems and languages/platforms.

The tag names are defined as typed strings, so that in addition to the usual use

span.setTag(TagName, value)

they also support value type validation via this additional syntax:

TagName.Set(span, value)

Functions

func LogError

func LogError(span opentracing.Span, err error, fields ...log.Field)

LogError sets the error=true tag on the Span and logs err as an "error" event.

func RPCServerOption

func RPCServerOption(client opentracing.SpanContext) opentracing.StartSpanOption

RPCServerOption returns a StartSpanOption appropriate for an RPC server span with `client` representing the metadata for the remote peer Span if available. In case client == nil, due to the client not being instrumented, this RPC server span will be a root span.

Types

type BoolTagName

type BoolTagName string

BoolTagName is a common tag name to be set to a bool value

func (BoolTagName) Set

func (tag BoolTagName) Set(span opentracing.Span, value bool)

Set adds a bool tag to the `span`

type IPv4TagName

type IPv4TagName string

IPv4TagName is a common tag name to be set to an ipv4 value

func (IPv4TagName) Set

func (tag IPv4TagName) Set(span opentracing.Span, value uint32)

Set adds IP v4 host address of the peer as an uint32 value to the `span`, keep this for backward and zipkin compatibility

func (IPv4TagName) SetString

func (tag IPv4TagName) SetString(span opentracing.Span, value string)

SetString records IP v4 host address of the peer as a .-separated tuple to the `span`. E.g., "127.0.0.1"

type SpanKindEnum

type SpanKindEnum string

SpanKindEnum represents common span types

type StringTagName

type StringTagName string

StringTagName is a common tag name to be set to a string value

func (StringTagName) Set

func (tag StringTagName) Set(span opentracing.Span, value string)

Set adds a string tag to the `span`

type Uint16TagName

type Uint16TagName string

Uint16TagName is a common tag name to be set to a uint16 value

func (Uint16TagName) Set

func (tag Uint16TagName) Set(span opentracing.Span, value uint16)

Set adds a uint16 tag to the `span`

type Uint32TagName

type Uint32TagName string

Uint32TagName is a common tag name to be set to a uint32 value

func (Uint32TagName) Set

func (tag Uint32TagName) Set(span opentracing.Span, value uint32)

Set adds a uint32 tag to the `span`

Source Files

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to