在作性能壓測的時候,你是否是有隻能看到測試報告?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使用教程:點我去查看分佈式