perf diff: Add diff.compute config option
The diff.compute config variable is to set the default compute method of perf diff command (-c option). Possible values 'delta' (default), 'delta-abs', 'ratio' and 'wdiff'. Signed-off-by: Namhyung Kim <namhyung@kernel.org> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Taeung Song <treeze.taeung@gmail.com> Link: http://lkml.kernel.org/r/20170210073614.24584-4-namhyung@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
d49dd15d69
commit
4b35994abe
3 changed files with 23 additions and 3 deletions
|
@ -505,6 +505,11 @@ diff.*::
|
|||
Setting it to 1 will sort the result by delta (or other
|
||||
compute method selected).
|
||||
|
||||
diff.compute::
|
||||
This options sets the method for computing the diff result.
|
||||
Possible values are 'delta', 'delta-abs', 'ratio' and
|
||||
'wdiff'. Default is 'delta'.
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkperf:perf[1]
|
||||
|
|
|
@ -86,8 +86,9 @@ OPTIONS
|
|||
|
||||
-c::
|
||||
--compute::
|
||||
Differential computation selection - delta,ratio,wdiff,delta-abs (default is delta).
|
||||
See COMPARISON METHODS section for more info.
|
||||
Differential computation selection - delta, ratio, wdiff, delta-abs
|
||||
(default is delta). Default can be changed using diff.compute
|
||||
config option. See COMPARISON METHODS section for more info.
|
||||
|
||||
-p::
|
||||
--period::
|
||||
|
|
|
@ -86,7 +86,7 @@ const char *compute_names[COMPUTE_MAX] = {
|
|||
[COMPUTE_WEIGHTED_DIFF] = "wdiff",
|
||||
};
|
||||
|
||||
static int compute;
|
||||
static int compute = COMPUTE_DELTA;
|
||||
|
||||
static int compute_2_hpp[COMPUTE_MAX] = {
|
||||
[COMPUTE_DELTA] = PERF_HPP_DIFF__DELTA,
|
||||
|
@ -1299,6 +1299,20 @@ static int diff__config(const char *var, const char *value,
|
|||
sort_compute = perf_config_int(var, value);
|
||||
return 0;
|
||||
}
|
||||
if (!strcmp(var, "diff.compute")) {
|
||||
if (!strcmp(value, "delta")) {
|
||||
compute = COMPUTE_DELTA;
|
||||
} else if (!strcmp(value, "delta-abs")) {
|
||||
compute = COMPUTE_DELTA_ABS;
|
||||
} else if (!strcmp(value, "ratio")) {
|
||||
compute = COMPUTE_RATIO;
|
||||
} else if (!strcmp(value, "wdiff")) {
|
||||
compute = COMPUTE_WEIGHTED_DIFF;
|
||||
} else {
|
||||
pr_err("Invalid compute method: %s\n", value);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue