smart-test-ti / SoloX

💯SoloX - Real-time collection tool for Android/iOS performance data.(Android性能测试android performance\iOS性能测试ios performance\移动端性能测试mobile performance\APP性能测试app performance\app性能测试工具)
https://smart-test-ti.github.io/solox
MIT License
994 stars 177 forks source link

iOS 无法收集网络数据 #109

Closed cunzhegao closed 1 year ago

cunzhegao commented 1 year ago

SoloX 版本:2.4.1 设备:iPhone 13 Pro OS:16.0.2

Network Data 栏都是 0,看 terminal 有疑似报错:

Exception in thread perf: Traceback (most recent call last): File "/usr/local/Cellar/python@3.11/3.11.2_1/Frameworks/Python.framework/Versions/3.11/lib/python3.11/threading.py", line 1038, in _bootstrap_inner self.run() File "/usr/local/Cellar/python@3.11/3.11.2_1/Frameworks/Python.framework/Versions/3.11/lib/python3.11/threading.py", line 975, in run self._target(*self._args, **self._kwargs) File "/usr/local/lib/python3.11/site-packages/solox/public/iosperf/_perf.py", line 266, in append_data for _type, data in idata: File "/usr/local/lib/python3.11/site-packages/solox/public/iosperf/_perf.py", line 259, in iter_network_flow "downFlow": (nstat['rx.bytes'] or 0) / 1024, KeyError: 'rx.bytes'

rafa0128 commented 1 year ago

SoloX 版本:2.4.1 设备:iPhone 13 Pro OS:16.0.2

Network Data 栏都是 0,看 terminal 有疑似报错:

Exception in thread perf: Traceback (most recent call last): File "/usr/local/Cellar/python@3.11/3.11.2_1/Frameworks/Python.framework/Versions/3.11/lib/python3.11/threading.py", line 1038, in _bootstrap_inner self.run() File "/usr/local/Cellar/python@3.11/3.11.2_1/Frameworks/Python.framework/Versions/3.11/lib/python3.11/threading.py", line 975, in run self._target(*self._args, **self._kwargs) File "/usr/local/lib/python3.11/site-packages/solox/public/iosperf/_perf.py", line 266, in append_data for _type, data in idata: File "/usr/local/lib/python3.11/site-packages/solox/public/iosperf/_perf.py", line 259, in iter_network_flow "downFlow": (nstat['rx.bytes'] or 0) / 1024, KeyError: 'rx.bytes'

请问重新连接收集还有这个问题吗?还是每次都会有,我自己测试是正常的

cunzhegao commented 1 year ago

请问重新连接收集还有这个问题吗?还是每次都会有,我自己测试是正常的

每次都是一样的问题,试了 2.3.8 也是一样。你正常的 iOS 版本是多少的。

cunzhegao commented 1 year ago

请问重新连接收集还有这个问题吗?还是每次都会有,我自己测试是正常的

试了下 Android 也是 FPS 和网络数据都是一直 0,不过 Android 没有上面的报错。 可能是什么问题呢?

rafa0128 commented 1 year ago

请问重新连接收集还有这个问题吗?还是每次都会有,我自己测试是正常的

试了下 Android 也是 FPS 和网络数据都是一直 0,不过 Android 没有上面的报错。 可能是什么问题呢?

ios大概知道什么原因了,是instruments的原因,还在想怎么处理。安卓的fps游戏类app目前收集不了,其他的app需要是动态页面fps才可能不为0,网络应该没啥问题。

cunzhegao commented 1 year ago

请问重新连接收集还有这个问题吗?还是每次都会有,我自己测试是正常的

试了下 Android 也是 FPS 和网络数据都是一直 0,不过 Android 没有上面的报错。 可能是什么问题呢?

ios大概知道什么原因了,是instruments的原因,还在想怎么处理。安卓的fps游戏类app目前收集不了,其他的app需要是动态页面fps才可能不为0,网络应该没啥问题。

iOS 需要等修复版本嘛?我这边可不可以 fallback 回某个没问题的版本?

rafa0128 commented 1 year ago

请问重新连接收集还有这个问题吗?还是每次都会有,我自己测试是正常的

试了下 Android 也是 FPS 和网络数据都是一直 0,不过 Android 没有上面的报错。 可能是什么问题呢?

ios大概知道什么原因了,是instruments的原因,还在想怎么处理。安卓的fps游戏类app目前收集不了,其他的app需要是动态页面fps才可能不为0,网络应该没啥问题。

iOS 需要等修复版本嘛?我这边可不可以 fallback 回某个没问题的版本?

都会有问题,你的移动设备是wifi还是数据网络?

cunzhegao commented 1 year ago

请问重新连接收集还有这个问题吗?还是每次都会有,我自己测试是正常的

试了下 Android 也是 FPS 和网络数据都是一直 0,不过 Android 没有上面的报错。 可能是什么问题呢?

ios大概知道什么原因了,是instruments的原因,还在想怎么处理。安卓的fps游戏类app目前收集不了,其他的app需要是动态页面fps才可能不为0,网络应该没啥问题。

iOS 需要等修复版本嘛?我这边可不可以 fallback 回某个没问题的版本?

都会有问题,你的移动设备是wifi还是数据网络?

wifi 和数据网络都试过,一样的问题。

rafa0128 commented 1 year ago

请问重新连接收集还有这个问题吗?还是每次都会有,我自己测试是正常的

试了下 Android 也是 FPS 和网络数据都是一直 0,不过 Android 没有上面的报错。 可能是什么问题呢?

ios大概知道什么原因了,是instruments的原因,还在想怎么处理。安卓的fps游戏类app目前收集不了,其他的app需要是动态页面fps才可能不为0,网络应该没啥问题。

iOS 需要等修复版本嘛?我这边可不可以 fallback 回某个没问题的版本?

都会有问题,你的移动设备是wifi还是数据网络?

wifi 和数据网络都试过,一样的问题。

我现在还不确定是xcode版本还是iphone的兼容性,看报错应该是xcode的instruments没有返回这个数据,你能换台设备试试吗?我这边是没有问题的,iphonex 16.1。我建议如果能看源码提交pr是最好。作者的设备没问题的一律不解决了,等别人提交pr。

cunzhegao commented 1 year ago

请问重新连接收集还有这个问题吗?还是每次都会有,我自己测试是正常的

试了下 Android 也是 FPS 和网络数据都是一直 0,不过 Android 没有上面的报错。 可能是什么问题呢?

ios大概知道什么原因了,是instruments的原因,还在想怎么处理。安卓的fps游戏类app目前收集不了,其他的app需要是动态页面fps才可能不为0,网络应该没啥问题。

iOS 需要等修复版本嘛?我这边可不可以 fallback 回某个没问题的版本?

都会有问题,你的移动设备是wifi还是数据网络?

wifi 和数据网络都试过,一样的问题。

我现在还不确定是xcode版本还是iphone的兼容性,看报错应该是xcode的instruments没有返回这个数据,你能换台设备试试吗?我这边是没有问题的,iphonex 16.1。我建议如果能看源码提交pr是最好。作者的设备没问题的一律不解决了,等别人提交pr。

请问你那边 macos 系统是多少的

jialeigd commented 1 year ago

报错问题和题主的一样,打日志感觉是返回的nstat数据里没有rx.bytes这个字段了。 日志如下solox iter_network_flow nstat : {'connection-detected': {'Local': '[fe80::b8ea:cbff:fe08:3432]:58054', 'Remote': '[::]:0', 'InterfaceIndex': 9, 'Pid': -2, 'RecvBufferSize': 131072, 'RecvBufferUsed': 0, 'SerialNumber': 8, 'Protocol': 'tcp6'}} SoloX 版本:2.4.4 设备:iPhone 6s Plus OS:15.7

rafa0128 commented 1 year ago

报错问题和题主的一样,打日志感觉是返回的nstat数据里没有rx.bytes这个字段了。 日志如下solox iter_network_flow nstat : {'connection-detected': {'Local': '[fe80::b8ea:cbff:fe08:3432]:58054', 'Remote': '[::]:0', 'InterfaceIndex': 9, 'Pid': -2, 'RecvBufferSize': 131072, 'RecvBufferUsed': 0, 'SerialNumber': 8, 'Protocol': 'tcp6'}} SoloX 版本:2.4.4 设备:iPhone 6s Plus OS:15.7

我没有iphone调试了,你pip install tidevice==0.9.7再试试,我看看是不是tidevice升级后的影响

rafa0128 commented 1 year ago

请问重新连接收集还有这个问题吗?还是每次都会有,我自己测试是正常的

试了下 Android 也是 FPS 和网络数据都是一直 0,不过 Android 没有上面的报错。 可能是什么问题呢?

ios大概知道什么原因了,是instruments的原因,还在想怎么处理。安卓的fps游戏类app目前收集不了,其他的app需要是动态页面fps才可能不为0,网络应该没啥问题。

iOS 需要等修复版本嘛?我这边可不可以 fallback 回某个没问题的版本?

都会有问题,你的移动设备是wifi还是数据网络?

wifi 和数据网络都试过,一样的问题。

我现在还不确定是xcode版本还是iphone的兼容性,看报错应该是xcode的instruments没有返回这个数据,你能换台设备试试吗?我这边是没有问题的,iphonex 16.1。我建议如果能看源码提交pr是最好。作者的设备没问题的一律不解决了,等别人提交pr。

请问你那边 macos 系统是多少的

应该和系统无关,你能指定装pip install tidevice==0.9.7,看看是不是正常

jialeigd commented 1 year ago

大神,我怀疑可能是M1返回的数据包不一样了? image 如图日志,获取网络数据前几个connection-detected包里没有RxBytes等数据,导致_perf.py里"downFlow": (nstat['rx.bytes'] or 0) / 1024 解析rx.bytes失败,当前获取网络进程崩溃了?

connection-update包里有RxBytes,TxBytes等数据,大神,在解析里做个容错是不是就可以了?

rafa0128 commented 1 year ago

大神,我怀疑可能是M1返回的数据包不一样了? image 如图日志,获取网络数据前几个connection-detected包里没有RxBytes等数据,导致_perf.py里"downFlow": (nstat['rx.bytes'] or 0) / 1024 解析rx.bytes失败,当前获取网络进程崩溃了?

connection-update包里有RxBytes,TxBytes等数据,大神,在解析里做个容错是不是就可以了?

不是,这个是因为tidevices改了,你先按照我说的pip install tidevice==0.9.7看看是不是正常

jialeigd commented 1 year ago

大神,我怀疑可能是M1返回的数据包不一样了? image 如图日志,获取网络数据前几个connection-detected包里没有RxBytes等数据,导致_perf.py里"downFlow": (nstat['rx.bytes'] or 0) / 1024 解析rx.bytes失败,当前获取网络进程崩溃了?

connection-update包里有RxBytes,TxBytes等数据,大神,在解析里做个容错是不是就可以了?

不是,这个是因为tidevices改了,你先按照我说的pip install tidevice==0.9.7看看是不是正常

大神,按照你说的安装tidevice==0.9.7后,真可以了

rafa0128 commented 1 year ago

请安装最新版本,我刚发布了