首页 > 其他分享 >grafana jpprof jdk 8 支持探索

grafana jpprof jdk 8 支持探索

时间:2022-11-04 18:00:16浏览次数:72  
标签:java jdk na grafana jpprof 版本 jfr

问题

  • 运行问题
java.lang.NoSuchMethodError: java.nio.ByteBuffer.flip()Ljava/nio/ByteBuffer;
        at jpprof.one.jfr.JfrReader.<init>(JfrReader.java:80) ~[jpprof-0.2.0.jar!/:na]
        at jpprof.CPUProfiler.start(CPUProfiler.java:47) ~[jpprof-0.2.0.jar!/:na]
        at com.dalong.jpprofappv2.ProfileApi.demo(ProfileApi.java:21) ~[classes!/:0.0.1-SNAPSHOT]
        at sun.reflect.GeneratedMethodAccessor33.invoke(Unknown Source) ~[na:na]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_345]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_345]

原因

核心是因为jpprof 在处理cpu profile的时候使用的是jfr,但是jfr 的支持是有版本要求的(部分jdk 是不支持的,高版本jdk8 支持)
同时jfr 转换部分依赖了async-profiler(这个部分似乎处理使用了高于8的版本函数)
依赖包如下

 

 

解决方法

目前推荐还是使用jdk 11 运行,对于需要支持的可以尝试更新async-profiler 依赖的版本(降版本)

参考资料

https://github.com/jvm-profiling-tools/async-profiler/releases
https://github.com/grafana/JPProf

标签:java,jdk,na,grafana,jpprof,版本,jfr
From: https://www.cnblogs.com/rongfengliang/p/16858646.html

相关文章

  • Cglib 与 JDK动态代理
    AOP代理的两种实现:jdk是代理接口,私有方法必然不会存在在接口里,所以就不会被拦截到;cglib是子类,private的方法照样不会出现在子类里,也不能被拦截。JDK动态代理。具体有如下......
  • grafana jpprof 试用
    grafanajpprof是为了方便grafanaphlare对于java语言支持开发的一个包,可以让java语言方便的自持pprof格式的内容,进行持续性能优化以下是一个简单的试用环境准备......
  • grafana phlare 开源持续优化平台
    对于持续优化我以前介绍过几个开源工具,目前grafana也开源了一个自己的,还是很不错的参考架构  支持的语言目前支持java,golang,rust,python说明parca也是一个不错......
  • SpringCloud (五) - 云服务器Centos7.6,安装JDK,Maven,Mysql,Redis
    1、购买云服务器购买地址:https://cloud.tencent.com/act/pro/2022double11_warmup后面的环境都是基于此环境Centos7.6;2、安装SecureCRT和SecureFX2.1SecureCRT教......
  • grafana faro-web-sdk web 可观测性sdk
    最近grafan大会开源了不少好东西,faro-web-sdk就是一个很不错的前端监控方案参考架构  说明phlare也是grafana开源的一些持续profle的一个方便工具,faro-web-sd......
  • JDK 19 Virtual Threads 虚拟线程
    前言ProjectLoomLoom是什么?为什么要引入Loom?VirtualthreadsPlatformthread是什么?Virtualthread是什么?Virtualthread的好处?使用virtualthread使......
  • jdk安装教程
    在点击高级系统设置之后,选择“环境变量”点击系统变量下面的新建按钮,变量名JAVA_HOME(代表你的JDK安装路径),值对应的是你的JDK的安装路径。继续在系统变量里面新建一个CLA......
  • JDK动态代理学习笔记
    JDK动态代理学习2022.10.23今天在看Java基础的时候,看到Reflect方面,资料提到各种框架离不开Reflect,同时动态代理也依赖于Reflect去随便搜了点动态代理的文章,看了看如何调......
  • Node_exporter+Prometheus+Grafana 安装配置详解
    在进行性能测试时,想直观看到服务器的CPU、内存占用多少,可以搭建prometheus+node_exporter+grafana来实现。通过node_exporter把从服务器(即被监控机器)采集到的信息发到pr......
  • 腾讯云(阿里云) Jmeter 5.2.1 版本 JDK1.8.053 分布式部署详细步骤
    1,安装JDK使用yum命令工具安装JDK选择适合自己得JDK或者JRE版本进行安装。带“-devel” 标志为JDK安装包1yum-ylistjava*23minstall-yjava-1.8.0-op......