ztracer

package
v0.1.2 Latest Latest
Warning

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

Go to latest
Published: Mar 16, 2022 License: Apache-2.0 Imports: 16 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")
)

Variables

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 (
	// 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")
)

Functions

func Extract

Extract extracts the metadata from ctx.

func GetTrace

func GetTrace() trace.Tracer

GetTrace 获取 Tracer 第一次会生成, 后续会直接使用

func Inject

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

Inject injects the metadata into ctx.

func ParseFullMethod

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

ParseFullMethod 抄的 就是设置一些属性, 解析一些 Name 方法名 等 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 SetJaegerTracerProvider

func SetJaegerTracerProvider(tra Trace) error

SetJaegerTracerProvider 官方栗子里面抄的, 按照 kratos 的改动了一丢丢 设置一个全局的 Jaeger Tracer

func SpanInfo

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

func StatusCodeAttr

func StatusCodeAttr(c gcodes.Code) attribute.KeyValue

StatusCodeAttr 这里写死了是一个 rpc.grpc.status_code

Types

type Option

type Option struct {
	Name string `yaml:"Name"`
}

type Trace

type Trace struct {
	Endpoint string `yaml:"Endpoint"`
	Name     string `yaml:"Name"`
	Model    string `yaml:"Model"`
}

Trace 一个大的系统就用一个就行了, 不然显示就会有好几个, 但是数据却是重复的

Jump to

Keyboard shortcuts

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