# 第 17 章 非入侵监控设计,JVMTI 定位代码

作者:小傅哥
博客:https://bugstack.cn (opens new window)

沉淀、分享、成长,让自己和他人都能有所收获!

# 一、前言

你的代码出过事故吗?

老人言:常在河边走哪有不湿鞋。只要你在做着编程开发的工作就一定会遇到事故,或大或小而已。

当然可能有一部分研发同学,在相对传统的行业或者做着用户体量较小的业务等,很难遇到让人出名的事故,多数都是一些线上的小bug,修复了也就没人问了。

但如果你在较大型的互联网公司,那么你负责的开发的系统功能,可能面对的就是成百万、上千万级别用户体量。哪怕你有一点小bug也会被迅速放大,造成大批量的客诉以及更严重的资金损失风险。就像:拼多多“薅羊毛”事件、淘宝昨现重大线上bug,S1级事故,疑似程序员故意埋雷。类似这样事故的出现,可能是因为技术流程、方案实现、技术服务以及运营配置等等原因产生的。

# 二、需求背景

就像我们说到的线上事故,其实各个大厂、各个技术组,都是在想办法尽可能降低或者避免。从需求的 PRD 评审,研发的技术设计评审一直到测试验证,这些做的工作都是为了提升交付质量。

但项目上线后可能还会因为各种突然的场景导致出现各种事故,因此上线后的项目也需要各种类型的监控系统来实时监测线上的运行状态。例如上一章节提到的非入侵监控设计,其实本章节也是在此类技术的扩展,看看 JVMTI 能为我们做些什么。