Commit Graph

499 Commits

Author SHA1 Message Date
6a5dfd385c Don't complain about old kernel for 3.0+ kernels
Linux kernel version received bump to 3.0 that causes configure to
complain about older kernel. To avoid the warning configure needs to
check major and minor versions before micro.

Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
2012-04-20 08:30:54 -04:00
9eb32f4340 Protect against NULL sym string. 2011-12-20 21:52:35 -05:00
7bd9a40864 Add doap file 2011-08-31 20:13:30 -04:00
4708a509aa Fix PowerPC checks for __NR_perf_counter_open.
__ppc__ isn't defined here on Debian powerpc. Grepping through the headers
installed in /usr/include, there are a few references to __ppc__ and
__ppc64__, but I suspect they're for other OSs.

Signed-off-by: Michel Dänzer <michel@daenzer.net>
2011-08-31 19:58:09 -04:00
139437ecbe Add a simple testdemangle.c test program 2011-08-31 19:57:41 -04:00
f347b87e46 Post-release version bump 2011-07-15 12:57:32 -04:00
4692f85f62 Pre-release version bump to 1.1.8 2011-07-15 12:47:02 -04:00
d1f73304eb tracker: Fix the map look up
A few commits ago, an attempt to speed the map look up was done.
Unfortunatly, it was missing the case where you actually hit the speed
up (once the map is the first element of the array, you never return
it).

So, make sure that if i is 0, you return the first element of array,
while still doing the array reordering is i > 0.
2011-07-15 12:30:48 -04:00
791fff95c3 cli: Allow to get samples from single pid
perf lets you decide to only get events that concerns a single process
and thus make sysprof profile this process instead of the whole system
(it can happen that you don't really care about other processes that are
just then noise).

As a side effect, this allows sysprof to not run as root if you have the
rights on the process you want to profile.
2011-01-27 17:07:07 -05:00
e14788c87e tracker: Silence a debug message
The same way than the other ones, with #if 0.
2011-01-27 17:06:43 -05:00
758fdc86a9 Add a .gitignore file
Hooray for a clean git status!
2011-01-27 17:04:12 -05:00
f594fad6b0 Speed up map locating in tracker.c
Store the maps as a GArray rather than a GPtrArray to improve
locality; also move maps to front when they are looked up.
2011-01-27 17:00:02 -05:00
395f527c83 Don't compute CRC32s that we know will fail.
If two files both have build-ids and those build-ids don't match,
there is no point computing the CRCs.
2011-01-27 17:00:02 -05:00
29496fd3b9 footreestore: Eliminate some type checks that were showing up on profiles 2011-01-27 17:00:02 -05:00
737409baf1 Call gdk_flush() in set_busy().
Otherwise, the cursor won't show up. (GTK+ 2.22).
2011-01-27 17:00:02 -05:00
677fca55bf Right align the samples label 2011-01-27 17:00:02 -05:00
f5570adcd6 build: Update autotools configuration a bit 2011-01-25 00:00:15 +00:00
061cb091c2 Remove INSTALL file, It's autogenerated 2011-01-24 23:56:25 +00:00
96267e1e6d autogen.sh: Use autoreconf 2011-01-24 23:55:33 +00:00
6b5b843271 Post-release version bump to 1.1.7 2010-05-06 13:13:11 +03:00
38a6af1f0a Pre-release bump to 1.1.6 2010-05-06 13:11:22 +03:00
ecf6cf715f Makefile.am: barrier.h is now called util.h 2010-05-06 13:09:06 +03:00
119b710ffc Fix use of uninitialized variable 2010-04-24 12:27:32 -04:00
c960ebd52f Use the SET_OUTPUT ioctl to direct all output to the same buffer
This ensures that we don't get events out of order, which will make
the profiles look a lot less bogus on multi-core systems.
2010-04-24 10:50:26 -04:00
539c3a8754 Make comm events reuse any existing process.
A comm event doesn't necessarily mean a new process was created. It
may just mean that an existing process changed its command line.
2010-04-24 10:27:27 -04:00
73922a0af9 Eliminate some compiler warnings 2010-04-23 11:56:14 -04:00
a03172b11f Use d_print() instead of g_print() for debug spam 2010-04-23 11:56:14 -04:00
298f92ff20 Add FIXME about performance issue in stack_stash_add_trace() 2010-04-23 11:56:14 -04:00
ded375462b sysprof-cli: Print out number of samples when saving 2010-04-23 11:56:14 -04:00
aab051f944 Fix encoding of error message
Use g_strerror instead of strerror to get UTF-8
2010-03-23 18:09:14 +01:00
4e77734d49 Fix build with -Werror=format-security
Don't use dynamic string as format, one of the args could be a string
containing %.
2010-03-23 17:21:37 +01:00
b957f30379 Really disable hardware counters. 2010-03-21 12:14:33 -04:00
2d5cf4c93f Ignore fork events that are just new threads being spawned.
These would cause mysterious new processes to show up.
2010-03-10 06:58:22 -05:00
08d4d26060 Disable use of hardware perf counters.
They don't seem to actually work on a lot of hardware.
2010-03-09 12:27:49 -05:00
1707bebe93 Stop using double mmap trick.
It has issues on various architectures, such as ARM, and there was
never any guarantee that it would actually work. So since we'd need
fallback code anyway, and the main point of it was simplifying the
code, just get rid of it and handle the overflow conditions manually.
2010-03-09 12:27:43 -05:00
001d3b8e42 Update list of kernel symbols to take counter->event rename into account. 2010-02-20 15:04:35 -05:00
b82c3fa806 Coding style fix 2010-02-08 13:20:58 -05:00
Nix
106a734c4f Wire up __NR_perf_counter_open syscall for almost all arches as of
Currently, sysprof hardwires the syscall number of
__NR_perf_counter_open. That's all very well, except... like other
syscall numbers, it varies per-arch. With a few exceptions
(e.g. sparc64), it even varies between 32-bit and 64-bit x86 arches.

This patch provides the defines for every number I could see assigned
in git trunk right now, with the exception of some of the ARM ones, where
I couldn't see how to differentiate between the various sorts of ARM to
figure out what the syscall base was. For those, let's wait for libc to
catch up.

The only arch I've been unable even to guess at is the very new S-Core,
which is the only user so far of the generic syscall table in
<include/asm-generic>. This specifies a value of 241, but I can't hook
it up because I can't find an S-Core toolchain anywhere so I don't know
what #define to check for, and googling gives no clues.

Only tested on x86-64 (where it now works) so there may be all sorts of
bugs in the rest of it (well, in the #defines anyway, though most were
checked against GCC trunk).
2010-02-08 13:16:00 -05:00
3e4921b92d Unconditionally fall back to software if opening hardware counters fails
If hardware counters are not available, fall back to SW regardless of
why the hardware counters aren't available. The error code can be
either ENOTSUPP or ENODEV depending on CPU type, so it's simpler to
just retry in all cases, and only fail if the software fallback
failed.
2010-02-01 14:02:41 -05:00
16f11912e2 Remove deprecated Glib symbols 2009-11-03 20:08:15 +01:00
506f06cc99 Use GTK+ single includes 2009-11-03 20:08:03 +01:00
fbf052a482 Support silent build rules with automake 1.11
Support silent build rules, requires at least automake-1.11.
Disable by either passing --disable-silent-rules to configure or
passing V=1 to make.
2009-11-03 20:01:16 +01:00
18695c27f1 Post release version bump 2009-11-02 14:16:26 -05:00
4ccb67dca9 Release 1.1.4 2009-11-02 14:15:23 -05:00
ef2da92b0a More error handling. 2009-11-02 13:52:11 -05:00
71f2cd3a64 Return error when the counter can't be opened. 2009-11-02 13:30:04 -05:00
1b64f1d924 Also filter out NMI stack 2009-10-29 07:40:51 -04:00
ae77f078d3 Skip symbols from IRQ stack.
There is a bug in the kernel where it includes the stack of the IRQ
that generated the event, so that the stack ends up looking like this:

	[ip] [irq stack] [real stack].

As a temporary workaround, this patch filters out the irq stack
symbols.
2009-10-29 07:31:31 -04:00
7fc23589a2 Exclude idle events and set sample_period to 200000 2009-10-23 13:42:11 -04:00
70d03f4bf2 Set wakeup_events to 149, not 150 2009-10-21 12:31:43 -04:00