远光ECP智能运维平台-天象 技术大揭秘:探针技术

远光ECP智能运维平台-天象 技术大揭秘:探针技术

    • 首先,天象探针是做什么的?
    • 天象探针的技术栈选择?
    • 天象探针的演进历程?
    • 天象探针的应用场景?
    • 天象探针的发展方向?

天象有多强?这些“硬核技术”来回答:
远光ECP智能运维平台-天象 技术大揭秘:探针技术_第1张图片
今天,小编就先来跟大家聊聊天象的探针技术。

首先,天象探针是做什么的?

天象探针主要作用是运行时获取被监控系统的前后端性能指标数据:
1、 前端指标数据(支持CWGK)
包括前端页面操作及性能数据(哪个用户?操作了哪个页面?点击了哪个菜单?耗时多少?),前端异常日志(前端操作异常堆栈)
2、 服务端指标数据(支持基于JavaEE架构的系统,支持主流中间件)
包括服务端请求性能数据(请求url、耗时、参数),方法调用性能数据(方法耗时、方法执行SQL耗时、方法异常堆栈等)

天象探针的技术栈选择?

天象的服务端探针实现是基于javaagent来实现,使用Java提供的instrument工具来在动态修改字节码(使用ASM进行字节码操作),为服务端方法添加埋点。采用该技术路线,天象可在不修改已有系统代码的基础上对Java字节码进行增强,最大程度降低对已有系统的侵入性。

天象的前端探针实现,核心思路是使用代理对前端原生JavaScript对象进行代理,从而获取相应指标数据,前端探针在部署时,仍然需要修改被监控系统的web.xml等配置文件,手工添加探针的Filter(前端资源注入前端探针)及Servlet(处理前端数据上报)。

天象探针的演进历程?

远光ECP智能运维平台-天象 技术大揭秘:探针技术_第2张图片

天象探针的应用场景?

1、 应用于远光软件公司内部财务管控的正式环境,用来获取前端操作与性能指标
2、 应用于天象性能测评功能,用来获取服务端请求与方法调用栈数据,辅助开发人员分析系统性能瓶颈。
举个例子:开发人员分析接口或方法调用耗时的时候,可以通过添加请求拦截器或方法埋点的方式来统一记录耗时,在接口或方法调用后分析日志或参考loaderrunner接口分析结果来确定接口调用性能。但是无论是查看日志或查看loaderrunner接口分析结果,都不能完美的将请求与方法调用的耗时结合起来,而天象的探针就可以将两者统一展示,通过具体请求关联方法调用栈,为开发人员的代码性能瓶颈分析提供参考。

天象探针的发展方向?

天象探针将支持运行时从天象前端进行实时操作,获取实时的JVM性能指标数据(如GC、线程),获取实时的方法调用堆栈与性能指标,从而辅助开发人员在服务运行时实时分析性能问题。

后续,小编将一一为大家揭秘天象的“硬核”技术。

你可能感兴趣的:(智能运维平台)