trace

package
v0.0.0-...-018885d Latest Latest
Warning

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

Go to latest
Published: Nov 29, 2023 License: MIT Imports: 28 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// GRPCStatusCodeKey is convention for numeric status code of a gRPC request.
	GRPCStatusCodeKey = attribute.Key("rpc.grpc.status_code")
	// RPCNameKey is the name of message transmitted or received.
	RPCNameKey = attribute.Key("name")
	// RPCMessageTypeKey is the type of message transmitted or received.
	RPCMessageTypeKey = attribute.Key("message.type")
	// RPCMessageIDKey is the identifier of message transmitted or received.
	RPCMessageIDKey = attribute.Key("message.id")
	// RPCMessageCompressedSizeKey is the compressed size of the message transmitted or received in bytes.
	RPCMessageCompressedSizeKey = attribute.Key("message.compressed_size")
	// RPCMessageUncompressedSizeKey is the uncompressed size of the message
	// transmitted or received in bytes.
	RPCMessageUncompressedSizeKey = attribute.Key("message.uncompressed_size")
)
View Source
const TraceName = "go-zero"

TraceName represents the tracing name.

Variables

View Source
var (
	// RPCSystemGRPC is the semantic convention for gRPC as the remoting system.
	RPCSystemGRPC = semconv.RPCSystemKey.String("grpc")
	// RPCNameMessage is the semantic convention for a message named message.
	RPCNameMessage = RPCNameKey.String("message")
	// RPCMessageTypeSent is the semantic conventions for sent RPC message types.
	RPCMessageTypeSent = RPCMessageTypeKey.String("SENT")
	// RPCMessageTypeReceived is the semantic conventions for the received RPC message types.
	RPCMessageTypeReceived = RPCMessageTypeKey.String("RECEIVED")
)

Semantic conventions for common RPC attributes.

View Source
var (
	// MessageSent is the type of sent messages.
	MessageSent = messageType(RPCMessageTypeSent)
	// MessageReceived is the type of received messages.
	MessageReceived = messageType(RPCMessageTypeReceived)
)
View Source
var (
	// SpanIDFromContext returns the span id from ctx.
	SpanIDFromContext = ztrace.SpanIDFromContext
	// TraceIDFromContext returns the trace id from ctx.
	TraceIDFromContext = ztrace.TraceIDFromContext
)
View Source
var TraceIdKey = http.CanonicalHeaderKey("x-trace-id")

TraceIdKey is the trace id header. https://www.w3.org/TR/trace-context/#trace-id May change it to trace-id afterwards.

Functions

func AddResources

func AddResources(attrs ...attribute.KeyValue)

AddResources add more resources in addition to configured trace name.

func Extract

Extract extracts the metadata from ctx.

func Inject

func Inject(ctx context.Context, p propagation.TextMapPropagator, metadata *metadata.MD)

Inject injects cross-cutting concerns from the ctx into the metadata.

func ParseFullMethod

func ParseFullMethod(fullMethod string) (string, []attribute.KeyValue)

ParseFullMethod returns the method name and attributes.

func PeerAttr

func PeerAttr(addr string) []attribute.KeyValue

PeerAttr returns the peer attributes.

func PeerFromCtx

func PeerFromCtx(ctx context.Context) string

PeerFromCtx returns the peer from ctx.

func SpanInfo

func SpanInfo(fullMethod, peerAddress string) (string, []attribute.KeyValue)

SpanInfo returns the span info.

func StartAgent

func StartAgent(c Config)

StartAgent starts an opentelemetry agent.

func StatusCodeAttr

func StatusCodeAttr(c gcodes.Code) attribute.KeyValue

StatusCodeAttr returns an attribute.KeyValue that represents the give c.

func StopAgent

func StopAgent()

StopAgent shuts down the span processors in the order they were registered.

func TracerFromContext

func TracerFromContext(ctx context.Context) (tracer trace.Tracer)

TracerFromContext returns a tracer in ctx, otherwise returns a global tracer.

Types

type Config

type Config struct {
	Name     string  `json:",optional"`
	Endpoint string  `json:",optional"`
	Sampler  float64 `json:",default=1.0"`
	Batcher  string  `json:",default=jaeger,options=jaeger|zipkin|otlpgrpc|otlphttp|file"`
	// OtlpHeaders represents the headers for OTLP gRPC or HTTP transport.
	// For example:
	//  uptrace-dsn: 'http://project2_secret_token@localhost:14317/2'
	OtlpHeaders map[string]string `json:",optional"`
	// OtlpHttpPath represents the path for OTLP HTTP transport.
	// For example
	// /v1/traces
	OtlpHttpPath string `json:",optional"`
	// Disabled indicates whether StartAgent starts the agent.
	Disabled bool `json:",optional"`
}

A Config is an opentelemetry config.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL