当前位置: 首页 > news >正文

dumpsys netstats detail 输出解释netd的app的网络流量统计

dumpsys netstats detail 输出解释

重启后,数据会清零,从新统计

UID tag stats:
Pending bytes: 27977
History since boot:
ident=[{type=9, ratType=COMBINED, metered=true, defaultNetwork=true, oemManaged=OEM_NONE, subId=-1}] uid=1000 set=DEFAULT tag=0xffffff82
NetworkStatsHistory: bucketDuration=7200
st=1773705600 rb=0 rp=0 tb=60 tp=1 op=0
ident=[{type=9, ratType=COMBINED, metered=true, defaultNetwork=true, oemManaged=OEM_NONE, subId=-1}] uid=1000 set=FOREGROUND tag=0xffffff41

整体结构

这是Android系统的网络统计信息,特别是关于UID和tag级别的网络使用情况。

详细字段解释

基本信息

  • Pending bytes: 27977- 待处理的网络字节数,可能是尚未计入统计的临时数据

历史记录 (History since boot)

每条记录包含以下信息:

1. ident 字段
ident=[{type=9, ratType=COMBINED, metered=true, defaultNetwork=true, oemManaged=OEM_NONE, subId=-1}]
  • type=9- 网络类型,9通常表示WIFI
  • ratType=COMBINED- 无线接入技术类型,COMBINED表示综合统计
  • metered=true- 网络是否计量(可能产生费用)
  • defaultNetwork=true- 是否为默认网络
  • **oemManaged=OEM_NON
2. 其他核心字段
  • uid=1000- 用户ID,1000通常是系统UID
  • set=DEFAULTset=FOREGROUND- 网络使用类别:
    • DEFAULT: 默认类别(后台)
    • FOREGROUND: 前台类别(活跃应用)
  • tag=0xffffff82- 网络流量标签,用于区分不同类型的网络流量
3. 网络统计历史 (NetworkStatsHistory)
  • bucketDuration=7200- 统计桶的持续时间,单位为秒(7200秒=2小时)
  • st=1773705600- 时间戳,从1970年1月1日开始的秒数
  • rb=0- 接收的字节数
  • rp=0- 接收的数据包数
  • tb=60- 发送的字节数
  • tp=1- 发送的数据包数
  • op=0- 其他操作数

命令 显示的是什么
dumpsys netstats mSinceBoot,只到本次启动
dumpsys netstats --full getOrLoadCompleteLocked(),会把磁盘里的 90 天历史读出来一并打印

看磁盘文件(甚至跨重启离线分析):
adb shell ls -l /data/misc/apexdata/com.android.tethering/netstats/
然后把 uid_tag.bin、uid_tag.<时间戳> 系列拉出来用 AOSP 的 NetworkStatsCollection.readLegacyUid() / read() 解析(车机/IVI 项目里很常用,可以脚本化做月度报表)。

com.music 的数据,流量未实时更新。原因是 :queryDetailsForUidTag 读的是 NetworkStatsService 持久化到 /data/system/netstats/uid_tag.bin 的 bucket,而当前正在累积的活动 bucket 只在 NetworkStatsRecorder 的内存里,要等到 rotate(默认 2h)或shutdown 才落盘。dumpsys netstats 直接读内存所以能看到,querySummary/queryDetails 走 binder → 读已落盘文件就缺最后一桶。
如果想要实时 读取最新流量,需要 在 getTrafficByUidTagState 查询前调一次 forceUpdate

http://www.jsqmd.com/news/868687/

相关文章:

  • 为什么选择SecHex-Spoofy?对比5款HWID工具,这款开源神器究竟强在哪里
  • 如何高效下载QQ音乐资源:5个简单步骤掌握res-downloader嗅探技术
  • 多GPU科学计算框架性能评测与优化实践
  • 均衡传播算法(EP)原理与硬件实现优势
  • 终极指南:如何安全使用Awesome Agent Skills在技术创新与法律监管间找到平衡点
  • AI INFRA之NVIDIA GPUDirect节点内和节点间通信原理详解
  • API 的分布式世界 vs COM 的语言桥梁:典型应用场景深度解析
  • 傲梅分区助手下载安装教程和扩容C盘分区调整教程 (附安装包)
  • 终极指南:如何用OpenPilot为您的爱车升级智能驾驶系统
  • Open Generative AI批处理队列:如何高效管理多个AI生成任务
  • 微信小程序 思政考核管理系统
  • 计算机视觉——九、图像分割
  • 浙江乘风财务咨询有限公司2026电商财税方案公司十强:杭州疑难税务代办/财税咨询/解决财税合规方案机构推荐浙江乘风财务咨 - 栗子测评
  • 2026年照片去水印软件app排行榜|免费去水印工具实测推荐
  • Keil MDK USB加密狗驱动安装与许可证问题解决指南
  • Redis知识8之哨兵
  • Windows提权(一)———系统内核溢出漏洞提权
  • git指令学习
  • 【Feed 高并发架构实战】:雪花 ID + 三级缓存 + 计数旁路设计详解
  • 运算符的种类以及基本用法
  • Linux 进程地址空间
  • HTML实现DOCX文档版题库图文考试系统(修订)
  • ikd-Tree:FAST-LIO2中的增量式地图管理结构
  • 求职用前程无忧还是智联招聘?选对平台少走弯路
  • prerender-loader完全指南:轻松实现Webpack预渲染提升首屏加载速度
  • nodejs后端服务如何接入taotoken实现异步调用多模型对话能力
  • S200驱动器报A1489故障
  • Oracle Redo日志与Undo回滚段损坏恢复实战
  • 企业直播核心功能深度指南:互动、录制与数据分析
  • 基于FPGA实现ADC366X系列芯片配置及数据采集