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.
Accessibility prevents sysprof from working reliably, so disable
it. Specifically, it
- causes large amounts of time to be spent in sysprof itself
whenever the label is updated.
- sometimes hangs at shutdown
- does long-running roundtrip requests that prevents
reading the event buffers, resulting in lost events.
We do this by putting the samples label and a sizer label into a
notebook where show_tabs is false. The benefits of this is that w
avoid the hack of connecting to the size request signal, and that the
samples label will be right adjusted.
2008-04-26 Soren Sandmann <sandmann@daimi.au.dk>
* sysprof.c (build_gui): Get rid of all calls to
glade_xml_get_widget().
(gather_widgets): Instead get all the widgets here.
* TODO: updates
svn path=/trunk/; revision=414
2008-04-01 Owen Taylor <otaylor@redhat.com>
* sysprof.c (on_samples_label_size_request): Constrain the
samples label to only grow wider instead of bouncing around.
svn path=/trunk/; revision=409
2008-03-29 Soren Sandmann <sandmann@daimi.au.dk>
Work around GTK+ ABI break.
* sysprof.c (on_about_activated): Use "program-name" instead of
"name" when the gtk+ minor version is >= 14.
svn path=/trunk/; revision=407
2007-10-22 Soren Sandmann <sandmann@daimi.au.dk>
* process.c (look_for_vmlinux): Use an array instead of a
list. Look for vmlinux in the source directory.
* elfparser.c (elf_parser_get_crc32): Only use MADV_DONTNEED if
the data is file-backed.
* TODO: updates.
Various formatting fixes
svn path=/trunk/; revision=385
2007-10-22 Soren Sandmann <sandmann@daimi.au.dk>
* sfile.c: Fix some spelling errors
* profile.[ch], sysprof.[ch]: Change "non_recursive" to
"cumulative" to match the UI
* profile.c (add_trace_to_tree): Add a couple of asserts.
* TODO: updates
svn path=/trunk/; revision=383
2007-10-20 Soren Sandmann <sandmann@daimi.au.dk>
* collector.c (on_read): Call callback with an extra boolean
indicating whether the sample read was the first one
* collector.c (add_trace_to_stash): Allocate addresses on the
stack if possible.
* sysprof.c (on_new_sample): Only call update_sensitivity() on the
first sample.
* stackstash.c (stack_stash_add_trace): Move match to front
svn path=/trunk/; revision=373
2007-09-16 Soren Sandmann <sandmann@daimi.au.dk>
* process.c (process_lookup_kernel_symbol): Add support for
looking up kernel symbols from /proc/kallsyms
* sysprof-text.c (dump_data): Print note that the file is being
saved.
* module/sysprof-module.[ch] (timer_notify): Send a copy of the
kernel stack to userspace.
* collector.c: Do kernel symbol lookups.
svn path=/trunk/; revision=372
2007-08-04 Soren Sandmann <sandmann@daimi.au.dk>
* sysprof.c: Update to use new tree view API.
* treeviewutils.c: Do customized sorting to get default sort
orders on columns. Workaround GTK+ bug 333791.
svn path=/trunk/; revision=364
2007-03-24 Soren Sandmann <sandmann@daimi.au.dk>
* sysprof.c (update_screenshot_window): Update screenshot window
in an idle handler to deal with the case where someone presses
"Shift Right Arrow"
svn path=/trunk/; revision=362
Mon Mar 5 16:55:39 2007 Søren Sandmann <sandmann@redhat.com>
* binfile.c (already_warned): New function. Only warn once about
bad CRC's.
svn path=/trunk/; revision=361
Mon Jan 22 17:42:29 2007 Søren Sandmann <sandmann@redhat.com>
* sysprof-icon-32.png
* sysprof.c: Add a 32x32 version (also from Diana) of the icon.
Mon Jan 22 16:37:12 2007 Søren Sandmann <sandmann@redhat.com>
* sysprof-icon-16/24/48.png:
* sysprof.c: Add new icons from Diana.
svn path=/trunk/; revision=348
2006-11-02 Soren Sandmann <sandmann@daimi.au.dk>
Valgrind:
* binparser.c (bin_parser_free): Add this function
* elfparser.c (elf_parser_free): Call bin_parser_free()
* sysprof.c (compute_text_width, add_text): Plug leaks
* collector.c (add_trace_to_stash): Copy n_addresses to a stack
variable instead of reading it out of the mmap'ed area all the
time. (That way if there is an overrun, we won't write too much
into the address array).
2006-10-26 Soren Sandmann <sandmann@daimi.au.dk>
* module/sysprof-module.h (struct SysprofStackTrace): Increase the
max number of addresses to 1021, reorganise SysprofMmapArea to
make the traces naturally page aligned.
* TODO: Update
2006-10-09 Soren Sandmann <sandmann@daimi.au.dk>
* profile.c (profile_list_callers): Make this function return a
list of immediate callers again.
* sysprof.c (build_gui): Change label back to "Callers"
* process.c (get_kernel_symbols): Only attempt to read the kernel
symbols once.