为什么要做这个功能?

作为一款应用性能监控产品,我们通常会给用户展示两类数据:

  • 第一种是统计数据:用户通过使用统计数据设置报警(比如应用响应时间大于2s),缩小问题范围(比如报警时间范围内,是哪一个接口响应时间最长)。
  • 第二种是明细数据:用户通过统计值确认了特征以后,可以具体查看一个缓慢请求的执行过程,确认具体缓慢的方法或者慢SQL.

在用户实际使用过程中,我们发现实际上用户并不会按照我们预想的情况使用,常常是如下两种情况:

  • 由于ARMS提供了相当丰富的指标和维度,且用户对于产品不熟悉,当出现应用响应时长等性能问题时,用户不知道如何继续分析问题。
  • 基于性能开销的考虑,我们的明细数据不是全量上报的(默认10%采样,可调),有可能用户最缓慢的请求我们没有上报。

为了解决这两个问题,我们经过两个月的迭代,隆重推出了 智能和实时诊断功能。

智能诊断:

通过以应用的响应时间突增作为抓手,我们会帮助用户,依次做六项体检:

  • 导致的本次响应时间突增的服务器
  • 应用 SQL 耗时分析。
  • 检测应用的 FullGC 的次数、耗时是否有突增。
  • 是否存在内存泄露。
  • 检测异常日志。
  • 检测下游应用的响应时间是否出现同样的趋势。

经过“三堂会审”,主动的把与这次性能问题相关的 所有检查结果 呈现给您,让您一分钟内发现系统中发生了什么事情。

举个例子:
某应用发现RT突增到4s多

通过主动诊断,准确的抓到了本次异常,主动诊断发现java.util.concurrent.TimeoutException异常的统计指标和RT异常类似。

点击异常,直接跳转到异常诊断界面,发现异常在同一时刻突增,并且把异常栈和上下文给打印出来了。

实时诊断:

当您需要密切监控一小段时间内的应用性能时,例如发布应用时,或者应用出现问题时,您可以使用 ARMS 应用监控的实时诊断功能。开启实时诊断后,ARMS 应用监控会持续监控应用 5 分钟,并在此期间通过来一条上报一条的方式(延时在秒级),实时全量的上报调用链数据。接下来,您就能以出现性能问题的调用链路为抓手,通过方法栈瀑布图和线程剖析等功能定位问题原因。

接下来来我们还会继续补足智能分析的场景和数据源,希望当 响应时间/错误率 出现问题时,能让用户通过ARMS尽可能的缩短定位和解决问题的时间,让天下没有难解的性能问题。

产品链接:应用实时监控服务ARMS

本文作者:中间件小哥

原文链接

本文为云栖社区原创内容,未经允许不得转载。

告别诊断烦恼 | 应用实时监控 ARMS 上线智能和实时诊断功能的更多相关文章

  1. 全景还原报错现场 | 应用实时监控 ARMS 上线用户行为回溯功能

    随着前端技术日新月异迅猛发展,为了实现更好的前端性能,最大程度提高用户体验,支持单页应用的框架逐渐占领市场,如众所周知的React,Vue等等.但是在单页应用的趋势下,快速定位并解决JS错误却成为一大 ...

  2. 阿里云应用实时监控 ARMS 再升级,支持 Prometheus 开源生态

    摘要: 应用实时监控服务 (ARMS) 是一款APM类的监控产品. 用户可基于 ARMS 的前端.应用.自定义监控,快速构建实时的应用性能和业务监控能力.ARMS 让所有性能问题“一屏了然”,不遗余力 ...

  3. 如何做实时监控?—— 参考 Spring Boot 实现

    随着 微服务 的流行,相比较以前一个大型应用程序搞定所有需求,我们现在更倾向于把大型应用程序切分成多个微服务,服务之间通过 RPC 调用.微服务架构的好处非常多,例如稳定的服务变化较少,不会被非稳定服 ...

  4. 虎牙数万主播同时在线直播的秘密,CDN推流日志上行实时监控

    6 月 10 日,又拍云 Open Talk | 2018 音视频技术沙龙·深圳站 顺利落幕,来自虎牙的直播运维研发架构师张波在沙龙上做了<基于CDN推流日志的主播上行实时监控及其自动化解密&g ...

  5. 如何做实时监控?—— 参考 Spring Boot 实现(转)

    转自:http://blog.csdn.net/xiaoyu411502/article/details/48129057 随着 微服务 的流行,相比较以前一个大型应用程序搞定所有需求,我们现在更倾向 ...

  6. 服务器性能测试实时监控Linux命令

    实时监控 top -h : 查看帮助 -p : 监控指定进程,当监控多个进程时,进程ID以逗号隔开,这个选项只能在命令行下使用 top 任务区命令 M: 按内存使用率排序(大写) P:按CPU使用率排 ...

  7. 大众点评cat实时监控简介及部署

    简介 背景 CAT(Central Application Tracking)是由吴其敏(前大众点评首席架构师,现携程架构负责人)主导设计基于Java开发打造的实时应用监控平台,为大众点评网提供了全面 ...

  8. Tomcat集群 Nginx负载均衡 shell脚本实时监控Nginx

    第一步,安装Tomcat 系统环境:Centos7 第1步:下载tomcat安装包 tomcat官网:https://tomcat.apache.org/ 第2步:安装包上传至linux中 第3步:下 ...

  9. 安装 log.io 实时监控 php_error 日志

    Log.io 实时监控 php_error.log 日志 开启 php_error 实时监控日志的第一步,要首先开启 php_error 的功能. vi php.ini 修改 PHP 配置文件,将 ; ...

随机推荐

  1. innerHTML 属性用于获取或替换 HTML 元素的内容。

    innerHTML 属性 innerHTML 属性用于获取或替换 HTML 元素的内容. 语法: Object.innerHTML 注意: 1.Object是获取的元素对象,如通过document.g ...

  2. 用hexo在本地搭建自己的博客

    参考路径:https://blog.csdn.net/Hoshea_chx/article/details/78826689

  3. 【JZOJ3379】查询

    description 对于一个整数序列,查询区间第k大数可以在O(logN)的时间内轻松完成.现在我们对这个问题进行推广. 考虑带重复数的集合(multiset).定义在该类集合上的并操作" ...

  4. Ionic3 demo TallyBook 实例2

    1.添加插件 2.相关页面 消费页面: <ion-header> <ion-navbar> <ion-title> 消费记录 </ion-title> ...

  5. MSI右键添加管理员运行.reg

    Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\Msi.Package\shell\runas]@="右键以管理员运行MSI& ...

  6. vue如何关闭sourceMap

    Vue打包后出现一些map文件的解决办法: 问题: 可能很多人在做vue项目打包,打包之后js中,会自动生成一些map文件,那我们怎么把它去掉不要呢? 1,运行  cnpm run build  开始 ...

  7. 自己编写jquery插件

    http://blog.csdn.net/chenxi1025/article/details/52222327 https://www.cnblogs.com/ajianbeyourself/p/5 ...

  8. PAT甲级——A1087 All Roads Lead to Rome【30】

    Indeed there are many different tourist routes from our city to Rome. You are supposed to find your ...

  9. How to ping and test for a specific port from Linux or Unix command line

    Use telnet command The syntax is:telnet {host} {port}telnet www.cyberciti.biz 80telnet 192.168.2.254 ...

  10. 在当前目录打开DOS命令行窗口

    [step1]选中文件夹 [step2]shift + 鼠标右键