mirror of
https://github.com/torvalds/linux.git
synced 2026-03-08 01:04:41 +01:00
perf timechart: Add record support for output perf.data path
The '-o' option exists for the SVG creation but not for `perf timechart record`. Add to better allow testing. Signed-off-by: Ian Rogers <irogers@google.com> Signed-off-by: Namhyung Kim <namhyung@kernel.org>
This commit is contained in:
parent
27e7112579
commit
830f1854c4
2 changed files with 12 additions and 6 deletions
|
|
@ -94,6 +94,9 @@ RECORD OPTIONS
|
|||
-g::
|
||||
--callchain::
|
||||
Do call-graph (stack chain/backtrace) recording
|
||||
-o::
|
||||
--output=::
|
||||
Select the output file (default: perf.data)
|
||||
|
||||
EXAMPLES
|
||||
--------
|
||||
|
|
|
|||
|
|
@ -1651,7 +1651,7 @@ out_delete:
|
|||
return ret;
|
||||
}
|
||||
|
||||
static int timechart__io_record(int argc, const char **argv)
|
||||
static int timechart__io_record(int argc, const char **argv, const char *output_data)
|
||||
{
|
||||
unsigned int rec_argc, i;
|
||||
const char **rec_argv;
|
||||
|
|
@ -1659,7 +1659,7 @@ static int timechart__io_record(int argc, const char **argv)
|
|||
char *filter = NULL;
|
||||
|
||||
const char * const common_args[] = {
|
||||
"record", "-a", "-R", "-c", "1",
|
||||
"record", "-a", "-R", "-c", "1", "-o", output_data,
|
||||
};
|
||||
unsigned int common_args_nr = ARRAY_SIZE(common_args);
|
||||
|
||||
|
|
@ -1786,7 +1786,8 @@ static int timechart__io_record(int argc, const char **argv)
|
|||
}
|
||||
|
||||
|
||||
static int timechart__record(struct timechart *tchart, int argc, const char **argv)
|
||||
static int timechart__record(struct timechart *tchart, int argc, const char **argv,
|
||||
const char *output_data)
|
||||
{
|
||||
unsigned int rec_argc, i, j;
|
||||
const char **rec_argv;
|
||||
|
|
@ -1794,7 +1795,7 @@ static int timechart__record(struct timechart *tchart, int argc, const char **ar
|
|||
unsigned int record_elems;
|
||||
|
||||
const char * const common_args[] = {
|
||||
"record", "-a", "-R", "-c", "1",
|
||||
"record", "-a", "-R", "-c", "1", "-o", output_data,
|
||||
};
|
||||
unsigned int common_args_nr = ARRAY_SIZE(common_args);
|
||||
|
||||
|
|
@ -1934,6 +1935,7 @@ int cmd_timechart(int argc, const char **argv)
|
|||
.merge_dist = 1000,
|
||||
};
|
||||
const char *output_name = "output.svg";
|
||||
const char *output_record_data = "perf.data";
|
||||
const struct option timechart_common_options[] = {
|
||||
OPT_BOOLEAN('P', "power-only", &tchart.power_only, "output power data only"),
|
||||
OPT_BOOLEAN('T', "tasks-only", &tchart.tasks_only, "output processes data only"),
|
||||
|
|
@ -1976,6 +1978,7 @@ int cmd_timechart(int argc, const char **argv)
|
|||
OPT_BOOLEAN('I', "io-only", &tchart.io_only,
|
||||
"record only IO data"),
|
||||
OPT_BOOLEAN('g', "callchain", &tchart.with_backtrace, "record callchain"),
|
||||
OPT_STRING('o', "output", &output_record_data, "file", "output data file name"),
|
||||
OPT_PARENT(timechart_common_options),
|
||||
};
|
||||
const char * const timechart_record_usage[] = {
|
||||
|
|
@ -2024,9 +2027,9 @@ int cmd_timechart(int argc, const char **argv)
|
|||
}
|
||||
|
||||
if (tchart.io_only)
|
||||
ret = timechart__io_record(argc, argv);
|
||||
ret = timechart__io_record(argc, argv, output_record_data);
|
||||
else
|
||||
ret = timechart__record(&tchart, argc, argv);
|
||||
ret = timechart__record(&tchart, argc, argv, output_record_data);
|
||||
goto out;
|
||||
} else if (argc)
|
||||
usage_with_options(timechart_usage, timechart_options);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue