在作性能压测的时候,你是否是有只能看到测试报告?java
在作性能压测的时候,你是否是想知道每个方法执行了多长时间?git
Pinpoint几乎能够帮助你查看你想看到的每个细节。github
Pinpoint是一款全链路分析工具,提供了无侵入式的调用链监控、方法执行详情查看、应用状态信息监控等功能。基于GoogleDapper论文进行的实现,与另外一款开源的全链路分析工具Zipkin相似,但相比Zipkin提供了无侵入式、代码维度的监控等更多的特性。 Pinpoint支持的功能比较丰富,能够支持以下几种功能:docker
Pinpoint 主要由 3 个组件外加 Hbase 数据库组成,三个组件分别为:Agent、Collector 和 Web UI。数据库
# 克隆官方提供的docker git git clone https://github.com/naver/pinpoint-docker.git cd pinpoint-docker # 1.7.3版本须要将 pinpoint-docker/docker-compose.yml的第17行和第18行修改成绝对路径,不然会启动报错(docker 17.03版本测试) # 如需修改相关组件的ip和端口,请修改pinpoint-Docker/.env文件 docker-compose pull && docker-compose up -d # 启动完成后访问网页 http://localhost:8081/#/submit 将pinpoint-docker/pinpoint-flink/build/pinpoint-flink-job-{pinpoint-version}.jar 文件手动upload到flik组件中,上传的版本须要和pinpoint保持一致
# 访问:http://localhost:8079/ 便可浏览pinpoint页面
# 官方说明:https://github.com/naver/pinpoint-docker
访问 https://github.com/naver/pinpoint/releases 下载和 Collector组件 相同版本的pinpoint-agent压缩包。bootstrap
解压pinpoint-agent压缩包,找到 pinpoint.config 文件,修改成你对应环境的配置。通常状况只须要修改配置项 profiler.collector.ip=127.0.0.1 为你本身的Collector组件的IP。架构
// 若是你在多台机器上部署了应用程序,那么就须要在多台机器上部署Agent组件 // ${pinpointPath}是agent组件存放的路径,相似于JAVA_HOME // 在java启动命令中加入以下参数 -javaagent:${pinpointPath}/pinpoint-bootstrap-1.7.3.jar -Dpinpoint.applicationName= // 在pinpoint上显示的名字 -Dpinpoint.agentId= // id,能够和applicationName相同,也能够不一样
启动程序,访问一下,就能够在pinpoint上看见相关数据。app
pinpoint使用教程:点我去查看分布式