trace

package
v0.1.8 Latest Latest
Warning

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

Go to latest
Published: Dec 4, 2024 License: Apache-2.0 Imports: 23 Imported by: 0

Documentation

Index

Constants

View Source
const (
	SPLIT    = "|"
	NULL_TAG = "-"
)
View Source
const ROOT_RPC_ID = "0"

Variables

View Source
var (
	SwitchTrace         = true
	SwitchTraceDatabase = true
	SwitchTraceRedis    = true
	SwitchTraceEtcd     = true
)

Functions

func CheckAdminServerHealth added in v0.1.8

func CheckAdminServerHealth()

func CheckServerHealth added in v0.1.8

func CheckServerHealth()

func Close added in v0.0.8

func Close()

func DiscardTrace added in v0.1.0

func DiscardTrace(tracer *Tracer)

func EndTrace added in v0.0.8

func EndTrace(tracer *Tracer, status _const2.TraceStatusEnum, message string, responseSize int32)

func EndTraceError added in v0.0.8

func EndTraceError(tracer *Tracer, message string, responseSize int32)

func EndTraceOk added in v0.0.8

func EndTraceOk(tracer *Tracer, message string, responseSize int32)

func EndTraceTimeout added in v0.0.8

func EndTraceTimeout(tracer *Tracer, message string, responseSize int32)

func EndTraceWarn added in v0.0.8

func EndTraceWarn(tracer *Tracer, message string, responseSize int32)

func GetFrontIP added in v0.0.8

func GetFrontIP(head *http.Header, remoteAddr string) string

func IsHealth added in v0.1.8

func IsHealth() bool

func IsHealthOfAdmin added in v0.1.8

func IsHealthOfAdmin() bool

func SendTraceLog added in v0.0.8

func SendTraceLog(tracer *Tracer)

func SendTracerToServer added in v0.1.8

func SendTracerToServer(tracer *Tracer)

func TracerIsEnable added in v0.0.8

func TracerIsEnable() bool

func UploadTracer added in v0.1.8

func UploadTracer()

Types

type Tracer

type Tracer struct {
	// TraceId 调用链ID,一旦初始化,不能修改
	TraceId string
	// RpcId 调用顺序,依次为0 → 0.1 → 0.1.1,1 -> 1.1 -> 1.1.1 ...
	RpcId string
	// TraceType 链路跟踪类型
	TraceType _const2.TraceTypeEnum
	/**
	 * 名称
	 * 可以是一个 http url
	 * 可以是一个rpc的 service.name
	 * 可以是一个MQ的 send.{topic}.{partition}
	 * 可以是访问redis的 get.{namespace}.{key}
	 */
	TraceName string
	// Endpoint 跟踪类型
	Endpoint _const2.EndpointEnum
	// Status 跟踪结果
	Status _const2.TraceStatusEnum

	// RemoteStatus 远程调用结果
	RemoteStatus _const2.TraceStatusEnum
	// RemoteIp 远程调用IP,即下游(Client)或上游(Server)ip
	RemoteIp string
	// Message 调用返回或异常信息
	Message string
	// Size 响应体大小
	Size int32

	// StartTime 当前span开始时间
	StartTime int64
	// EndTime 当前span结束时间
	EndTime int64
	// 是否采样
	Sampled bool

	// 是否已经结束
	Ended bool
	// AttrMap 请求参数
	AttrMap map[string]string
	//  子rpc id的自增器
	ChildRpcSeq atomic.Int32
	// contains filtered or unexported fields
}

func ClientStartTrace added in v0.0.8

func ClientStartTrace(traceType _const.TraceTypeEnum, traceName string) *Tracer

ClientStartTrace 开启客户端跟踪(如前端访问某个后端接口a, 接口a内访问其他接口b, 此时a访问b称为客户端, b接口内为服务端)

func ClientStartTraceWithHeader added in v0.0.9

func ClientStartTraceWithHeader(header *http.Header, traceName string) *Tracer

func ClientStartTraceWithRequest added in v0.0.8

func ClientStartTraceWithRequest(req *http.Request) *Tracer

func GetCurrentTracer added in v0.0.10

func GetCurrentTracer() *Tracer

func ServerStartTrace added in v0.0.8

func ServerStartTrace(traceType _const.TraceTypeEnum, traceName string) *Tracer

func ServerStartTraceWithRequest added in v0.0.8

func ServerStartTraceWithRequest(traceType _const.TraceTypeEnum, traceName string, request *http.Request) *Tracer

func StartTrace added in v0.0.8

func StartTrace(traceType _const2.TraceTypeEnum, endPoint _const2.EndpointEnum, traceName string, request *http.Request) *Tracer

StartTrace traceName 名称

可以是一个 http url
可以是一个rpc的 service.name
可以是一个MQ的 send.{topic}.{partition}
可以是访问redis的 get.{namespace}.{key}

func StartTraceWithHeader added in v0.0.9

func StartTraceWithHeader(traceType _const2.TraceTypeEnum, endPoint _const2.EndpointEnum, traceName string, header *http.Header) *Tracer

func (*Tracer) EndTrace

func (tracer *Tracer) EndTrace(status _const2.TraceStatusEnum, message string, responseSize int32)

func (*Tracer) PutAttr added in v0.1.8

func (tracer *Tracer) PutAttr(key, value string)

Jump to

Keyboard shortcuts

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