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

Commit c87097d3 authored by Stanislav Fomichev's avatar Stanislav Fomichev Committed by Arnaldo Carvalho de Melo
Browse files

perf timechart: Add support for displaying only tasks related data



In order to make SVG smaller and faster to browse add possibility to
switch off power related information with -T switch.

Signed-off-by: default avatarStanislav Fomichev <stfomichev@yandex-team.ru>
Acked-by: default avatarNamhyung Kim <namhyung@kernel.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1383323151-19810-5-git-send-email-stfomichev@yandex-team.ru


Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent 753c505d
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -35,6 +35,9 @@ OPTIONS
-P::
--power-only::
        Only output the CPU power section of the diagram
-T::
--tasks-only::
        Don't output processor state transitions
-p::
--process::
        Select the processes to display, by name or PID
+10 −1
Original line number Diff line number Diff line
@@ -51,6 +51,7 @@ static u64 turbo_frequency;
static u64		first_time, last_time;

static bool		power_only;
static bool		tasks_only;


struct per_pid;
@@ -971,6 +972,7 @@ static void write_svg_file(const char *filename)
	draw_cpu_usage();
	if (proc_num)
		draw_process_bars();
	if (!tasks_only)
		draw_c_p_states();
	if (proc_num)
		draw_wakeups();
@@ -1102,6 +1104,8 @@ int cmd_timechart(int argc, const char **argv,
	OPT_STRING('o', "output", &output_name, "file", "output file name"),
	OPT_INTEGER('w', "width", &svg_page_width, "page width"),
	OPT_BOOLEAN('P', "power-only", &power_only, "output power data only"),
	OPT_BOOLEAN('T', "tasks-only", &tasks_only,
		    "output processes data only"),
	OPT_CALLBACK('p', "process", NULL, "process",
		      "process selector. Pass a pid or process name.",
		       parse_process),
@@ -1119,6 +1123,11 @@ int cmd_timechart(int argc, const char **argv,
	argc = parse_options(argc, argv, options, timechart_usage,
			PARSE_OPT_STOP_AT_NON_OPTION);

	if (power_only && tasks_only) {
		pr_err("-P and -T options cannot be used at the same time.\n");
		return -1;
	}

	symbol__init();

	if (argc && !strncmp(argv[0], "rec", 3))