게임밴치 처럼 성능을 측정하는 툴을 만들어 보면 어떨까해서 한번 만들어 봤습니다.
pyside2로는 툴을 처음 구현해봤기 때문에 해당 GUI Control을 접근하고 다루는게 낯설어 생각 보다 시간이 많이 걸렸습니다.
굳이 파이썬으로 툴을 구현한 이유는 회사에서 사용할 수 있는 무료 컴파일러를 통해 제작할 수 있고 슬랙이랑도 연동도 가능해서 입니다.
또한 많은 라이브러리가 있기 때문에 추후 확장 가능성도 존재해서 선택해봤습니다.
제작 툴 : VisualStudio Code
제작 환경 : Python
핵심 기능 : AOS 디바이스 성능 측정, IOS 디바이스 성능 측정(구현 중)
특정 시간(1초)에 한번씩 CPU와 메모리를 측정하고 그래프로 그려주고 만약 병목현상(특정 값 이상이나 최고 수치 갱신)일 경우 스크린샷 출력해서 PC로 가져오게 제작하였습니다.
* 겪었던 부분과 추후 참고해야할 부분
1. 메인쓰레이드에서 생성한 UI에 접근 문제
> 멀티쓰레드로 실행을 하는데 메인 쓰레드에서 생성된 GUI에 다른 쓰레드로 접근(정보 갱신)을 할때 예외가 발생하였습니다.
C#에서도 겪었던 문제로 C#에서 멀티프로세스로 실행시에 Invoke 등으로 해결하였지만 파이썬에서는 난감하였지만
잘해결되었습니다. (스택 오버 플로우 짱)
2. 파이썬에서 이벤트 넘기기
> 다른 언어와 다르게 자료형으로 매개변수를 받지 않기 때문에 클릭과 같은 이벤트에 함수를 연결할때 형식으로 넘어가 따로 처리해줘야 하는 부분이 있어 문법에서 약간의 혼동이 왔었습니다.
3. 자체제작한 툴의 결과가 올바른가?
> 해당 부분은 디바이스에서 제공되는 개발자 옵션과 비교해봤을때 근사치인것을 확인했습니다.
하지만 다른 전문 성능 측정 툴을 비교하여 조금 더 지켜봐야할 것 같습니다.
* 남은 연구 과제
> IOS의 디바이스 로그도 AOS 처럼 빠르게 가져올 수 있는가?
> 실제 업무에 잘 활용할 수 있는가?
> 결과를 리포트 형식으로 공유하거나 발송할 수 있는가? (슬랙 등)
'프로그래밍 제작 > 완성 (툴)' 카테고리의 다른 글
Project Ant - apk, ipa 정보 확인 툴 (2) | 2023.05.07 |
---|---|
PROJECT - A-2 (LOG) - AOS, IOS 디바이스 로그 툴 (0) | 2022.03.14 |
PROJECT - Z (ZEBRA) - 모바일 대여 프로그램 (0) | 2022.03.14 |
PROJECT - A (ALPACA) - apk, ipa 정보 확인 툴 (11) | 2022.03.14 |