APM如何采集探针数据?
如何采集数据
APM是通过采集探针采集应用数据的。采集探针是通过字节码增强技术进行埋点,生成调用数据。调用数据被采集代理ICAgent所获取并处理,然后上报并呈现在界面中。关系如下图所示:

采集哪些数据
APM仅采集应用的业务调用链数据、资源信息、资源属性、内存检测信息、调用请求的KPI数据,不涉及个人隐私数据。所采集的数据仅用于APM性能分析和故障诊断,不会用于其他商业目的。下表为数据采集范围和用途。
| 数据类型 | 采集数据 | 传输方式 | 存储方式 | 数据用途 | 时限 |
| 调用链数据 | 调用链Span数据 | 通过https加密结合AKSK鉴权的方式传输 | APM服务端按照Project隔离存储 | 调用链前台查询展示 | 可配置,最大7天,到期彻底删除 |
| 调用请求KPI数据 | 调用发起方地址、调用接收方地址、调用接口、调用耗时、调用状态 | 通过https加密结合AKSK鉴权的方式传输 | APM服务端按照Project隔离存储 | 用于计算事务调用KPI指标(吞吐量、TP99时延、平均时延、错误调用次数等)与绘制应用拓扑,在前台界面展示 | 7天,到期彻底删除 |
| 资源信息 | 服务类型、服务名称、创建时间、删除时刻、所在节点地址、服务发布端口 | 通过https加密结合AKSK鉴权的方式传输 | APM服务端按照Project隔离存储 | 资源库前台查询展示 | 7天,到期彻底删除 |
| 资源属性 | 系统类型、系统启动事件、CPU个数、服务执行用户名称、服务进程id、服务的PodID、CPU标志、系统版本、服务使用的Web框架、JVM版本、时区、系统名称、采集器版本以及LastMail的Url | 通过https加密结合AKSK鉴权的方式传输 | APM服务端按照Project隔离存储 | 资源库前台查询展示 | 7天,到期彻底删除 |
| 内存检测信息 | 内存使用率、使用量、最大使用量、剩余内存大小、内存超限时刻以及内存监测机制的配置信息 | 通过https加密结合AKSK鉴权的方式传输 | APM服务端按照Project隔离存储 | 资源库前台查询展示 | 7天,到期彻底删除 |
APM的资源开销有多大
每个采集探针CPU占用率低于5%,内存约占用250M。