Add a -E (elapsed time) flag to kdump. This is like -T, except it is

relative to start of the dump.

Approved by:  re (scottl)
This commit is contained in:
peter 2003-12-07 01:06:32 +00:00
parent 6ded7a15e1
commit 78e0f18483
2 changed files with 12 additions and 2 deletions

View File

@ -40,7 +40,7 @@
.Nd display kernel trace data
.Sh SYNOPSIS
.Nm
.Op Fl dnlRT
.Op Fl dnlERT
.Op Fl f Ar file
.Op Fl m Ar maxdata
.Op Fl p Ar pid
@ -89,6 +89,8 @@ Display only trace events that correspond to the process
.Ar pid .
This may be useful when there are multiple processes recorded in the
same trace file.
.It Fl E
Display elapsed timestamps (time since beginning of trace).
.It Fl R
Display relative timestamps (time since previous entry).
.It Fl T

View File

@ -97,7 +97,7 @@ main(int argc, char *argv[])
(void) setlocale(LC_CTYPE, "");
while ((ch = getopt(argc,argv,"f:dlm:np:RTt:")) != -1)
while ((ch = getopt(argc,argv,"f:dlm:np:ERTt:")) != -1)
switch((char)ch) {
case 'f':
tracefile = optarg;
@ -117,6 +117,9 @@ main(int argc, char *argv[])
case 'p':
pid = atoi(optarg);
break;
case 'E':
timestamp = 3; /* elapsed timestamp */
break;
case 'R':
timestamp = 2; /* relative timestamp */
break;
@ -249,6 +252,11 @@ dumpheader(struct ktr_header *kth)
(void)printf("%6d %-8.*s ", kth->ktr_pid, MAXCOMLEN, kth->ktr_comm);
if (timestamp) {
if (timestamp == 3) {
if (prevtime.tv_sec == 0)
prevtime = kth->ktr_time;
timevalsub(&kth->ktr_time, &prevtime);
}
if (timestamp == 2) {
temp = kth->ktr_time;
timevalsub(&kth->ktr_time, &prevtime);