 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Index ¶
- Constants
- Variables
- func CheckAdminServerHealth()
- func CheckServerHealth()
- func Close()
- func DiscardTrace(tracer *Tracer)
- func EndTrace(tracer *Tracer, status _const2.TraceStatusEnum, message string, ...)
- func EndTraceError(tracer *Tracer, message string, responseSize int32)
- func EndTraceOk(tracer *Tracer, message string, responseSize int32)
- func EndTraceTimeout(tracer *Tracer, message string, responseSize int32)
- func EndTraceWarn(tracer *Tracer, message string, responseSize int32)
- func GetFrontIP(head *http.Header, remoteAddr string) string
- func IsHealth() bool
- func IsHealthOfAdmin() bool
- func SendTraceLog(tracer *Tracer)
- func SendTracerToServer(tracer *Tracer)
- func TracerIsEnable() bool
- func UploadTracer()
- type Tracer
- func ClientStartTrace(traceType _const.TraceTypeEnum, traceName string) *Tracer
- func ClientStartTraceWithHeader(header *http.Header, traceName string) *Tracer
- func ClientStartTraceWithRequest(req *http.Request) *Tracer
- func GetCurrentTracer() *Tracer
- func ServerStartTrace(traceType _const.TraceTypeEnum, traceName string) *Tracer
- func ServerStartTraceWithRequest(traceType _const.TraceTypeEnum, traceName string, request *http.Request) *Tracer
- func StartTrace(traceType _const2.TraceTypeEnum, endPoint _const2.EndpointEnum, ...) *Tracer
- func StartTraceWithHeader(traceType _const2.TraceTypeEnum, endPoint _const2.EndpointEnum, ...) *Tracer
 
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 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 EndTraceOk ¶ added in v0.0.8
func EndTraceTimeout ¶ added in v0.0.8
func EndTraceWarn ¶ added in v0.0.8
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 ClientStartTraceWithRequest ¶ added in v0.0.8
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 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
 Click to show internal directories. 
   Click to hide internal directories.