etrace-agent 淩亂°似流年 2023-03-01 14:59 9阅读 0赞 入口为Trace类 metric :aggregate(单机按秒)- encode - send 各类metric聚合方式 Counter:count相加 Timer:内有sum/count/max/min,merge全会处理,二级key考虑upperEnable PayLoad:内有sum/count/max/min,merge全会处理,无upperEnable Gauge:merge后面的替换前面的值和时间 Histogram trace:encode - send Trace 同样含tags Transaction(duration和children):常见type如SOAService,SOACall Event(String data):常见type如Exception,RuntimeException HeartBeat(String data):定时上报envvars,sysprops,jvm param,thread info,trace/metric stats,mbean,自己生成reqId,rpcId,通过CallStack包装发送,shaka多个tag解析成多个jvm对象 requestId(root) rpcId 如1.1和1.1.1,天然表达层级关系和同层级先后 其它系统考虑root parent current timestamp 构建调用链 `threadlocalStack<Message>`且Message(Transaction)为父子关系形成callstack,所以在stack为空时把root Message发出来即可,应用内部多transaction共用一个rpcId 通过ringbuffer/disruptor不断异步 esight encode-send 理论上collector通过zk感知,但从agent来看是api拉取(collector本身提供http服务),连接持续一段时间或异常会断开重连新的collector
还没有评论,来说两句吧...