tracing/function-graph-tracer: implement a print_headers function
PATCH 2/2 tracing/function-graph-tracer: implement a print_headers function
Impact: provide 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 <[email protected]>
---
kernel/trace/trace_functions_graph.c +29 -4
@@ -606,11 +606,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, + .name ="function_graph" , + .init = graph_trace_init, + .reset = graph_trace_reset, + .print_line = print_graph_function, + .print_header = print_graph_headers, .flags = &tracer_flags, };
Signature · 1 line
1.6.0.4
Ingo Molnar
AppliedQuoted 6 lines · Frederic Weisbecker
Impact: provide headers to explain a bit the output
This patch implements the
print_headerscallback for the function graph tracer. These headers are output according to the current trace options.Signed-off-by Frederic Weisbecker <[email protected]>
applied to tip/tracing/function-graph-tracer, thanks Frederic!
Ingo