다음 명령은 완전한 단계 추적을 제공합니다.
zsh -i -c -x exit > trace 2>&1
그것도 포착되길 바라며,각 특정 단계 옆에(예: 첫 번째 열) 단계에 걸린 시간입니다.
Zsh는 이를 수행하는 쉬운 방법을 제공합니까?
답변1
매우 최근 버전을 사용하면 쉽게 가까운 정보를 얻을 수 있습니다. 즉, 각 단계의 타임스탬프입니다. ~에서선적 서류 비치-x
:
출력 앞에는 $PS4 값이 다음에 설명된 형식으로 표시됩니다.급속한 확장.
당신은 넣을 수 있습니다타임스탬프추적 접두사에. %.
zsh ≥5.6에 대해 나노초 정확도를 제공하며 5.0.6에서 5.5.x 사이의 마이크로초 정확도만 제공합니다. 이전 버전에는 가 없었고 %D
두 번째 정밀도만 얻을 수 있었던 것 같습니다.
PS4='+%D{%s.%9.}:%N:%i>' zsh -x …
그런 다음 추적을 사후 처리하여 연속 타임스탬프 간의 차이를 계산할 수 있습니다.
<trace awk -F: '{printf "+%.09f", $1 - t; t=$1; $1=""; print}'