프로그램(GUI) 로딩 시간을 어떻게 측정하나요?

프로그램(GUI) 로딩 시간을 어떻게 측정하나요?

내 시스템에서 프로그램이 열리는 데 걸리는 시간을 측정하고 싶습니다. Atom과 함께 이 유틸리티를 사용해 보았지만 timeAtom이 열리기 전에 터미널에 응답이 인쇄됩니다. 2~3초 후에 화면에 Atom이 열렸습니다.

$ time atom

real    0m0.021s
user    0m0.021s
sys     0m0.003s

GUI가 열리고 사용자 입력을 준비하는 데 걸리는 시간을 측정하는 방법에 대한 아이디어가 있습니까?

고쳐 쓰다:

아래 설명된 유틸리티를 사용하면 xdotool다음과 같은 결과가 나옵니다.

$ atom && time while true; do xdotool search --limit 1 --name "Project — Atom" >/dev/null && break; done

real    0m0.021s
user    0m0.009s
sys     0m0.005s

답변1

사람들이 이와 같은 일을 위해 종종 스톱워치를 사용하거나 "완료" 시 일부 트리거를 출력하도록 애플리케이션을 수정하는 데에는 이유가 있습니다.

문제는 "개방형"이 무엇입니까? 창은 언제 나타나나요? 애플리케이션이 초기화된 후? 유휴 후? 다른 건 없나요?

비슷한 방법을 사용하여 창을 감지할 수 있습니다.

$ atom
$ time while true; do xdotool search --limit 1 --name atom >/dev/null && break; done

--name 필드의 "atom"을 실제 창 제목 이름(정규 표현식)으로 바꿉니다. 헤더 Atom이 무엇을 사용하는지 모르겠습니다. 이는 스캔 시 많은 CPU를 사용할 수 있으며 Wayland에서는 작동하지 않습니다.

imagemagick에서 최종 상태를 찾는 것(위의 xdotool에서 사용할 WID 가져오기) 과 같은 화면 캡처를 추가로 사용할 수 있지만 importegads... 시작 시간이 정말 길면 괜찮을 수 있습니다.

관련 정보