summaryrefslogtreecommitdiff
path: root/tools/perf/util/db-export.c
diff options
context:
space:
mode:
authorChris Phlipot <cphlipot0@gmail.com>2016-04-28 01:19:09 -0700
committerArnaldo Carvalho de Melo <acme@redhat.com>2016-05-06 13:00:53 -0300
commit568850eaad8cdd3783c3347623dfcad4f043cf1c (patch)
treea23aee9c872f68e2830ec23b22856cb67d1cae12 /tools/perf/util/db-export.c
parent0a3eba3ad613fa9d5af754f7ae8c4b46047cb2a7 (diff)
downloadlwn-568850eaad8cdd3783c3347623dfcad4f043cf1c.tar.gz
lwn-568850eaad8cdd3783c3347623dfcad4f043cf1c.zip
perf script: Add call path id to exported sample in db export
The exported sample now contains a reference to the call_path_id that represents its callchain. While callchains themselves are nice to have, being able to associate them with samples makes them much more useful, and can allow for such things as determining how much cumulative time is spent in a particular function. This information is normally possible to get from the call return processor. However, when doing normal sampling, call/return information is not available, thus necessitating the need for associating samples directly with call paths. This commit include changes to db-export layer to make this information available for subsequent patches in this change set, but by itself, does not make any changes visible to the user. Signed-off-by: Chris Phlipot <cphlipot0@gmail.com> Acked-by: Adrian Hunter <adrian.hunter@intel.com> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Link: http://lkml.kernel.org/r/1461831551-12213-5-git-send-email-cphlipot0@gmail.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/util/db-export.c')
-rw-r--r--tools/perf/util/db-export.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/tools/perf/util/db-export.c b/tools/perf/util/db-export.c
index a0ca90c1fb50..f8e3057ae3b1 100644
--- a/tools/perf/util/db-export.c
+++ b/tools/perf/util/db-export.c
@@ -408,8 +408,10 @@ int db_export__sample(struct db_export *dbe, union perf_event *event,
struct call_path *cp = call_path_from_sample(dbe, al->machine,
thread, sample,
evsel);
- if (cp)
+ if (cp) {
db_export__call_path(dbe, cp);
+ es.call_path_id = cp->db_id;
+ }
}
if ((evsel->attr.sample_type & PERF_SAMPLE_ADDR) &&