History

perf scripts python: exported-sql-viewer.py: Fix zero id in call graph 'Find' result

Using ctrl-F ('Find') would not find 'unknown' because it matches id zero. Fix by excluding id zero from selection. Example: $ perf record -e intel_pt//u uname Linux [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.034 MB perf.data ] $ perf script --itrace=bep -s ~/libexec/perf-core/scripts/python/export-to-sqlite.py perf.data.db branches calls 2020-06-26 15:32:14.928997 Creating database ... 2020-06-26 15:32:14.933971 Writing records... 2020-06-26 15:32:15.535251 Adding indexes 2020-06-26 15:32:15.542993 Dropping unused tables 2020-06-26 15:32:15.549716 Done $ python3 ~/libexec/perf-core/scripts/python/exported-sql-viewer.py perf.data.db Select: Reports -> Context-Sensitive Call Graph Press: Ctrl-F Enter: unknown Press: Enter Before: gets stuck After: tree is expanded to line showing 'unknown'

Adrian Hunter committed 6 years ago

Commit 7ff520b1 parent 3a3cf7c1 file · +2 −1Browse files

Showing the changes to tools/perf/scripts/python (1 of 1 file). Show all

Unified · Split

tools/perf/scripts/python/exported-sql-viewer.py+2−1
@@ -768,7 +768,8 @@ class CallGraphModel(CallGraphModelBase): · 767 unmodified lines
768768 " FROM calls"
769769 " INNER JOIN call_paths ON calls.call_path_id = call_paths.id"
770770 " INNER JOIN symbols ON call_paths.symbol_id = symbols.id"
771− " WHERE symbols.name" + match +
771+ " WHERE calls.id <> 0"
772+ " AND symbols.name" + match +
772773 " GROUP BY comm_id, thread_id, call_path_id"
773774 " ORDER BY comm_id, thread_id, call_path_id")
774775