
# 数据采集
在使用APM服务过程中用户开启APM数据采集开关后，APM仅采集应用性能指标及调用链相关数据，不涉及个人隐私数据。所采集的数据仅用于应用的性能分析和故障诊断，不会用于其他商业目的。
APM服务针对用户数据上报设置租户级限流，分别对性能指标数据、调用链数据、事务数据、链路追踪指标数据、Profiler数据设置不同的限流阈值。超过阈值则触发限流，停止上报，返回429状态码。
表1限流阈值 
| 数据类型 | 性能指标数据        | 调用链数据         | 事务数据          | 链路追踪指标数据     | Profiler数据    |
|:---|:---|:---|:---|:---|:---|
| 限流阈值 | 20000笔/10秒/租户 | 20000笔/10秒/租户 | 20000笔/10秒/租户 | 10000笔/分钟/租户 | 20000笔/10秒/租户 |
   
表2数据采集 
| 数据类型      | 采集数据                                                                                                | 传输方式            | 存储方式           | 数据用途          | 时限                                                                                       |
|:---|:---|:---|:---|:---|:---|
| 性能指标数据    | JVM相关数据、异常、数据库、SQL语句以及中间件调用相关的数据。                                                                   | 通过WSS方式传输       | APM服务端按照租户隔离存储 | 指标查看页面展示      | 免费版7天，企业版30天，到期彻底删除。                                                                     |
| 调用链数据     | 调用链event数据，包含中间件调用的相关数据。                                                                            | 通过WSS方式传输       | APM服务端按照租户隔离存储 | 调用链前台查询展示     | 免费版7天，企业版30天，到期彻底删除。                                                                     |
| 资源信息      | 服务类型、服务名称、创建时间、删除时间、所在节点地址和服务发布端口。                                                                  | 通过WSS方式传输       | APM服务端按照租户隔离存储 | 资源库前台查询展示     | 免费版7天，企业版30天，到期彻底删除。                                                                     |
| 资源属性      | 系统类型、系统启动时间、CPU个数、服务执行用户名称、服务进程id、服务的PodID、CPU标志、系统版本、服务使用的Web框架、JVM版本、时区、系统名称、采集器版本以及LastMail的Url。 | 通过WSS方式传输       | APM服务端按照租户隔离存储 | 资源库前台查询展示     | 免费版7天，企业版30天，到期彻底删除。                                                                     |
| 链路追踪指标数据  | 分布式应用的完整调用链路，提供了拓扑、接口调用、数据库、异常等数据。                                                                  | 通过grpc方式传输      | APM服务端按照租户隔离存储 | 链路追踪前台查看页面展示  | 链路追踪调用链公测期间仅支持2天存储，到期彻底删除。 其他采集数据存储时限：免费版7天，企业版30天，到期彻底删除。 |
| 前端性能指标数据  | 页面加载性能、JS错误数、服务流量、API请求相关数据。                                                                        | 通过https方式传输     | APM服务端按照租户隔离存储 | 前端监控前台查看页面展示  | 30天，到期彻底删除。                                                                              |
| Profiler  | 应用程序运行过程中CPU、内存和延时的使用情况。                                                                            | 通过websocket方式传输 | APM服务端按照租户隔离存储 | 指标查看页面展示      | 7天，到期彻底删除。                                                                               |
| App性能指标数据 | App启动性能、崩溃、卡顿、错误、网络请求、设备信息等相关数据。                                                                    | 通过https方式传输     | APM服务端按照租户隔离存储 | App监控前台查看页面展示 | 30天，到期彻底删除。                                                                              |
| 性能监控      | 采集性能指标数据，包括AOM、LTS日志以及APM的调用链数据、资源信息、Profiler等相关数据。                                                 | 通过WSS方式传输       | APM服务端按照租户隔离存储 | 指标查看页面展示      | 7天，到期彻底删除。                                                                               |
   
表3采集项限制说明 
| 采集项名称                           | 最大值    |
|:---|:---|
| 监控项默认最大行数                       | 500行   |
| SQL 默认长度限制                      | 2000字符 |
| SQL Result Body体默认采集数量限制        | 100个   |
| SQL Result Body体默认采集内容大小限制      | 999字符  |
| Redis Body体默认长度限制               | 100字符  |
| Mongo 最大集群数                     | 10个    |
| Mongo command默认长度限制             | 2000字符 |
| Hbase command默认长度限制             | 500字符  |
| Es RestClient上限                 | 10个    |
| Cassandra CQL默认长度限制             | 2000字符 |
| Cassandra Session上限             | 10个    |
| Kafka Mbean采集ObjectName上限       | 100个   |
| Kafka ClientId对应IP缓存上限          | 100个   |
| RabbitMq连接地址上限                  | 20个    |
| RabbitMq 每个地址最大缓存连接数            | 100个   |
| RabbitMq Consumer上限             | 500个   |
| RabbitMq 每个Consumer最大缓存Channel数 | 100个   |
| RabbitMq 每个Channel没有ACK的消息数     | 3000条  |
| RabbitMq 缓存的手动ACK Consumer个数    | 20个    |
| RocketMq PID上限                  | 20个    |
| RocketMq ClientId上限             | 20个    |
| Jetcd Tag最大长度                   | 500字符  |
| HttpClient连接池上限                 | 10条    |
| 连接池调用链默认上报时间阈值                  | 1毫秒    |
| Dubbo Invocation长度限制            | 500字符  |
| Dubbo Attachment长度限制            | 500字符  |
| URL Body体默认长度限制                 | 9999字符 |
| URL 采集应用code body长度限制           | 0字符    |
| Java Method Body体长度限制           | 8192字符 |
   
