Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit decbec38 authored by Frederic Weisbecker's avatar Frederic Weisbecker Committed by Ingo Molnar
Browse files

tracing/function-graph-tracer: implement a print_headers function



Impact: provide trace headers to explain a bit the output

This patch implements the print_headers callback for the function graph
tracer. These headers are output according to the current trace options.

Signed-off-by: default avatarFrederic Weisbecker <fweisbec@gmail.com>
Acked-by: default avatarSteven Rostedt <rostedt@goodmis.org>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent 21bbecda
Loading
Loading
Loading
Loading
+29 −4
Original line number Diff line number Diff line
@@ -570,11 +570,36 @@ print_graph_function(struct trace_iterator *iter)
	}
}

static void print_graph_headers(struct seq_file *s)
{
	/* 1st line */
	seq_printf(s, "# ");
	if (tracer_flags.val & TRACE_GRAPH_PRINT_CPU)
		seq_printf(s, "CPU ");
	if (tracer_flags.val & TRACE_GRAPH_PRINT_PROC)
		seq_printf(s, "TASK/PID     ");
	if (tracer_flags.val & TRACE_GRAPH_PRINT_OVERHEAD)
		seq_printf(s, "OVERHEAD/");
	seq_printf(s, "DURATION            FUNCTION CALLS\n");

	/* 2nd line */
	seq_printf(s, "# ");
	if (tracer_flags.val & TRACE_GRAPH_PRINT_CPU)
		seq_printf(s, "|   ");
	if (tracer_flags.val & TRACE_GRAPH_PRINT_PROC)
		seq_printf(s, "|      |     ");
	if (tracer_flags.val & TRACE_GRAPH_PRINT_OVERHEAD) {
		seq_printf(s, "|        ");
		seq_printf(s, "|                   |   |   |   |\n");
	} else
		seq_printf(s, "    |               |   |   |   |\n");
}
static struct tracer graph_trace __read_mostly = {
	.name	     	= "function_graph",
	.init	     	= graph_trace_init,
	.reset	     	= graph_trace_reset,
	.print_line	= print_graph_function,
	.print_header	= print_graph_headers,
	.flags		= &tracer_flags,
};