网站上线后所要做的事情,广州海珠区二手房,怎么自己做卡盟网站,php电子商务网站开发实例一. 获取应用pid号 通过adb shell ps | grep 包名 来获取app的 pid号 二. 查看应用流量情况 使用adb shell cat /proc/#pid#/net/dev 命令 来获取流量数据 备注#xff1a;
Recevice: 表示收包 Transmit: 表示发包 bytes: 表示收发的字节数 packets: 表示收发正确的包量…一. 获取应用pid号 通过adb shell ps | grep 包名 来获取app的 pid号 二. 查看应用流量情况 使用adb shell cat /proc/#pid#/net/dev 命令 来获取流量数据 备注
Recevice: 表示收包 Transmit: 表示发包 bytes: 表示收发的字节数 packets: 表示收发正确的包量 errs: 表示收发错误的包量 drop: 表示收发丢弃的包量
wlan0 表示代表的是wlan端口wifi流量就是用的这个Interface 三. 计算使用流量
1. 先记录此时的流量情况
2. 然后操作业务场景再记录一次流量情况
3. 前后数据相减就得到了流量使用这里用的单位是byte 然后换成M(兆)即可 四. 网络流量诊断情况
指定 netstats 服务可提供自设备上次启动以来收集的网络使用情况统计信息。若要输出额外信息如详细的唯一用户 ID (UID) 信息请包含 detail 选项如下所示
#查看设备开机以来各应用流量的使用情况
adb shell dumpsys netstats detail#查看各应用历史流量使用情况
adb shell dumpsys netstats --full --uid --tag
输出内容因连接的设备上搭载的 Android 版本不同而异。以下部分介绍您通常会看到的信息类型。
活动接口和活动 UID 接口
以下示例输出内容中列出了连接的设备的活跃接口和活跃 UID 接口。在大多数情况下活跃接口和活跃 UID 接口的信息是相同的。
Active interfaces:ifacewlan0 ident[{typeWIFI, subTypeCOMBINED, networkIdGuest}]
Active UID interfaces:ifacewlan0 ident[{typeWIFI, subTypeCOMBINED, networkIdGuest}]
“Dev”和“Xt”统计信息
以下是 Dev 统计信息部分的示例输出
Dev stats:Pending bytes: 1798112History since boot:ident[{typeWIFI, subTypeCOMBINED, networkIdGuest, meteredfalse}] uid-1 setALL tag0x0NetworkStatsHistory: bucketDuration3600st1497891600 rb1220280 rp1573 tb309870 tp1271 op0st1497895200 rb29733 rp145 tb85354 tp185 op0st1497898800 rb46784 rp162 tb42531 tp192 op0st1497902400 rb27570 rp111 tb35990 tp121 op0
Xt stats:Pending bytes: 1771782History since boot:ident[{typeWIFI, subTypeCOMBINED, networkIdGuest, meteredfalse}] uid-1 setALL tag0x0NetworkStatsHistory: bucketDuration3600st1497891600 rb1219598 rp1557 tb291628 tp1255 op0st1497895200 rb29623 rp142 tb82699 tp182 op0st1497898800 rb46684 rp160 tb39756 tp191 op0st1497902400 rb27528 rp110 tb34266 tp120 op0
上面log信息是用于统计设备总流量情况
St1497895200 是时间戳转化成北京时间为2017-06-20 03:00:00
bucketDuration3600 单位是秒 就是每隔1小时记录一次流量使用 UID 统计信息
以下是每个 UID 的详细统计信息的示例
UID stats:Pending bytes: 744Complete history:ident[[typeMOBILE_SUPL, subTypeCOMBINED, subscriberId311111...], [typeMOBILE, subTypeCOMBINED, subscriberId311111...]] uid10007 setDEFAULT tag0x0NetworkStatsHistory: bucketDuration7200000bucketStart1406167200000 activeTime7200000 rxBytes4666 rxPackets7 txBytes1597 txPackets10 operations0ident[[typeWIFI, subTypeCOMBINED, networkIdMySSID]] uid10007 setDEFAULT tag0x0NetworkStatsHistory: bucketDuration7200000bucketStart1406138400000 activeTime7200000 rxBytes17086802 rxPackets15387 txBytes1214969 txPackets8036 operations28bucketStart1406145600000 activeTime7200000 rxBytes2396424 rxPackets2946 txBytes464372 txPackets2609 operations70bucketStart1406152800000 activeTime7200000 rxBytes200907 rxPackets606 txBytes187418 txPackets739 operations0bucketStart1406160000000 activeTime7200000 rxBytes826017 rxPackets1126 txBytes267342 txPackets1175 operations35
如需查找应用的 UID请运行以下命令adb shell dumpsys package your-package-name。然后查找标有 userId 的行。
例如如需查找应用“com.example.myapp”的网络使用情况请运行以下命令
adb shell dumpsys package com.example.myapp | grep userId
输出的内容应类似于以下文本
userId10007 gids[3003, 1028, 1015]
使用上述示例转储查找包含 uid10007 的行。有两个这样的行第一个表示移动数据连接第二个表示 Wi-Fi 连接。在每一行下方您可以看到每个两小时期限bucketDuration 以毫秒为单位表示的以下信息
setDEFAULT 表示前台网络使用情况setBACKGROUND 表示后台网络使用情况setALL 表示这两种网络使用情况。tag0x0 表示与流量关联的套接字标记。rxBytes 和 rxPackets 表示在相应时间间隔内接收的字节数和数据包数。txBytes 和 txPackets 表示在相应时间间隔内发送传输的字节数和数据包数。
总结 第四种方式需要自己去把每个时间段的接收和发送的byte数相加处理然后统计总流量