Dari kode sumber:
if (Tflag) {
ts_sub(ts, ts, &tcp->etime);
tprintf(" <%ld.%06ld>",
(long) ts->tv_sec, (long) ts->tv_nsec / 1000);
}
Artinya, waktu ditampilkan dalam detik, dengan mikrodetik (dihitung dari nilai nanodetik) setelah titik desimal.
Jika Anda menjalankan
strace -T sleep 2
Anda akan melihat
nanosleep({tv_sec=2, tv_nsec=0}, NULL) = 0 <2.000230>
jadi sepertinya waktu yang dihabiskan dalam hitungan detik.
Jika Anda menjalankan perintah strace
menggunakan "flag -c" itu akan menunjukkan kepada Anda sebuah tabel dan waktu dilaporkan dalam detik :
strace -c -p 3569 # 3569 is PID
strace: Process 3569 attached
^Cstrace: Process 3569 detached
% time seconds usecs/call calls errors syscall
------ ----------- ----------- --------- --------- ----------------
99.73 0.016000 8 1971 poll
0.16 0.000025 0 509 75 futex
0.06 0.000010 0 1985 1966 recvmsg
0.06 0.000009 0 2336 mprotect
0.00 0.000000 0 478 read
0.00 0.000000 0 13 write
0.00 0.000000 0 29 mmap
0.00 0.000000 0 9 munmap
0.00 0.000000 0 18 writev
0.00 0.000000 0 351 madvise
0.00 0.000000 0 1 restart_syscall
------ ----------- ----------- --------- --------- ----------------
100.00 0.016044 7700 2041 total
dari pria strace
-c
Hitung waktu, panggilan, dan kesalahan untuk setiap panggilan sistem dan laporkan ringkasan saat keluar dari program. Di Linux, ini mencoba untuk menunjukkan waktu sistem (waktu CPU yang dihabiskan untuk berjalan di kernel) terlepas dari waktu jam dinding. Jika -c digunakan dengan -f atau -F (di bawah), hanya total agregat untuk semua proses yang dilacak yang disimpan.