Firefox 시작 시간을 측정하는 방법은 무엇입니까?

Firefox 시작 시간을 측정하는 방법은 무엇입니까?

일부 소프트웨어를 시작하는 데 걸리는 시간을 측정하고 싶습니다.

나는 명령을 알고 있지만 timeFirefox의 경우(저는 Debian의 iceweasel입니다) 이 명령은 내가 Firefox를 연 시간만 인쇄합니다. 실행하는 경우:

$ time iceweasel www.google.com

Firefox를 닫은 후에만 시작 시간이 표시됩니다. 이는 Firefox를 열어 둔 시간만 나타냅니다. 예를 들어:

real    0m50.565s
user    0m4.276s
sys 0m0.248s

Firefox를 시작하는 데 필요한 금액을 정확히 어떻게 알 수 있나요?

답변1

이것은 매우 해키적이고 스크립트할 수 없습니다.

Firefox는 다음과 같이 명령줄을 통해 자바스크립트를 실행할 수 있습니다:

firefox "javascript:alert(Date.now())"

그러면 Firefox가 열리고 자바스크립트가 실행되어 현재 에포크 시간(밀리초까지 정확함)이 포함된 메시지 상자가 나타납니다.

명령줄에서 에포크 동안 경과된 밀리초를 얻을 수 있습니다.

date +%s%N | cut -b1-13

따라서 귀하의 질문에 대답하려면 다음을 실행하십시오.

date +%s%N | cut -b1-13; iceweasel "javascript:alert(Date.now())"

그런 다음 Firefox의 숫자에서 터미널의 숫자를 뺍니다. 이는 Firefox가 일부 기본 JavaScript를 열고 표시하는 데 걸린 시간(밀리초)을 제공합니다.

원천:

답변2

PID와 연결된 창 ID를 가져오고 창이 생성될 때까지 기다릴 수 있는 일부 도구를 사용할 수 있습니다. 이전에 시작한 프로그램의 프로세스 ID는 변수에서 확인할 수 있습니다 $!.

예를 들어 - 사용wmctrl모든 창 목록을 가져오고 해당 창 중 특정 PID에 의해 시작된 것이 있는지 확인할 수 있습니다.

$ wmctrl -lp
0x00e00003 -1 397    jjmach sawfishpager
0x01200003  6 399    jjmach wmctrl -lp jimmij@jjmach: /proc
0x0180004b  0 655    jjmach [email protected]
0x02800078  7 680    jjmach How to measure Firefox's startup time? - Mozilla Firefox

awk창 ID는 첫 번째 열에 있고 프로세스 ID는 세 번째 열에 있으므로 지정된 프로세스 ID에 연결된 창이 있는지 확인하려면 이를 파이프해야 합니다 .

wmctrl -lp | awk -v pid="$!" '$3==pid{print "Window is created with id "$1}'

이제 이것을 루프에 넣고 위 명령이 성공적으로 끝나는지 측정해야 합니다.

firefox & time (while wmctrl -lp | awk -v pid="$!" '$3==pid{exit 1}'; do :; done)

그래서 우리는 Firefox를 시작하고 본문( )에서 아무것도 하지 않고 :0이 아닌 값이 반환될 때 끝나는 루프를 즉시 시작합니다.awk

답변3

  1. 시작하다모니터링 네트워크 고양이백그라운드에서
  2. 연결하려면 Firefox에 전화하세요.
  3. 내장된 bash를 사용하여 기다리세요 wait.
  4. 드디어 다 죽인다 nc -l 64738 & firefox http://127.0.0.1:64738 & wait <...yet to be solved that only the nc should be waited for...> killall firefox <..yet to be solved to not kill your girlfriends browser>

답변4

구성(about:config)에서 측정된 시작 시간을 읽을 수 있습니다.

browser.slowStartup.averageTime

관련 정보