linux-perf-users.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] perf trace: don't show comm/tid for regular syscalls for single-pid traces
@ 2025-08-21 16:58 Anubhav Shelat
  0 siblings, 0 replies; only message in thread
From: Anubhav Shelat @ 2025-08-21 16:58 UTC (permalink / raw)
  To: mpetlan, acme, namhyung, irogers, linux-perf-users
  Cc: peterz, mingo, mark.rutland, alexander.shishkin, jolsa,
	adrian.hunter, kan.liang, dapeng1.mi, james.clark, Anubhav Shelat

Previously when attaching perf trace to a specific pid the output would
look like this:

         ? (         ): vest/616160  ... [continued]: clock_nanosleep())                                  = 0
     0.041 ( 0.013 ms): vest/616160 fstat(statbuf: 0xfffff2c60038)                                        = 0
     0.073 ( 0.008 ms): vest/616160 read(buf: 0x3bede330, count: 4096)                                    = 17
     0.090 (1000.095 ms): vest/616160 clock_nanosleep(rqtp: { .tv_sec: 1, .tv_nsec: 0 }, rmtp: 0xfffff2c601d8) = 0
  1000.210 ( 0.136 ms): vest/616160 openat(dfd: CWD, filename: "/tmp/something.txt", flags: CREAT|TRUNC|WRONLY, mode: IRUGO|IWUGO) = 3
  1000.361 ( 0.004 ms): vest/616160 fstat(fd: 3, statbuf: 0xfffff2c60088)                                 = 0
  1000.375 ( 0.018 ms): vest/616160 write(fd: 3, buf: SOME TEST STRING\10, count: 17)                     = 17
  1000.395 ( 0.072 ms): vest/616160 close(fd: 3)                                                          = 0
  1000.476 (         ): vest/616160 exit_group()

which would cause an error in the perftool-testsuite since the comm/tid
shouldn't be in trace lines for regular syscalls. With this change the
output looks like this:

         ? (         ): vest/612038  ... [continued]: clock_nanosleep())                                  = 0
     0.039 ( 0.012 ms): fstat(statbuf: 0xfffff8e94cb8)                                        = 0
     0.069 ( 0.008 ms): read(buf: 0x3b997330, count: 4096)                                    = 17
     0.086 (1000.436 ms): clock_nanosleep(rqtp: { .tv_sec: 1, .tv_nsec: 0 }, rmtp: 0xfffff8e94e58) = 0
  1000.545 ( 0.136 ms): openat(dfd: CWD, filename: "/tmp/something.txt", flags: CREAT|TRUNC|WRONLY, mode: IRUGO|IWUGO) = 3
  1000.700 ( 0.006 ms): fstat(fd: 3, statbuf: 0xfffff8e94d08)                                 = 0
  1000.720 ( 0.024 ms): write(fd: 3, buf: SOME TEST STRING\10, count: 17)                     = 17
  1000.750 ( 0.073 ms): close(fd: 3)                                                          = 0
  1000.833 (         ): vest/612038 exit_group()

Signed-off-by: Anubhav Shelat <ashelat@redhat.com>
---
 tools/perf/builtin-trace.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/tools/perf/builtin-trace.c b/tools/perf/builtin-trace.c
index fe737b3ac6e6..4cc38ee6aad9 100644
--- a/tools/perf/builtin-trace.c
+++ b/tools/perf/builtin-trace.c
@@ -2955,11 +2955,17 @@ static int trace__sys_exit(struct trace *trace, struct evsel *evsel,
 	if (trace->summary_only || (ret >= 0 && trace->failure_only))
 		goto out;
 
-	trace__fprintf_entry_head(trace, thread, duration, duration_calculated, ttrace->entry_time, trace->output);
-
 	if (ttrace->entry_pending) {
+		if (trace->opts.target.pid) {
+			if (trace->show_tstamp)
+				printed = trace__fprintf_tstamp(trace, ttrace->entry_time, trace->output);
+			if (trace->show_duration)
+				printed += fprintf_duration(duration, duration_calculated, trace->output);
+		} else
+			trace__fprintf_entry_head(trace, thread, duration, duration_calculated, ttrace->entry_time, trace->output);
 		printed = fprintf(trace->output, "%s", ttrace->entry_str);
 	} else {
+		trace__fprintf_entry_head(trace, thread, duration, duration_calculated, ttrace->entry_time, trace->output);
 		printed += fprintf(trace->output, " ... [");
 		color_fprintf(trace->output, PERF_COLOR_YELLOW, "continued");
 		printed += 9;
-- 
2.50.1


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2025-08-21 16:59 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-21 16:58 [PATCH] perf trace: don't show comm/tid for regular syscalls for single-pid traces Anubhav Shelat

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).