linux/tools/perf
Arnaldo Carvalho de Melo 4cf40131a5 perf record: Introduce a symtab cache
Now a cache will be created in a ~/.debug debuginfo like
hierarchy, so that at the end of a 'perf record' session all the
binaries (with build-ids) involved get collected and indexed by
their build-ids, so that perf report can find them.

This is interesting when developing software where you want to
do a 'perf diff' with the previous build and opens avenues for
lots more interesting tools, like a 'perf diff --graph' that
takes more than two binaries into account.

Tunables for collecting just the symtabs can be added if one
doesn't want to have the full binary, but having the full binary
allows things like 'perf rerecord' or other tools that can
re-run the tests by having access to the exact binary in some
perf.data file, so it may well be interesting to keep the full
binary there.

Space consumption is minimised by trying to use hard links, a
'perf cache' tool to manage the space used, a la ccache is
required to purge older entries.

With this in place it will be possible also to introduce new
commands, 'perf archive' and 'perf restore' (or some more
suitable and future proof names) to create a cpio/tar file with
the perf data and the files in the cache that _had_ perf hits of
interest.

There are more aspects to polish, like finding the right vmlinux
file to cache, etc, but this is enough for a first step.

Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Frédéric Weisbecker <fweisbec@gmail.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Paul Mackerras <paulus@samba.org>
LKML-Reference: <1261957026-15580-10-git-send-email-acme@infradead.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-12-28 09:03:36 +01:00
..
Documentation perf diff: Use perf_session__fprintf_hists just like 'perf record' 2009-12-16 16:53:37 +01:00
bench perf sched: Fix build failure on sparc 2009-12-14 08:59:12 +01:00
scripts/perl perf trace/scripting: List available scripts 2009-12-15 10:31:32 +01:00
util perf record: Introduce a symtab cache 2009-12-28 09:03:36 +01:00
.gitignore perf tools: Add perf.data to .gitignore 2009-11-24 16:37:01 +01:00
CREDITS perf_counter tools: Add CREDITS file for Git contributors 2009-06-24 19:54:29 +02:00
Makefile perf record: Introduce a symtab cache 2009-12-28 09:03:36 +01:00
builtin-annotate.c perf session: Remove redundant prefix & suffix from perf_event_ops 2009-12-28 09:03:35 +01:00
builtin-bench.c perf bench: Add "all" pseudo subsystem and "all" pseudo suite 2009-12-14 08:51:19 +01:00
builtin-buildid-list.c perf diff: Fix usage array, it must end with a NULL entry 2009-12-18 20:01:52 +01:00
builtin-diff.c perf session: Remove redundant prefix & suffix from perf_event_ops 2009-12-28 09:03:35 +01:00
builtin-help.c perf: Use format string of printf to align strings 2009-12-28 09:03:16 +01:00
builtin-kmem.c perf session: Remove redundant prefix & suffix from perf_event_ops 2009-12-28 09:03:35 +01:00
builtin-list.c perf list: Fix large list output by using the pager 2009-08-13 09:05:48 +02:00
builtin-probe.c perf probe: Check whether debugfs path is correct 2009-12-17 09:42:43 +01:00
builtin-record.c perf record: We should fork only if a program was specified to run 2009-12-28 09:02:50 +01:00
builtin-report.c perf session: Remove redundant prefix & suffix from perf_event_ops 2009-12-28 09:03:35 +01:00
builtin-sched.c perf session: Remove redundant prefix & suffix from perf_event_ops 2009-12-28 09:03:35 +01:00
builtin-stat.c perf stat: Do not print ratio when task-clock event is not counted 2009-11-15 15:25:50 +01:00
builtin-timechart.c perf session: Remove redundant prefix & suffix from perf_event_ops 2009-12-28 09:03:35 +01:00
builtin-top.c perf symbols: Move symbol filtering to event__preprocess_sample() 2009-12-16 08:53:49 +01:00
builtin-trace.c perf session: Remove redundant prefix & suffix from perf_event_ops 2009-12-28 09:03:35 +01:00
builtin.h perf diff: Introduce tool to show performance difference 2009-12-15 08:50:29 +01:00
command-list.txt perf diff: Introduce tool to show performance difference 2009-12-15 08:50:29 +01:00
design.txt perf_event: Add alignment-faults and emulation-faults software events 2009-10-28 16:13:03 +11:00
perf.c perf diff: Introduce tool to show performance difference 2009-12-15 08:50:29 +01:00
perf.h perf tools: Allow building for ARM 2009-12-11 13:50:21 +01:00