diff mbox series

trace-cmd: Fix latency format to show latency

Message ID 20191122165537.26f89069@oasis.local.home (mailing list archive)
State Accepted
Commit 4a13d3d29ca84b83eba7c23e1d1c699848c59f15
Headers show
Series trace-cmd: Fix latency format to show latency | expand

Commit Message

Steven Rostedt Nov. 22, 2019, 9:55 p.m. UTC
From: "Steven Rostedt (VMware)" <rostedt@goodmis.org>

When trace-cmd report -l is used, the latency format is missing. This is
due to the show data routine not using TEP_PRINT_LATENCY. Need to change
the logic slightly where different parameters is sent to tep_print_event()
when latency_format is set, instead of just passing a different format
file.

Fixes: 150d479b623a ("libtraceevent, perf tools: Changes in tep_print_event_* APIs")
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
---
 tracecmd/trace-read.c | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)
diff mbox series

Patch

diff --git a/tracecmd/trace-read.c b/tracecmd/trace-read.c
index 4958fa81..a5813848 100644
--- a/tracecmd/trace-read.c
+++ b/tracecmd/trace-read.c
@@ -781,7 +781,6 @@  static void finish_wakeup(void)
 void trace_show_data(struct tracecmd_input *handle, struct tep_record *record)
 {
 	tracecmd_show_data_func func = tracecmd_get_show_data_func(handle);
-	const char *lfmt = latency_format ? "%8.8s-%-5d %3d" : "%16s-%-5d [%03d]";
 	const char *tfmt = tracecmd_get_flags(handle) & TRACECMD_FL_IN_USECS ? " %6.1000d:" : "%12d:";
 	struct tep_handle *pevent;
 	struct tep_event *event;
@@ -823,8 +822,17 @@  void trace_show_data(struct tracecmd_input *handle, struct tep_record *record)
 		}
 	}
 
-	tep_print_event(pevent, &s, record, lfmt, TEP_PRINT_COMM,
-			TEP_PRINT_PID, TEP_PRINT_CPU);
+	if (latency_format)
+		tep_print_event(pevent, &s, record, "%8.8s-%-5d %3d%s",
+				TEP_PRINT_COMM,
+				TEP_PRINT_PID,
+				TEP_PRINT_CPU,
+				TEP_PRINT_LATENCY);
+	else
+		tep_print_event(pevent, &s, record, "%16s-%-5d [%03d]",
+				TEP_PRINT_COMM,
+				TEP_PRINT_PID,
+				TEP_PRINT_CPU);
 	tep_print_event(pevent, &s, record, tfmt, TEP_PRINT_TIME);
 
 	if (tsdiff) {