linux-perf-users.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Ingo Molnar <mingo@kernel.org>, Thomas Gleixner <tglx@linutronix.de>
Cc: Jiri Olsa <jolsa@kernel.org>, Namhyung Kim <namhyung@kernel.org>,
	Clark Williams <williams@redhat.com>,
	linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org,
	Adrian Hunter <adrian.hunter@intel.com>,
	Arnaldo Carvalho de Melo <acme@redhat.com>,
	Jiri Olsa <jolsa@redhat.com>
Subject: [PATCH 16/28] perf scripts python: export-to-sqlite.py: Add has_calls column to comms table
Date: Mon, 15 Jul 2019 18:11:48 -0300	[thread overview]
Message-ID: <20190715211200.10984-17-acme@kernel.org> (raw)
In-Reply-To: <20190715211200.10984-1-acme@kernel.org>

From: Adrian Hunter <adrian.hunter@intel.com>

Now that a thread's current comm is exported, it shows up in the call
graph and call tree even if it has no calls. That can happen because the
calls are recorded against the main thread's initial comm.

Add a table column to make it easy for the exported-sql-viewer.py script
to select only comms with calls.

Committer notes:

Running the export-to-sqlite.py worked without warnings and using the
exported-sql-viewer.py worked as before.

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Link: http://lkml.kernel.org/r/20190710085810.1650-14-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/scripts/python/export-to-sqlite.py | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/tools/perf/scripts/python/export-to-sqlite.py b/tools/perf/scripts/python/export-to-sqlite.py
index 97aa66dd2fe1..9156f6a1e5f0 100644
--- a/tools/perf/scripts/python/export-to-sqlite.py
+++ b/tools/perf/scripts/python/export-to-sqlite.py
@@ -606,6 +606,8 @@ def trace_end():
 	if perf_db_export_calls:
 		do_query(query, 'CREATE INDEX pcpid_idx ON calls (parent_call_path_id)')
 		do_query(query, 'CREATE INDEX pid_idx ON calls (parent_id)')
+		do_query(query, 'ALTER TABLE comms ADD has_calls boolean')
+		do_query(query, 'UPDATE comms SET has_calls = 1 WHERE comms.id IN (SELECT DISTINCT comm_id FROM calls)')
 
 	printdate("Dropping unused tables")
 	if is_table_empty("ptwrite"):
-- 
2.21.0

  parent reply	other threads:[~2019-07-15 21:11 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-07-15 21:11 [GIT PULL] perf/core improvements and fixes Arnaldo Carvalho de Melo
2019-07-15 21:11 ` [PATCH 01/28] perf tools: Introduce rlimit__bump_memlock() helper Arnaldo Carvalho de Melo
2019-07-15 21:11 ` [PATCH 02/28] perf test: Auto bump rlimit(MEMLOCK) for BPF test sake Arnaldo Carvalho de Melo
2019-07-15 21:11 ` [PATCH 03/28] perf trace: Auto bump rlimit(MEMLOCK) for eBPF maps sake Arnaldo Carvalho de Melo
2019-07-15 21:11 ` [PATCH 04/28] perf db-export: Get rid of db_export__deferred() Arnaldo Carvalho de Melo
2019-07-15 21:11 ` [PATCH 05/28] perf db-export: Rename db_export__comm() to db_export__exec_comm() Arnaldo Carvalho de Melo
2019-07-15 21:11 ` [PATCH 06/28] perf db-export: Pass main_thread to db_export__thread() Arnaldo Carvalho de Melo
2019-07-15 21:11 ` [PATCH 07/28] perf db-export: Export main_thread in db_export__sample() Arnaldo Carvalho de Melo
2019-07-15 21:11 ` [PATCH 08/28] perf db-export: Export comm before exporting thread Arnaldo Carvalho de Melo
2019-07-15 21:11 ` [PATCH 09/28] perf db-export: Move export__comm_thread into db_export__sample() Arnaldo Carvalho de Melo
2019-07-15 21:11 ` [PATCH 10/28] perf db-export: Fix a white space issue in db_export__sample() Arnaldo Carvalho de Melo
2019-07-15 21:11 ` [PATCH 11/28] perf db-export: Export comm details Arnaldo Carvalho de Melo
2019-07-15 21:11 ` [PATCH 12/28] perf scripts python: export-to-sqlite.py: " Arnaldo Carvalho de Melo
2019-07-15 21:11 ` [PATCH 13/28] perf scripts python: export-to-postgresql.py: " Arnaldo Carvalho de Melo
2019-07-15 21:11 ` [PATCH 14/28] perf db-export: Factor out db_export__comm() Arnaldo Carvalho de Melo
2019-07-15 21:11 ` [PATCH 15/28] perf db-export: Also export thread's current comm Arnaldo Carvalho de Melo
2019-07-15 21:11 ` Arnaldo Carvalho de Melo [this message]
2019-07-15 21:11 ` [PATCH 17/28] perf scripts python: export-to-postgresql.py: Add has_calls column to comms table Arnaldo Carvalho de Melo
2019-07-15 21:11 ` [PATCH 18/28] perf scripts python: exported-sql-viewer.py: Remove redundant semi-colons Arnaldo Carvalho de Melo
2019-07-15 21:11 ` [PATCH 19/28] perf scripts python: exported-sql-viewer.py: Use new 'has_calls' column Arnaldo Carvalho de Melo
2019-07-15 21:11 ` [PATCH 20/28] perf script: Add scripting operation process_switch() Arnaldo Carvalho de Melo
2019-07-15 21:11 ` [PATCH 21/28] perf db-export: Factor out db_export__threads() Arnaldo Carvalho de Melo
2019-07-15 21:11 ` [PATCH 22/28] perf db-export: Export switch events Arnaldo Carvalho de Melo
2019-07-15 21:11 ` [PATCH 23/28] perf scripts python: export-to-sqlite.py: " Arnaldo Carvalho de Melo
2019-07-15 21:11 ` [PATCH 24/28] perf scripts python: export-to-postgresql.py: " Arnaldo Carvalho de Melo
2019-07-15 21:11 ` [PATCH 25/28] perf cs-etm: Remove errnoeous ERR_PTR() usage in cs_etm__process_auxtrace_info Arnaldo Carvalho de Melo
2019-07-15 21:11 ` [PATCH 26/28] perf cs-etm: Return errcode in cs_etm__process_auxtrace_info() Arnaldo Carvalho de Melo
2019-07-15 21:11 ` [PATCH 27/28] perf vendor events s390: Add JSON files for machine type 8561 Arnaldo Carvalho de Melo
2019-07-15 21:12 ` [PATCH 28/28] perf version: Fix segfault due to missing OPT_END() Arnaldo Carvalho de Melo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190715211200.10984-17-acme@kernel.org \
    --to=acme@kernel.org \
    --cc=acme@redhat.com \
    --cc=adrian.hunter@intel.com \
    --cc=jolsa@kernel.org \
    --cc=jolsa@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=namhyung@kernel.org \
    --cc=tglx@linutronix.de \
    --cc=williams@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).