对于Java应用性能跟踪其实有很多种手段,本文只是针对xrebel的使用做一些简单讲解(单体应用和微服务应用)。分布式跟踪有很多,比如zipkin等,如下图

一款被大家低估的微服务场景下性能问题排查神器

 

但是太重了,不适合小规模团队,开发时期用。

而且以zipkin为例,仅仅是A服务调用B服务耗时多少,并不会显示详细的线程,堆栈信息。需要搭配其他手段进行排查。

示例:

一款被大家低估的微服务场景下性能问题排查神器

 

# 快速安装

下载地址:https://www.jrebel.com/products/xrebel/download

# 快速安装

xrebel支持eclipse和idea,同时有eclipse插件,建议使用独立方式安装。

  1. 下载xrebel.zip 并解压到本地,e.g. D:\\xrebel
  2. 在tomcat也好,idea,eclipse也好,修改vm 参数,添加 -javaagent:[path/to/xrebel]/xrebel.jar

下面分别是idea,eclipse

一款被大家低估的微服务场景下性能问题排查神器

 

一款被大家低估的微服务场景下性能问题排查神器

 

默认是可以试用14天的,建议支持正版,毕竟大家都是吃这行饭的。而且它确实能给你省的时间,绝对值这个价。

一款被大家低估的微服务场景下性能问题排查神器

 

jrebel有个免费的社区计划:my.jrebel.com

web ui

打开 web 服务页面,xrebel会直接注入到你的页面中,左下角会出现 xrebel的toolbar,(e.g. http://localhost:8080)

一款被大家低估的微服务场景下性能问题排查神器

 

或者通过 访问服务/xrebel (e.g. http://localhost:8080/xrebel) 打开单独页面,适用于webservice,restful 等无页面场景

一款被大家低估的微服务场景下性能问题排查神器

 

如果不想注入到页面中,只想通过服务/xrebel访问,则可以添加 -Dxrebel.injection=true|false ,默认为true

其余开关参数 参见:https://manuals.jrebel.com/xrebel/use/advanced.html#xrebel-launch-parameters

# xrebel 简单使用教程

参考:https://manuals.jrebel.com/xrebel/index.html

一款被大家低估的微服务场景下性能问题排查神器

 

一款被大家低估的微服务场景下性能问题排查神器

 

一款被大家低估的微服务场景下性能问题排查神器

 

一款被大家低估的微服务场景下性能问题排查神器

 

# 微服务

参考:https://manuals.jrebel.com/xrebel/use/advanced.html#microservices

一款被大家低估的微服务场景下性能问题排查神器

 

确保调用方,和被调用方,都开了xrebel,效果如下:

一款被大家低估的微服务场景下性能问题排查神器

 

# 启用xrebel调试

启用XRebel后,可能很难进入XRebel方法。要解决此问题,请为按照下面的步骤来配置你的IDEA。

Eclipse

  • 打开 Preferences > Java > Debug > Step Filtering
  • 开启Step Filters.
  • 分别添加filter:com.zeroturnaround.xrebel.* java.*

IDEA

  • 打开 Settings > Build, Execution, Deployment > Debugger > Stepping
  • 开启 Do not step into the classes.
  • 添加filter:com.zeroturnaround.xrebel.*

一款被大家低估的微服务场景下性能问题排查神器

 

# 题外话静态资源分离的必要性

为嘛建议将静态文件分离?通过xrebel就可以清晰看出来。

一款被大家低估的微服务场景下性能问题排查神器

 

你用过这款神器没?玩过的同学可以留言谈谈心得。

相关文章:

  • 2021-11-12
  • 2023-03-06
  • 2022-01-15
  • 2021-11-24
  • 2021-10-05
  • 2021-11-01
  • 2022-02-07
猜你喜欢
  • 2021-05-10
  • 2021-11-08
  • 2022-12-23
  • 2021-05-14
  • 2021-11-21
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案