앱 리소스 모니터링 -adb shell

sunny·2022년 11월 27일
0
post-thumbnail

adb shell 명령으로 앱 배터리 사용량, cpu, 네트워크 속도 등을 측정할 수 있다.

운영중에는 firebase, newrelic을 통해 서버의 성능을 모니터링 했다면
클라이언트 각 단말의 리소스 모니터링을 위해 간단히 adb shell을 사용한다.

배터리 소모 측정

구글에서 제공하는 Battery Historian 사용 (docker 설치 필요)
dumpsys batterystats 명령어 사용
두가지 방법이 있는데 docker 설치 문제로 간단히 dumpsys 명령어를 사용하기로 했다.

배터리 소모량을 측정하기 위해, 앱패키지명을 알아야 한다.

% adb shell pm list packages youtube
package:com.google.android.youtube
package:com.google.android.apps.youtube.music

해당 패키지만의 배터리 소모량을 확인할 수 있다.

% adb shell dumpsys batterystats com.google.android.youtube > dump.txt

삼성 휴대폰 기준으로,
휴대폰 단말 > 설정 > 디바이스케어,
휴대폰 단말 > 설정 > 애플리케이션
경로로 이동해서 보이는 수치와 비교해본다.

vmstate

연결된 안드로이드 단말에서 CPU, I/O, Memory 사용을 확인할 수 있다.

CPU

cpu 사용량 순으로 확인할수도 있다.

% adb shell top

cpu 자세한 정보를 보려면 cpuinfo 명령어를 사용해서 확인할 수도 있다.

% adb shell dumpsys cpuinfo

Memory

메모리 사용량도 확인할 수 있다.

% adb shell dumpsys meminfo     

패키지명이나 pid를 사용해서 원하는 앱의 메모리 상세 정보만 확인할 수도 있다.

 % adb shell dumpsys meminfo com.google.android.youtube -d

Network

먼저 네트워크 사용량을 확인하려는 앱패키지의 userid를 찾는다.

% adb shell dumpsys package com.google.android.youtube > t.txt 


네트워크 정보를 출력해서 확인한다.

% adb shell dumpsys netstats detail 

생각
그동안 테스트할때 간단히 설정에서 사용량 정도만 확인하고 넘어갔었고 이번엔 adb shell 명령을 공부해봤다. 각각이 의마하는 바를 자세히 알아야 하는데 참 공부할것이 많다.
측정된 값을 그대로 전달하면 될것 같지만, 그래도 측정된 수치의 의미를 파악할 수 있어야 내가 되고싶은 QA에 다가갈 수 있을것 같다.
다른 직업도 마찬가지 일테지만 QA는 정말 끊임없이 배우고 공부해야만 하는 직업인것 같다.
학교 다닐때 조금 더 성실히 공부할걸 하는 생각이....😂

profile
Believe in yourself :)

0개의 댓글