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

Reply via email to