[PATCH 0/6] perf script: export sampled callchains to database

From: Chris Phlipot
Date: Thu Apr 28 2016 - 04:19:45 EST


This patch set contains a set of changes to allow the export of sampled
callchains, and to associate them with samples, via the Python db export
API and export-to-postgresql.py script.

Call path information is currently only available in the database when
call/return info is available, but not when doing normal sampling. These
changes make this information available for normal sampling runs as well.

Patches 2-6 are required to make this information available in the
database.

Patch 1 is needed to fix an existing issue where callchains are
processed incorrectly which can cause the other patches to export
incorrect call paths for a small percentage of samples
(depending on the workload).

Chris Phlipot (6):
perf tools: fix incorrect ordering of callchain entries
perf tools: refractor code to move call path handling out of
thread-stack
perf script: enable db export to output sampled callchains
perf script: add call path id to exported sample in db export
perf script: expose usage of the callchain db export via the python
api
perf script: update export-to-postgresql to support callchain export

tools/perf/scripts/python/export-to-postgresql.py | 47 ++++---
tools/perf/util/Build | 1 +
tools/perf/util/call-path.c | 122 ++++++++++++++++++
tools/perf/util/call-path.h | 77 ++++++++++++
tools/perf/util/db-export.c | 89 +++++++++++++
tools/perf/util/db-export.h | 3 +
tools/perf/util/machine.c | 56 ++++++---
.../util/scripting-engines/trace-event-python.c | 36 +++++-
tools/perf/util/thread-stack.c | 139 +--------------------
tools/perf/util/thread-stack.h | 31 ++---
10 files changed, 408 insertions(+), 193 deletions(-)
create mode 100644 tools/perf/util/call-path.c
create mode 100644 tools/perf/util/call-path.h

--
2.7.4