honest-profiler+hprof2flamegraph 基础的扩展

今天写过honest-profiler+hprof2flamegraph 火焰图的玩法, 实际上我们可以集成阿里的arthas 一个方便强大的在线问题解决工具包
以下是dockerfile 的内容以及简单的使用说明

Dockerfile

 
FROM openjdk:11-stretch
LABEL AUTHOR="dalongrong"
LABEL EMAIL="1141591465@qq.com"
WORKDIR /
# 核心导入arthas 需要的jar 包
COPY --from=hengyunabc/:latest /opt/arthas /opt/arthas
COPY webapi-0.0.1-SNAPSHOT.jar /webapi-0.0.1-SNAPSHOT.jar
COPY docker-entrypiont.sh /docker-entrypiont.sh
COPY honest-profiler/liblagent.so /opt/liblagent.so
RUN chmod +x /docker-entrypiont.sh
EXPOSE 8080 
ENTRYPOINT [ "/docker-entrypiont.sh" ]

docker-entrypiont.sh

这个文件不用调整,如下

#!/bin/sh
LOGPATH=/opt/logs
java \
-agentpath:/opt/liblagent.so=interval=7,logPath=${LOGPATH}/log.hpl \
-XX:+FlightRecorder \
-XX:+PreserveFramePointer \
-jar /webapi-0.0.1-SNAPSHOT.jar

docker-compose 运行说明

添加了cap_capable 运行arthas 火焰图需要 ,为了简单我添加了ALL,如下

version: "3"
services: 
   app:
     build: ./
     cap_add: 
     - ALL
     ports:
     - "8082:8080" 
     volumes: 
     - "./logs:/opt/logs"

启动arthas 方法

启动docker-compose服务之后进入容器运行java -jar /opt/arthas/arthas-boot.jar 或自动提示需要关联的java 进程

说明

几个工具的集成主要是方便问题的分析,如果java 的容器应用比较重要,同时我们需要进行分析,那么多集成一些轻量的问题
分析工具还是不错的

一些参考资料

https://github.com/jvm-profiling-tools/honest-profiler
https://github.com/cykl/hprof2flamegraph
https://github.com/rongfengliang/honest-profiler-hprof2flamegraph
https://github.com/brendangregg/FlameGraph
https://alibaba.github.io/arthas/docker.html

posted on   荣锋亮  阅读(298)  评论(0编辑  收藏  举报

编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2019-01-02 vorpal 又一个方便的cli 开发包
2019-01-02 gogs wekan 集成试用
2019-01-02 Creating Node.js Command Line Utilities to Improve Your Workflow
2018-01-02 rollupjs 基本试用
2018-01-02 hapi lab测试框架简单使用
2018-01-02 normalizr api 转换类库使用

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示