APM中的span是什么?其对应的代码路径与活动有哪些?
Elastic APM Span覆盖的代码路径与活动说明
来自官方文档:Spans包含特定代码路径执行的相关信息,统计一项活动从开始到结束的耗时,且可与其他span形成父子关联关系。
具体覆盖的代码路径和活动主要分为以下几类:
- 跨组件/跨服务调用路径:数据库CRUD操作、缓存读写请求、外部HTTP/HTTPS接口调用、消息队列生产/消费动作、远程RPC服务调用这类跨组件、跨服务的交互逻辑,是APM探针默认自动采集生成Span的核心场景,可快速定位跨链路的耗时瓶颈。
- Web框架核心处理路径:各类Web服务的请求处理链路,比如Spring体系的Controller方法执行、Django/Flask的视图函数处理、Gin/Echo的路由Handler执行都会默认生成对应Span,对应单请求内部的框架层处理逻辑。
- 自定义业务逻辑路径:如果配置了手动埋点,你可以指定任意核心业务方法、定时任务执行逻辑、批量计算逻辑、大文件读写/序列化等耗时本地操作的代码路径生成自定义Span,用来统计特定业务流程的耗时情况。
- 中间件内置逻辑路径:ORM框架的实体映射操作、连接池的资源申请释放逻辑、各类中间件客户端的内部执行路径也在默认采集的Span覆盖范围内,可用来排查中间件调用层面的性能问题。
内容的提问来源于stack exchange,提问作者David
相关产品推荐
相关产品推荐

