APM 追踪 Java 应用性能

本文介绍了如何在分布式系统中使用Elastic APM监控Java应用性能。通过Java Agent实现无侵入式监控,记录请求详情,追踪Span和Trace,以优化应用。Kibana用于可视化展示监控数据。
摘要由CSDN通过智能技术生成

在分布式系统下,如何去发现某一些服务的工作性能情况,以及追踪一次会话相关的服务调用呢,通过 Elastic APM 服务,就可以很简单的对不同开发语言的程序进行统一监控。

架构设计

涉及到 Elastic Stack 中 Metricbeat 是用于采集 Kubernetes 相关的性能指标, Elasticsearch 是用于对于数据落地存储和搜索的引擎, Kibana 是用于对数据可视化的工具。

在这里插入图片描述

本例子采用 Java 开发语言,由于 Java Agent 是在 Class 被装载到 ClassLoader 之前进行拦截并插入自定义的字节码,所以可以实现无侵入式的零代码修改监控。

APM

APM 工具用于观测应用的运行情况,例如是否在线、资源使用情况、请求情况、响应时间等等,通过 APM 工具记录每一个请求的详细情况,从而最大程序的知道应用的情况而采取一些优化的手段。

Span 是指一次链路的调用,例如是一次访问数据库的动作,或者是一次 RPC 的调用,Span 中还记录自身的 id,调用链路来源的父 id,时间戳,标记信息以及调用信息等。

Trace 是指一次完整的调用链的跟踪,包括一个或多个 Span 构成,例如在分布式系统下,用户在前台购买了一个商品,这个行为就会产生一次或多次 Trace,其中一个 Trace 下可能有多个 Span 调用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值