97%的记录错误是由10个唯一错误引起的

在2016年,一件事已经30年没有改变了。 开发和运营团队仍依靠日志文件对应用程序问题进行故障排除。 由于某些未知原因,我们隐式地信任日志文件,因为我们认为事实隐藏在其中。 如果您足够努力地进行grep编写或编写完美的regex查询,答案将神奇地呈现在您面前。

是的,诸如Splunk,ELK和Sumologic之类的工具已使搜索日志变得更快,但所有这些工具都受一件事–操作噪音的困扰。 运营噪音是当今IT和您的企业的无声杀手。 这就是为什么无法发现应用程序问题并需要花费数天才能解决的原因。

新帖子:我们处理了10亿个Java记录的错误-这是导致97%的错误的原因https://t.co/fFht52vkp1 pic.twitter.com/ddHdrTRCjA

— Takipi(@takipid) 2016年5月24日

日志现实

这是现实,您只会记录认为会破坏应用程序的内容,并且会受到记录的数量的限制,而不会在应用程序上产生不必要的开销。 这就是为什么通过日志记录进行调试在生产环境中不起作用以及为什么大多数应用程序问题都未被发现的原因。

假设您确实设法找到了所有相关的日志事件,但这还不是故事的结尾。 通常,所需的数据通常不在其中,并且您还可以添加其他日志记录语句,创建新的构建,测试,部署并希望错误再次发生。 哎哟。

分析时间

在Takipi,我们捕获并分析生产中Java应用程序抛出的每个错误或异常。 通过分析Takipi监视的1,000多个应用程序,我发现了这些实用信息。

高层次的总体发现:

  • 平均 Java应用程序每月将引发920万个错误
  • 平均 Java应用程序每月产生大约2.7TB的存储
  • 平均 Java应用程序每月包含53个唯一错误
  • 按频率列出的前10个Java错误分别是
    • 空指针异常

因此,有了它,讨厌的NullPointerException就应该归咎于日志文件中所有损坏的内容。 具有讽刺意味的是,检查null是2004年我是一名Java开发人员时在我的第一次代码审查中获得的第一个反馈。

是的,以下是过去30天中随机选择的企业生产应用程序中的一些数据:

  • 25个JVM
  • 29,965,285个错误
  • 约8.7TB的存储空间
  • 353个唯一错误
  • Java发生频率最高的错误是:
    • NumberFormatException

故障排除时间(射击)

因此,您从事开发或运营工作,并且被要求对上述每天产生一百万个错误的应用程序进行故障排除,该怎么办? 好吧,让我们放大应用程序出现问题的时间吗?

让我们选择一个15分钟的时间段。 但是,在那15分钟内,您仍然会看到10,416个错误。 您现在看到了称为操作噪音的问题吗? 这就是为什么人类今天要努力检测应用程序并对其进行故障排除……并且不会变得更加简单。

如果我们只修复了10个错误该怎么办?

现在,假设我们在上述应用程序中修复了10个错误。 您认为这10个错误对应用程序每月产生的错误计数,存储和操作噪声有何减少?

1%,5%,10%,25%,50%?

大约97.3% 。 是的,你读过。 在此应用程序中仅修复10个错误将减少97.3%的错误计数,存储和操作噪声。

在过去30天内抛出的总29,965,285个错误中,该应用程序中按频率排列的前10个错误负责29,170,210个错误。

废话少说

绝大多数应用程序日志文件包含重复的废话,您需要支付这些废话来管理IT环境中的每一天。

您支付:

  • 磁盘存储以托管服务器上的日志文件
  • 日志管理软件许可证可通过网络解析,传输,索引和存储此数据
  • 运行您的日志管理软件的服务器
  • 人类来分析和管理这种运行噪音

解决操作噪声的最简单方法是修复应用程序错误而不是忽略它们。 这不仅可以极大地改善团队的运营洞察力,还可以帮助他们发现更多问题并更快地进行故障排除,因为他们实际上会看到损害您的应用程序和业务的事物。

解决方案

如果要确定并修复应用程序中的前10个错误,请免费下载Takipi ,将其粘贴在几个生产JVM上,等待几个小时,按频率对捕获的错误进行排序,然后单击一下Takipi将向您显示确切的错误。引起它们的源代码,对象和变量值。 您的开发人员将在几个小时内就能进行所需的修复,而Bob将成为您的叔叔 。

下次在生产环境中进行代码部署时,Takipi将立即通知您所引入的新错误,您可以重复此过程。 我们通过两种方式在Takipi使用Takipi来检测SaaS平台中的新错误:

Slack实时通知 ,可在发生错误时立即通知我们的团队生产中出现的每一个新错误,并提供一键式链接以准确地找出根本原因(导致错误的源代码,对象和变量值)。

电子邮件部署摘要报告显示了前5大新错误,并直接链接到确切的根本原因。

最后的想法

我们一次又一次地看到,生产中最重要的几个记录错误正在浪费大部分时间并记录了资源。 这些最严重的事件造成的损害(每次发生数百万次)与解决这些问题所花费的时间和精力不成比例。

本周晚些时候,我们将发布导致这些错误的十大异常类型。 敬请关注。

翻译自: https://www.javacodegeeks.com/2016/05/crunched-1-billion-java-logged-errors-heres-causes-97.html

我们处理了10亿个Java记录的错误-这是导致97%的错误的原因相关推荐

  1. java10个基础错误_我们处理了10亿个Java记录的错误-这是导致97%的错误的原因

    java10个基础错误 97%的记录错误是由10个唯一错误引起的 在2016年,一件事在30年内没有改变. 开发和运营团队仍依靠日志文件对应用程序问题进行故障排除. 由于某些未知原因,我们隐式信任日志 ...

  2. java记录目录树_Java记录

    java记录目录树 https://openjdk.java.net/jeps/359概述了Java的新功能,该功能可能会/将在某些将来的Java版本中实现. JEP建议使用一种新的"类别& ...

  3. Java架构直通车——锁分段技术:微信如何扛住 10 亿用户同时修改微信号?

    文章目录 引入 从HashMap到ConcurrentHashMap的转变:理解锁分段技术 HashMap的死循环 ConcurrentHashMap的实现方式---锁桶(或段) Concurrent ...

  4. 微信支撑10亿用户背后核心技术:亿级流量Java并发与网络编程实战

    大家可能不知道,支撑微信10亿用户之后,最基础也是最核心的技术是什么?那就是网络编程. 越是大型互联网通讯项目,越是对网络编程的落地要求越高.落地,意味着对实战的要求更高. 所以,一些朋友更喜欢用类似 ...

  5. 河狸家创始人孟醒:10亿估值仅用半年 刷新雕爷牛腩记录

    公司的全体小伙伴们,不好意思哈,写这封邮件给大家时,我其实正在和另外七个公司高管在大溪地度假,其实这是阿芙早几年留下的传统,因为七八月份是传统上化妆品行业的淡季,所以这几年来一直都保持着这个时间段去海 ...

  6. 这么设计,Redis 10亿数据量只需要100MB内存

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 来源:www.toutiao.com/i676764283 ...

  7. 日10亿级处理,基于云的微服务架构

    德比软件:基于云的微服务架构 作者:朱攀,德比软件架构师,同济大学研究生,2007 年 2 月加入德比软件(DerbySoft),拥有 10 年以上的软件架构和开发经验.目前主要负责公司数据对接平台的 ...

  8. Redis 10亿数据量只需要100MB内存,为什么这么牛?

    作者:java架构设计   来源:toutiao.com/i6767642839267410445 本文主要和大家分享一下redis的高级特性:bit位操作. 力求让大家彻底学会使用redis的bit ...

  9. flink读取不到文件_日处理数据量超10亿:友信金服基于Flink构建实时用户画像系统的实践...

    简介: 友信金服公司推行全域的数据体系战略,通过打通和整合集团各个业务线数据,利用大数据.人工智能等技术构建统一的数据资产,如 ID-Mapping.用户标签等.友信金服用户画像项目正是以此为背景成立 ...

最新文章

  1. rotate.js实现图片旋转 (chrome,IE,firefox都可以实现)
  2. python for循环删除
  3. 投资者建议三星电子一分为二 股价创历史新高
  4. MQTT客户端连接服务器协议,mqtt客户端和服务器长连接
  5. hibernate mysql自定义变量_hibernate如何得到mysql的变量
  6. 算法训练 字符删除 c语言
  7. 两个数相乘积一定比每个因数都大_两个多位数相乘,积一定比每一个因数都大。[ ]...
  8. 用计算机作业,四川电大计算机办公软件应用第1次形考作业
  9. .net mvc ajax重定向,如何在MVC3 JQuery的Ajax调用重定向到新的页面(连同模型)(How to redirec...
  10. 深度学习自学(十三):Nas+Mnas移动端网络搜索结构
  11. Delphi开发工具的使用
  12. touch: cannot touch ‘***’: Read-only file system
  13. win7没有语音识别怎么办|win7系统语音识别设置方法
  14. 爱吃喵粮的小招喵(查找,动态规划)
  15. 推荐的四款产品原型设计工具
  16. (翻译)验证码(Captcha)
  17. Spring boot + netty开发即时通讯 IM
  18. 批量添加AD账号(一)
  19. 22款奔驰C260L升级原厂360全景影像 倒车更加直观
  20. LS1028 使用serdes mode 99BB软件修改方案

热门文章

  1. Spring Boot的自动化配置原理
  2. 对于线程安全的集合类(例如Vector)的任何操作是不是都能保证线程安全
  3. TreeSet的null值与元素类型的约束
  4. C#中的序列化和反序列化
  5. java反射机制的原理与简单使用
  6. 2017蓝桥杯省赛---java---C---1(外星日历)
  7. 西安理工大学计算机专业毕业,西安理工大学什么专业好找工作?毕业工资大概多少?答案在这里...
  8. 实模式切换到保护模式,为什么要开启A20地址线(系统升级产生的兼容性问题)
  9. java 轻量级文件数据库_Java:如何创建轻量级数据库微服务
  10. jsap支付_Java命令行界面(第20部分):JSAP