![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
pinpoint
文章平均质量分 92
MQCloud
https://github.com/sohutv/mqcloud
展开
-
1.agent启动
1 agent启动、加载、拦截织入所有的代码分析基于pinpoint 1.6.2pinpoint agent使用方式为-javaagent:$PINPOINT_PATH/pinpoint-bootstrap-{version}.jar,故从javaagent开始:一、jvm会调用PinpointBootStrap.premain方法,此方法做了如下操作:####将状态标志为启动(即同一j...原创 2020-01-03 16:48:51 · 2406 阅读 · 0 评论 -
2.agent追踪
所有的代码分析基于pinpoint 1.6.2在上篇文章agent启动中最终分析到了织入部分,那么这里分析一下Trace部分。一、入口所有的trace的都从plugin进入,也就是说,如果对某个组件不支持的话,是不会进行trace的。这里以jetty的plugin为例,当一个请求过来时,有类似如下拦截代码(后置拦截在后面)://前置拦截public void before(Object...原创 2020-01-03 17:06:36 · 608 阅读 · 0 评论 -
3.agent通信
所有的代码分析基于pinpoint 1.6.2在上篇文章agent追踪已经分析到部分代码,这里进行一个详细的介绍。一、入口####在每次追踪完毕后,需要调用这个方法trace.traceBlockEnd(),此方法内部使用storage.store(spanEvent)来持久化SpanEvent。这里使用的storage是由StorageFactory创建的,而StorageFactory...原创 2020-01-03 17:11:27 · 753 阅读 · 0 评论 -
4.agent配置详解
所有的代码分析基于pinpoint 1.6.2常用配置profiler.sampling.enable=true是否进行采样,true表示开启采样,如果关闭采样,将不进行traceprofiler.sampling.rate=100采样率:表示每profiler.sampling.rate次请求,进行一次trace例如,100表示1/100,1表示每次请求都tracepr...原创 2020-01-03 17:12:55 · 5774 阅读 · 0 评论 -
pinpoint collector nginx 配置
worker_processes 16;error_log logs/error.log;pid logs/nginx.pid;events { worker_connections 65535;}stream { log_format main '$remote_addr [$time_local] ' '$prot...原创 2018-06-06 09:34:21 · 3851 阅读 · 0 评论