From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752778AbcD1ITm (ORCPT ); Thu, 28 Apr 2016 04:19:42 -0400 Received: from mail-pf0-f195.google.com ([209.85.192.195]:34068 "EHLO mail-pf0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751070AbcD1ITj (ORCPT ); Thu, 28 Apr 2016 04:19:39 -0400 From: Chris Phlipot To: adrian.hunter@intel.com, jolsa@kernel.org, acme@kernel.org, peterz@infradead.org, mingo@redhat.com Cc: linux-kernel@vger.kernel.org, Chris Phlipot Subject: [PATCH 0/6] perf script: export sampled callchains to database Date: Thu, 28 Apr 2016 01:19:05 -0700 Message-Id: <1461831551-12213-1-git-send-email-cphlipot0@gmail.com> X-Mailer: git-send-email 2.7.4 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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