package ext
import "github.com/opentracing/opentracing-go/ext"
Index ¶
- Variables
- func LogError(span opentracing.Span, err error, fields ...log.Field)
- func RPCServerOption(client opentracing.SpanContext) opentracing.StartSpanOption
- type BoolTagName
- type IPv4TagName
- func (tag IPv4TagName) Set(span opentracing.Span, value uint32)
- func (tag IPv4TagName) SetString(span opentracing.Span, value string)
- type SpanKindEnum
- type StringTagName
- type Uint16TagName
- type Uint32TagName
Variables ¶
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 ¶
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 ¶
- Version
- v1.2.0 (latest)
- Published
- Jul 1, 2020
- Platform
- linux/amd64
- Imports
- 2 packages
- Last checked
- 2 weeks ago –
Tools for package owners.