aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/trace
diff options
context:
space:
mode:
authorFrederic Weisbecker <fweisbec@gmail.com>2008-12-07 19:56:06 -0500
committerIngo Molnar <mingo@elte.hu>2008-12-08 07:24:52 -0500
commitdecbec3838d10ecd7aabdb4c0e05aac0e5f5dc0c (patch)
treee4427f55892b9ab4cd80c0f18d22dbb21e78699f /kernel/trace
parent21bbecdaaef3a6acc19905ab88c0587817318870 (diff)
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: Frederic Weisbecker <fweisbec@gmail.com> Acked-by: Steven Rostedt <rostedt@goodmis.org> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'kernel/trace')
-rw-r--r--kernel/trace/trace_functions_graph.c33
1 files changed, 29 insertions, 4 deletions
diff --git a/kernel/trace/trace_functions_graph.c b/kernel/trace/trace_functions_graph.c
index 32b7fb9a19df..af60eef4cbcc 100644
--- a/kernel/trace/trace_functions_graph.c
+++ b/kernel/trace/trace_functions_graph.c
@@ -570,11 +570,36 @@ print_graph_function(struct trace_iterator *iter)
570 } 570 }
571} 571}
572 572
573static void print_graph_headers(struct seq_file *s)
574{
575 /* 1st line */
576 seq_printf(s, "# ");
577 if (tracer_flags.val & TRACE_GRAPH_PRINT_CPU)
578 seq_printf(s, "CPU ");
579 if (tracer_flags.val & TRACE_GRAPH_PRINT_PROC)
580 seq_printf(s, "TASK/PID ");
581 if (tracer_flags.val & TRACE_GRAPH_PRINT_OVERHEAD)
582 seq_printf(s, "OVERHEAD/");
583 seq_printf(s, "DURATION FUNCTION CALLS\n");
584
585 /* 2nd line */
586 seq_printf(s, "# ");
587 if (tracer_flags.val & TRACE_GRAPH_PRINT_CPU)
588 seq_printf(s, "| ");
589 if (tracer_flags.val & TRACE_GRAPH_PRINT_PROC)
590 seq_printf(s, "| | ");
591 if (tracer_flags.val & TRACE_GRAPH_PRINT_OVERHEAD) {
592 seq_printf(s, "| ");
593 seq_printf(s, "| | | | |\n");
594 } else
595 seq_printf(s, " | | | | |\n");
596}
573static struct tracer graph_trace __read_mostly = { 597static struct tracer graph_trace __read_mostly = {
574 .name = "function_graph", 598 .name = "function_graph",
575 .init = graph_trace_init, 599 .init = graph_trace_init,
576 .reset = graph_trace_reset, 600 .reset = graph_trace_reset,
577 .print_line = print_graph_function, 601 .print_line = print_graph_function,
602 .print_header = print_graph_headers,
578 .flags = &tracer_flags, 603 .flags = &tracer_flags,
579}; 604};
580 605