对于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就可以清晰看出来。

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

作者:赵安家
链接:https://urlify.cn/ZvUFbu

关微信公众号:互联网架构师,在后台回复:2T,可以获取我整理的教程,都是干货。

猜你喜欢

1、GitHub 标星 3.2w!史上最全技术人员面试手册!FackBook发起和总结

2、如何才能成为优秀的架构师?

3、从零开始搭建创业公司后台技术栈

4、程序员一般可以从什么平台接私活?

5、37岁程序员被裁,120天没找到工作,无奈去小公司,结果懵了...

6、滴滴业务中台构建实践,首次曝光

7、不认命,从10年流水线工人,到谷歌上班的程序媛,一位湖南妹子的励志故事

8、15张图看懂瞎忙和高效的区别

9、2T架构师学习资料干货分享

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

  1. 微服务场景下数据抽取与统计

    案例小故事 某公司的技术架构体系目前还是以集群扩展体系为主,集群扩展体系架构如图9-1所示.在这种体系结构中,可以看到应用都是单块结构,但是单块结构的应用具有扩展性,通过部署在多个Tomcat上实现应 ...

  2. 微服务场景下的数据一致性解决方案

    数据一致性是构建业务系统需要考虑的重要问题 , 以往我们是依靠数据库来保证数据的一致性.但是在微服务架构以及分布式环境下实现数据一致性是一个很有挑战的的问题.ServiceComb作为开源的微服务框架 ...

  3. CI Weekly #11 | 微服务场景下的自动化测试与持续部署

    又一周过去了,最近我们的工程师正在搞一个"大事情" --「flow.ci 配置文件」,稍微剧透一下,这个功能预计会在春节前上线.详情请大家关注 flow.ci Changelog ...

  4. TOP100summit:【分享实录-华为】微服务场景下的性能提升最佳实践

    本篇文章内容来自2016年TOP100summit华为架构部资深架构师王启军的案例分享. 编辑:Cynthia 王启军:华为架构部资深架构师.负责华为的云化.微服务架构推进落地,前后参与了华为手机祥云 ...

  5. 在微服务架构下基于 Prometheus 构建一体化监控平台的最佳实践

    欢迎关注方志朋的博客,回复"666"获面试宝典 随着 Prometheus 逐渐成为云原生时代的可观测事实标准,那么今天为大家带来在微服务架构下基于 Prometheus 构建一体 ...

  6. 微服务架构下 CI/CD 如何落地

    本文系云原生应用最佳实践杭州站活动演讲稿整理.杭州站活动邀请了 Apache APISIX 项目 VP 温铭.又拍云平台开发部高级工程师莫红波.蚂蚁金服技术专家王发康.有赞中间件开发工程师张超,分享云 ...

  7. 微服务模式下,实现前后端多资源服务调用

    Micro Services 首先,我先解释下,文章标题的意思: 咋看起来特别像是一个标题党????,可能是我没想好怎么表达,其实白话文就是:在微服务场景下,肯定会有很多子服务API,那多个前端项目如 ...

  8. 如何在微服务架构下进行数据设计?

    作者:唐建法 && Mongoing中文社区 来自:http://www.mongoing.com/ 微服务是一个软件架构模式,对微服务的讨论大多集中在容器或其他技术是否能很好的实施微 ...

  9. 微服务四大网关性能对比

    作者:周明辉,毕业于浙江大学,工学硕士.13年软件开发领域工作经验! 来自:聊聊架构(ID:archtime) 0 题记 前几天拜读了 OpsGenie 公司(一家致力于 Dev & Ops ...

  10. 微服务架构下分布式事务解决方案——阿里GTS

    1 微服务的发展 微服务倡导将复杂的单体应用拆分为若干个功能简单.松耦合的服务,这样可以降低开发难度.增强扩展性.便于敏捷开发.当前被越来越多的开发者推崇,很多互联网行业巨头.开源社区等都开始了微服务 ...

最新文章

  1. Sequence point 中文
  2. [转载]深入理解JavaScript闭包(closure)
  3. 【C++标准库】特殊容器
  4. mysql8.0.17下载教程_mysql 8.0.17 安装配置图文教程
  5. uni.$emit和uni.$on用法;uni-app微信小程序页面通讯;微信小程序页面通讯
  6. struts2解决动态多文件上传的问题(上传文件与数据库字段一一对应)(转)
  7. python 三分类的哑编码_python数据挖掘实战 -数据预处理篇(数据可视化-空值填充-哑变量编码)...
  8. DNS全局负载均衡(GSLB)基本原理
  9. VC编程操作Word2010生成表格
  10. QoS专题-第4期-QoS实现之限速
  11. python4.2_python4.2参数传入
  12. SQL文件示例(Mysql)
  13. 希捷移动硬盘打不开怎么办?
  14. Tcl语言入门(一)基本知识
  15. 使用Java程序实现计算器
  16. Advanced Installer Architect创作工具
  17. Redmi AirDots只有一边有声音?? 如何进行双耳连接?
  18. 完全使用gnu linux工作
  19. DeepLabV3论文解读(空洞卷积/膨胀卷积 理解)
  20. OPENMV-STM32串口通信

热门文章

  1. 第01期:salesforce开发环境的搭建
  2. Jmeter数据库mysql测试说明
  3. Android与物联网设备通信-网络模型分层
  4. python c/s模式下的内存监控模拟代码
  5. Ibatis.Net 数据库操作(四)
  6. 获取 TUniConnection.SpecificOptions默认值和下拉框列表值
  7. 连线杂志:史上最强的恶意软件Stuxnet揭秘
  8. 双机热备、集群及高可用性入门转载
  9. 什么叫网关精解(超经典)
  10. Windows必备软件效率有哪些?