一、使用场景
你可根据以下不同需求场景触发移动端 SDK 上报服务端网络链路信息:
·客户端本地主动触发(用户无法登录时单击网络探测进行数据收集上报,同时提供 uuid 进行保障进行 troubleshooting)
·游戏内事件触发(如登录时、开始战斗时等进行收集上报,用于统计大盘数据,也可用于玩家排障时的数据支撑)
·服务端触发客户端上报(使用场景与客户端主动触发类似,只是时效性较差)
二、网络探测方式
主要用以下的几种方式进行网络探测:
·Ping(ICMP)
·TCP/UDP ping(发送相应协议)
·Traceroute(探测客户端到服务端链路以及链路上的丢包)
三、功能特点
·异步写入,客户端线程无阻塞。
·聚合&压缩
上传支持按超时时间、日志数、日志 size 聚合数据发送。支持 lz4 压缩。
·缓存
·支持设置缓存上限
·超过上限后日志写入失败
·核心上报架构
四、使用方法
·IOS 移动端 SDK 上报网络链路日志 (含 Demo 及使用方法)
GitHub – TencentCloud/tencentcloud-cls-sdk-ios: 腾讯云 CLS iOS SDK
·Android 移动端 SDK 上报网络链路日志 (含 Demo 及使用方法)
GitHub – TencentCloud/tencentcloud-cls-sdk-android: 腾讯云 CLS Android SDK
五、公共字段
| 字段 | 含义 | 示例 |
| access | 本次探测使用的网络 | Wi-Fi |
| access_subtype | 本次探测使用的其他网络类型。当同时接入多个网络时,该字段才会有值 | ● Wi-Fi ● Android:3G/4G/5G ● iOS:cellular |
| app_version | App 版本号 | 1.0.0 |
| device_model | 设备模式 | – |
| me | 移动用户身份标识 | – |
| resolution | 屏幕分辨率 | 2476*1440 |
| local_time | 本地时间 | 2023-02-01 20:58:00:332 |
| root | 是否为 root 用户 | false |
| app_id | App 包名 | – |
| brand | 设备厂商信息 | |
| os | 操作系统 | Android |
| utdid | 设备标识 | – |
| os_version | 操作系统版本 | 13 |
| reserve6 | 探测具体内容 | – |
| reserves | 探测协议 | ● ping ● tcpping ● Traceroute |
| app_name | App 名称 | test |
| imei | 移动设备标识 | – |
| local_timestamp | 本地时间戳 | 1675256280332 |
六、PING 探测
| 字段 | 含义 | 示例 |
| method | 探测方式 | ping |
| host_ip | 通过域名解析到的 IP 地址 | 192.0.65.112 |
| host | 域名 | www.tencentcloud.com |
| max | 最大延迟,单位:ms | 100.11 |
| min | 最小延迟,单位:ms | 0.00 |
| avg | 平均延迟,单位:ms | 74.51 |
| stddev | 延迟标准差 | 20.00 |
| loss | PING 包丢失次数 | 1 |
| count | 探测次数,每次发一个 PING 包 | 10 |
| size | PING 包字节数 | 64 |
| responseNum | PING 包回应个数 | 9 |
| interval | PING 包时间间隔,单位:ms | 200 |
| timestamp | 本地时间戳。 | 1675256419 |
七、TCPPING 探测
| 字段 | 含义 | 示例 |
| method | 探测方式 | TCPPING |
| host_ip | 通过域名解析到的 IP 地址 | 192.0.65.112 |
| host | 域名 | www.tencentcloud.com |
| max | 最大延迟,单位:ms | 100.11 |
| min | 最小延迟,单位:ms | 0.00 |
| avg | 平均延迟,单位:ms | 74.51 |
| stddev | 延迟标准差 | 20.00 |
| loss | PING 包丢失次数 | 1 |
| count | 探测次数,每次发一个 PING 包 | 10 |
| size | PING 包字节数 | 64 |
| sum | 本次探测总时间,单位:ms | 219.66 |
| port | TCP 端口 | 88 |
| timestamp | 本地时间戳 | 1675256419 |
八、Traceroute 探测
| 字段 | 含义 | 示例 |
| method | 探测方式 | TRACEROUTE |
| host_ip | 通过域名解析到的 IP 地址 | 192.0.65.112 |
| host | 域名 | www.tencentcloud.com |
| command_status | 探测请求状态 | success |
| timestamp | 本地时间戳 | 1675256419 |
| traceroute_node_results | TRACEROUTE 探测节点返回结果 | 列表内容见下文详细字段描述 |
九、traceroute_node_results
| 字段 | 含义 | 示例 |
| targetIp | 某一跳的 IP 地址 | 43.152.65.112 |
| hop | 某一跳的跳数,探测发起端为第0跳,越接近目的端跳数越大 | 1 |
| avg_delay | 平均延迟 | 102 |
| loss | 探测丢包次数 | 33 |
| is_final_route | 是否是最终路径 | true |
| single_node_list | 某单个节点的返回结果 | 列表见下文详细字段 |
十、single_node_results
| 字段 | 含义 | 示例 |
| targetIp | 某一跳的 IP 地址 | 43.152.65.112 |
| hop | 某一跳的跳数,探测发起端为第0跳,越接近目的端跳数越大 | 1 |
| delay | 探测延迟 | 102 |
| is_final_route | 是否是最终路径 | true |
| status | 本次探测请求状态 | CMD_STATUS_FAILED/CMD_STATUS_SUCCESSFUL |