Hello,

I am having difficulties while trying to archive the performance
information from one machine so I can parse it on another. Here is my
setup:

I have two machines, say m1 and m2 and I want to profile my executable on
m1 and see the report on m2. Both m1 and m2 run the same OS: CentOS 6:

$uname -a
Linux florin-vm-cent6 2.6.32-279.el6.x86_64 #1 SMP Fri Jun 22 12:19:21 UTC
2012 x86_64 x86_64 x86_64 GNU/Linux

I run my perf record this way:

$sudo perf record -g -a mytest

After the recording is done when I check the build-ids collected in the
report I see only the system modules in there:

$ sudo perf buildid-list -i perf.data

3dfb468e07d40879575e016e8999a25ee2694792 [kernel.kallsyms]
caea6ee6167bf7c214c1008179879ff8ac2447b6
/lib/modules/2.6.32-279.el6.x86_64/kernel/fs/ext4/ext4.ko
2eba2e1710dd909986d1a5f5b27720f476fc6a74
/lib/modules/2.6.32-279.el6.x86_64/kernel/fs/jbd2/jbd2.ko
4c37e276cd23f0877af7587ed1f699aadb741ec9 /lib64/libc-2.12.so
48a9f8600f0a15f6418ede25846c324ec8891dd4 /lib64/libpthread-2.12.so
42aefafc23375dc250c49c420c37edc4515b9c02 /lib64/ld-2.12.so
bf14593d7915402aa62c2573fccdb252aeebf754 /lib64/libm-2.12.so
ee85ac5f03ac14df9dcc93b6b57cb65a208f1933 /lib64/libgobject-2.0.so.0.2200.5
545c98f5fd1fb2c21bf35c621d9760e698dce1f8 /usr/lib64/libXrender.so.1.3.0
b88f3388cedb5fd906faccbb3febd81cf541273c /usr/bin/Xorg
2b40e6807e9482617b35b1c4a7e6e908a0e1bfc6 /usr/lib64/libpixman-1.so.0.18.4
91fd6a6700be179c5679b23ea0908f0b10e82537 /usr/lib64/xorg/modules/libfb.so
bfaebdeecb20d4e8a842a4b3daeab93bbd3caaf3 /usr/lib64/libcairo.so.2.10800.8
8f5f1b5e9d1b4ca655c88c84704b3b9b705c245f /usr/lib64/libvte.so.9.2501.0
534663464360e8d2157395f397352d28742ba45e /usr/bin/perf
d578a8e6cf05018d25168822e4cdfd780abf4a4e /usr/sbin/lsof


The funny thing is that "perf report -g" gives me symbols for mytest
binary and all its shared libs like it is reading it from someplace else.

I compiled my code with -fno-omit-frame-pointer and "-Wl,--build-id".

If I issue a "sudo perf archive" and then expand the archive file that was
generated I see the same files as above in the archive (i.e. none of my
binaries). After moving the perf file and the symbol archive to m2 and use
perf report on it I see symbols only for the kernel and system libraries.

So it seems that "perf archive" doesn't store all the information that
"perf report" is able to read on m1 so when I try to generate a report on
m2 from the samples collected on m1 I miss the symbols for my binaries.

Thanks in advance for shedding any light on this issue. The new perf tools
seems very cool - I just wish there would be more information online for
it.

Florin



--
To unsubscribe from this list: send the line "unsubscribe linux-perf-users" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to