Skip to content

marrash/iOS-perf-docker-

Repository files navigation

iOS-perf

READ IN ENGLISH

這是一款iOS性能監控工具,支持Mac以及Windows端運行,電腦通過USB連接手機後運行腳本即可。

當前支持獲取的性能數據包括GPU、CPU、內存、FPS、功耗、網絡、溫度,以及一系列手機硬件數據,並將根據需求繼續新增。

本項目基於jlintxia開源的iOS測試方案修改而來,增加動態建表,動態增加grafana面板以及docker打包環境等特性。其中iOS性能數據來源於開源工具tidevice和py-ios-device。

注意:本項目依賴MySQL進行性能數據存儲,Grafana進行數據動態展示,也就是說需要在本機或者可達的網絡(比如公司局域網) 上搭建MySQL+Grafana服務,我提供了一份docker-compose.yml文件,可以使用docker快速搭建一套環境。

效果展示

準備工作

服務端搭建依賴docker以及docker-compose,安裝指南:

https://dockerdocs.cn/get-docker/

https://dockerdocs.cn/get-started/08_using_compose/

運行測試依賴python3環境,安裝指南:

https://www.python.org/downloads/

服務搭建

cmd執行

docker -v && docker-compose -v

如果能正常輸出版本,如下,則表示docker環境正常,可以繼續

Docker version 20.10.8, build 3967b7d

docker-compose version 1.29.2, build 5becea4c

拉取鏡像並啟動服務:

docker-compose up -d  

**提示:初次打開Grafana時,系統會提示你修改密碼,為了方便建議不修改,即保持賬號密碼均為admin,否則在python運行指令中將要進行對應的傳參。 **

本地環境配置

CMD執行

pip install -r requirements.txt

運行命令

命令行執行:

python run.py --udid=00008110-001A4D483CF2801E \
--bundleid=com.apple.Preferences \
--grafana_host=localhost \
--grafana_port=30000 \
--grafana_user=admin \
--grafana_password=admin \
--mysql_host=localhost \
--mysql_port=33306 \
--mysql_username=root \
--mysql_password=admin \
--mysql_db=iOSPerformance

運行參數說明

需要修改的參數

  • --bundleid:待測APP的包名,通過ideviceinstaller -l獲取,默認值為com.apple.Preferences
  • --udid:iPhone手機的唯一標識符,通過 idevice_id -l 獲取,客戶端只連接一台手機時不用寫

Grafana可以設定的參數

  • --grafana_host:Grafana的主機地址,只寫ip,不用寫Scheme,也就是http://或者https//,默認值localhost
  • --grafana_port:Grafana的端口號,默認值30000
  • --grafana_user:Grafana的用戶名,默認值admin
  • --grafana_password:Grafana的密碼,默認值admin

MySQL參數

  • --mysql_host:MySQL的主機地址,不用寫Scheme,也就是http://或者https//,默認值localhost
  • --mysql_port:MySQL的端口號,默認值33306
  • --mysql_user:MySQL的用戶名,默認值root
  • --mysql_password:MySQL的密碼,默認值admin

數據導出

命令執行:

python mysql.py --runid=iphone6_1008_1532 \
--mysql_host=localhost \
--mysql_port=33306 \
--mysql_username=root \
--mysql_password=admin \
--mysql_db=iOSPerformance

其中,--runid為必須參數,可以從顯示測試數據的Grafana頁面的左上角找到,通常為手機名稱+月日+時分。其餘Mysql參數均為可選參數,默認值與上方MySQL參數相同。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages