Files
sysprof/ChangeLog
Paolo Borelli 23d3a36a4a small cleanup
2006-07-31 18:52:12 +00:00

1267 lines
35 KiB
Plaintext

2006-07-31 Paolo Borelli <pborelli@katamail.com>
* sysprof.c (expand_descendants_tree): small cleanup.
2006-07-31 Soren Sandmann <sandmann@redhat.com>
* stackstash.[ch]: Add a destroy notifier to StackStash
* collector.c (collector_create_profile): Pass g_free as destroy
notifier.
* collector.c (collector_reset): Pass NULL as destroy notifier
* profile.c (profile_load): Pass g_free here.
* profile.c (struct Profile): Remove unused "Node" typedef
* collector.c (resolve_symbols): Free the array here.
* TODO: various updates.
2006-07-30 Soren Sandmann <sandmann@redhat.com>
* signal-handler.c: Simplify this file a bit, and make it not rely
on atomic pointer writes.
2006-07-18 Bastien Nocera <hadess@hadess.net>
* configure.ac: we need at least glib 2.6.0 for the gstdio.h functions
2006-06-05 Soren Sandmann <sandmann@redhat.com>
* TODO: Updates
Sat Apr 22 15:08:01 2006 Soeren Sandmann <sandmann@redhat.com>
* TODO: updates
* profile.c, sfile.c, sformat.c: Various formatting fixes.
Wed Apr 5 11:26:30 2006 Søren Sandmann <sandmann@redhat.com>
* TODO: updates
Mon Mar 27 23:04:30 2006 Soeren Sandmann <sandmann@redhat.com>
* TODO: Updates.
* sfile.c (handle_{begin,end}_element): Don't generate begin/end
instructions for value elements.
* sfile.c (build_instructions): Remove debugging spew.
Mon Mar 27 21:44:04 2006 Soeren Sandmann <sandmann@redhat.com>
* sformat.[ch]: New files containing a simplified and sanitized
version of the state machine and type system from sfile.c.
* sfile.c: Move the state machine and type management to separate
files. Make the amount of memory used during loading and saving
less obscene.
* stackstash.c (stack_stash_new_from_root): Make this function
store the root again.
Mon Mar 27 09:55:01 2006 Søren Sandmann <sandmann@redhat.com>
* TODO: updates
2006-03-11 Soren Sandmann <sandmann@redhat.com>
* TODO: updates
* stackstash.[ch]: Make stackstash refcounted
* collector.c, profile.c: Update for refcounted stackstash, plug
leak.
* collector.c (open_fd): Remove FIXME comment
2006-03-05 Soeren Sandmann <sandmann@redhat.com>
* sysprof-text.c, collector.c, sysprof.c: Do proper
error-handling.
Fri Mar 3 22:28:03 2006 Soeren Sandmann <sandmann@redhat.com>
* process.c (process_lookup_symbol): Check that the inodes match.
* binfile.c (read_symbols): Read the inode of the file
* binfile.c (read_symbols): Close the bfd if the symbol table
could not be read.
Thu Mar 2 22:54:37 2006 Soeren Sandmann <sandmann@redhat.com>
* treeviewutils.c (tree_view_foreach_visible): Handle NULL models.
* sysprof.glade, sysprof.c: Revert back to three pane layout.
2006-02-17 Bastien Nocera <hadess@hadess.net>
* configure.ac:
* module/sysprof-module.c: (timer_notify), (sysprof_open),
(sysprof_release): more ifdef's to make it work with Red Hat
Enterprise Linux 4's 2.6.9-based kernel
Sat Feb 4 23:53:05 2006 Søren Sandmann <sandmann@redhat.com>
* sysprof.glade: Remove ancestors pane in favor of radiobuttons in
the right pane.
* sysprof.c: Corresponding changes.
* TODO: Updates
Wed Jan 25 11:24:04 2006 Søren Sandmann <sandmann@redhat.com>
* TODO: Updates
Mon Jan 16 11:12:13 2006 Søren Sandmann <sandmann@redhat.com>
* TODO: Updates
Sun Jan 15 20:22:20 2006 Soeren Sandmann <sandmann@redhat.com>
* module/sysprof-module.c (init_module): Print out sysprof version
at module load time.
Sun Jan 15 00:24:02 2006 Soeren Sandmann <sandmann@redhat.com>
* TODO: Updates
* sysprof.c (build_gui): Rename 'callers' column 'ancestors'
* profile.c (profile_list_callers): Make this function list all
ancestors of the function. Also make it report correct numbers
again.
* profile.c (profile_create_descendants): Remove debug spew
Sat Jan 14 18:24:43 2006 Soeren Sandmann <sandmann@redhat.com>
* configure.ac, Makefile.am: Only build GUI when the necessary
dependencies are found.
* sysprof.c (compute_text_width): Remove unused variable
* profile.c (build_object_list): Follow next instead of siblings.
Fri Jan 13 23:11:33 2006 Søren Sandmann <sandmann@redhat.com>
* TODO: updates
Fri Jan 13 22:59:48 2006 Soeren Sandmann <sandmann@redhat.com>
* module/sysprof-module.c (sysprof_open): Initialize retval.
* module/sysprof-module.c (sysprof_read): Copy contents of trace,
not tail to the buffer.
Wed Jan 11 20:31:11 2006 Søren Sandmann <sandmann@redhat.com>
* process.c (read_maps): Also make offset a gulong (Samuel Mimram)
Wed Jan 11 17:51:54 2006 Søren Sandmann <sandmann@redhat.com>
* collector.c: Remove debug spew.
* TODO: updates
Mon Jan 9 09:58:25 2006 Soeren Sandmann <sandmann@redhat.com>
* module/sysprof-module.c (timer_notify): Remove START_OF_STACK
check.
Mon Jan 9 00:59:21 2006 Soeren Sandmann <sandmann@redhat.com>
* process.c (read_maps): Use gulong for addresses. Bug reported by
Martin Reddy.
Sun Jan 8 03:22:22 2006 Soeren Sandmann <sandmann@redhat.com>
* process.c (process_flush_caches): Resurrect this function.
* collector.c (collector_reset): Call it from here
Sun Jan 8 02:19:34 2006 Soeren Sandmann <sandmann@redhat.com>
* TODO: update
Thu Jan 5 17:52:10 2006 Søren Sandmann <sandmann@redhat.com>
* TODO: small updates
* sysprof.c: cosmetic updates
* module/sysprof-module.c: cosmetic updates
2005-12-20 Kristian Høgsberg <krh@redhat.com>
* module/sysprof-module.c: Remove left over debug print out and
add support for multiple clients (readers).
Tue Dec 20 16:03:29 2005 Soeren Sandmann <sandmann@redhat.com>
* TODO: Updates
* sysprof-text.c (main): Make it try and load the module before
complaining.
2005-12-20 Kristian Høgsberg <krh@redhat.com>
* Makefile.am: Dist and install udev rule.
* collector.c: (open_fd):
* sysprof-text.c: (no_module):
* sysprof.c: (on_start_toggled): Update device filename.
* 60-sysprof.rules: New udev rule file to set permissions for
sysprof char device.
* module/sysprof-module.c: Switch kernel module to use a misc char
device instead. Start and stop the timer on device open and
close instead of module load and unload.
Tue Dec 20 12:19:34 2005 Søren Sandmann <sandmann@redhat.com>
* configure.ac: Add backslashes, pointed out by Ralph Siemsen.
Mon Dec 19 17:39:09 2005 Søren Sandmann <sandmann@redhat.com>
* sysprof.c (add_text): Make the tree tree-shapeed.
Mon Dec 19 15:15:48 2005 Søren Sandmann <sandmann@redhat.com>
* module/sysprof-module.c (timer_notify): A few formatting
fixes. Hopefully make it work with x86-64.
2005-11-29 Soeren Sandmann <sandmann@redhat.com>
* sysprof.c (on_descendants_row_expanded_or_collapsed): New
function. Update screenshot window when rows are expanded and
collapsed.
2005-11-23 Soeren Sandmann <sandmann@redhat.com>
* sysprof.c (update_screenshot_window): Update the screenshot
window.
Wed Nov 23 00:44:34 2005 Soeren Sandmann <sandmann@redhat.com>
* module/sysprof-module.c: Various cleanups
* TODO: updates
Tue Nov 22 23:38:09 2005 Soeren Sandmann <sandmann@redhat.com>
* module/sysprof-module.c: Remove unused pages_present()
function.
2005-11-18 Matthias Clasen <mclasen@redhat.com>
* configure.ac: Make configure work.
2005-11-13 Soeren Sandmann <sandmann@redhat.com>
* process.c: Add some experimental (and unused) code to look up
kernel symbols.
Sat Nov 12 23:39:29 2005 Soeren Sandmann <sandmann@redhat.com>
* sysprof.c (set_sizes): Put the vertical splitter at 3/8 *
screen_width.
* configure.ac: Disable warning.
Sat Nov 12 19:44:43 2005 Søren Sandmann <sandmann@redhat.com>
* module/sysprof-module.c (read_frame): New function that uses
copy_from_user_inatomic() as check_user_pages_readable() has
disappeared in recent kernels.
* module/sysprof-module.c (timer_notify): Use it here.
* TODO: Updates
* configure.ac: Change the wording of the CVS HEAD warning as this
change seems to also have fixed the lockup with rawhide kernels.
Wed Nov 9 00:24:11 2005 Soeren Sandmann <sandmann@redhat.com>
* treeviewutils.[ch]: Add new tree_view_foreach_visible()
function.
* sysprof.c: Add update_screenshot_window() function.
Mon Nov 7 23:42:26 2005 Soeren Sandmann <sandmann@redhat.com>
* sysprof.c: Add beginning of a screenshot
window.
* sysprof.glade: Add screenshot window plus menu items.
* stackstash.c: Remove unused function stack_node_list_leaves()
* xmlstore.c: Various crack
Sun Nov 6 23:03:49 2005 Soeren Sandmann <sandmann@redhat.com>
* profile.c (add_trace_to_tree): Test for !prev instead of !next.
Sun Nov 6 Soeren Sandmann <sandmann@redhat.com>
* TODO: updates
* collector.c (on_read): Only call back when a new sample actually
arrived.
* collector.c (collector_stop): close the filedescriptor
* sysprof.c (on_start_toggled): Change sense of test.
* sysprof.c (ensure_profile): Stop the collector.
* sysprof.c (on_reset_clicked): Stop the collector when state
becomes INITIAL.
Sun Nov 6 18:31:23 2005 Soeren Sandmann <sandmann@redhat.com>
* stackstash.c (stack_stash_foreach):
* stackstash.c (stack_node_foreach_trace): Make these function
call back with GLists rather than GSLists.
* profile.c (add_trace_to_tree): Iterate backwards instead of
copying the list.
Sun Nov 6 17:06:52 2005 Soeren Sandmann <sandmann@redhat.com>
* profile.c (add_trace_to_tree): Turn this function into a
StackFunction.
* stackstash.c (stack_node_foreach_trace): Make this function take
a StackFunction, and reimplement with do_callback().
Sat Nov 5 18:06:40 2005 Soeren Sandmann <sandmann@redhat.com>
* profile.c (profile_create_descendants): Use callbacks from
stackstash.
* stackstash.c (stack_node_foreach_trace): New function
* stackstash.c (do_node_callback): New function
Sat Nov 5 12:39:33 2005 Soeren Sandmann <sandmann@redhat.com>
* profile.c (add_trace_to_tree): Don't compute the total field.
* profile.h (struct ProfileDescendant): Remove 'total' field.
* sysprof.c: Delete DESCENDANTS_TOTAL column and everything
related to it.
* profile.c: Remove commented out code
* sfile.c (handle_text): Don't copy the text
2005-11-04 Soren Sandmann <sandmann@redhat.com>
* collector.[ch]: Add copyright statement.
* collector.c (on_read): Handle time getting set backwards.
* collector.c: Remove unused empty_filedescriptor() function.
2005-11-03 Soren Sandmann <sandmann@redhat.com>
* configure.ac: Make the message about the kernel source package
more informative. Code from Kjetil Torgrim Homme.
* sysprof.c (on_start_toggled): Only delete the data if the
profiling can actually be started.
2005-11-01 Soeren Sandmann <sandmann@redhat.com>
* sysprof.c (on_start_toggled): Update GUI after showing error
message.
* sysprof.glade: Rename File menu Profiler, move
Start/Profile/Reset here, delete View menu.
Mon Oct 31 23:41:33 2005 Soeren Sandmann <sandmann@redhat.com>
* stackstash.h (struct StackNode): Add "total" field.
* stackstash.c (stack_stash_add_trace): Keep track of the
aggregate size.
* profile.c (profile_get_size): Sum the totals of the siblings
instead of all the children.
* profile.c (build_object_list): Correctly compute obj->self
* profile.c (profile_load): Don't ignore the node->total field.
* profile.c (serialize_call_tree): Save node->total instead of the
computed total
* profile.c (compute_total): Use n->total instead of computing it
from scratch.
* profile.c: Remove unused sum_children() function.
* TODO: Updates
* process.c (process_get_from_pid): Plug leak.
Mon Oct 31 21:36:37 2005 Søren Sandmann <sandmann@redhat.com>
* sysprof.c (fill_main_list): free the profile objects.
* sysprof.c (struct Application): Remove unused variable.
Mon Oct 31 00:22:58 2005 Soeren Sandmann <sandmann@redhat.com>
* sysprof.c (set_application_title): Use APPLICATION_NAME macro
* sysprof.c (load_file): Don't leak the FileOpenData
* TODO: updates
2005-10-30 Soren Sandmann <sandmann@redhat.com>
* configure.ac, Makefile.am: Don't link sysprof-text to gtk+.
2005-10-30 Soren Sandmann <sandmann@redhat.com>
* Merge stackstash-reorg branch into HEAD
2005-10-30 Soren Sandmann <sandmann@redhat.com>
* Makefile.am, sysprof.c, sysprof-text.c, collector.[ch]: Rename
profiler -> collector
2005-10-30 Soren Sandmann <sandmann@redhat.com>
* profile.c (profile_load): Reenable loading.
2005-10-30 Soren Sandmann <sandmann@redhat.com>
* profile.c (profile_save): Reenable saving.
Sat Oct 29 21:37:42 2005 Soeren Sandmann <sandmann@redhat.com>
* stackstash.c (stack_stash_foreach): Rename
stack_stash_foreach_reversed() to stack_stash_foreach(). Delete
the old, unused stack_stash_foreach().
* stackstash.h: Remove stack_stash_foreach_reversed().
* profiler.c: Use new name.
Sat Oct 29 18:37:37 2005 Søren Sandmann <sandmann@redhat.com>
* TODO: Updates
Sat Oct 29 17:38:01 2005 Søren Sandmann <sandmann@redhat.com>
* stackstash.[ch]: Add stack_stash_get_root().
* profile.c (profile_get_size): Make this function work again.
Sat Oct 29 16:58:22 2005 Søren Sandmann <sandmann@redhat.com>
* profile.c: Delete all the obsolete stuff related to call tree.
* TODO: update
Sat Oct 29 16:52:32 2005 Søren Sandmann <sandmann@redhat.com>
* TODO: Updates
* profile.c: Comment out a lot of unused stuff. Also temporarily
comment out loading and saving.
Sat Oct 29 16:45:34 2005 Søren Sandmann <sandmann@redhat.com>
* profile.c (compute_total): New function.
* profile.c (profile_list_callers): Port this function over to use
StackNodes instead.
Sat Oct 29 16:22:28 2005 Søren Sandmann <sandmann@redhat.com>
* profile.c (build_object_list): Make this function allocate
the ProfileObjects.
* stackstash.[ch]: Add stack_stash_foreach_by_address()
* profile.c (profile_get_objects): Use it here to reimplement
profile_get_objects() in terms of the stackstash.
Sat Oct 29 15:33:07 2005 Søren Sandmann <sandmann@redhat.com>
* profile.c (profile_new): Add stash field to profile.
* stackstash.[ch]: Add stack_node_list_leaves();
* profile.c (profile_create_descendants): Port this function over
to use StackNodes instead.
Sat Oct 29 14:43:00 2005 Søren Sandmann <sandmann@redhat.com>
Fix crash pointed reported by Rudi Chiarito.
* stackstash.c (stack_stash_add_trace): Just return if
n_addrs is 0.
* sysprof.c (on_read): Only trace if n_addresses != 0.
Sat Oct 29 03:47:03 2005 Soeren Sandmann <sandmann@redhat.com>
* profile.[ch], sysprof.c: Get rid of ProfileObject for callers
and descendants.
* TODO: updates.
Sat Oct 29 02:57:34 2005 Soeren Sandmann <sandmann@redhat.com>
* stackstash.[ch]: Export the StackNode struct, add new
nodes_by_data hashtable to StackStash object, keep track of
whether objects are toplevels.
* TODO: some updates.
Sat Oct 29 14:29:55 2005 Søren Sandmann <sandmann@redhat.com>
* README, TODO: updates
Fri Oct 14 11:44:43 2005 Søren Sandmann <sandmann@redhat.com>
* configure.ac: Add a warning about known bugs in the kernel
module in this branch.
* TODO: updates.
Tue Oct 11 22:40:24 2005 Soeren Sandmann <sandmann@redhat.com>
* module/sysprof-module.c (SAMPLES_PER_SECOND): Add back these
constants, but this time make sure we won't divide by 0 or
anything like that.
Mon Oct 10 22:50:57 2005 Soeren Sandmann <sandmann@redhat.com>
* Merge in changes from HEAD
Thu Oct 6 22:28:39 2005 Soeren Sandmann <sandmann@redhat.com>
* stackstash.c (do_callback): Call stack func if node->size > 0,
not if node->children != NULL
* stackstash.c (do_reversed_callback): same
* profile.c (generate_presentation_name): Delete this function
* profile.c (generate_key): Delete this function.
Wed Oct 5 23:57:08 2005 Soeren Sandmann <sandmann@redhat.com>
* TODO: Updates
* profile.c (generate_call_tree): Delete all the process stuff
* profile.c (node_add_trace): Delete process argument
* profile.c (lookup_profile_object): Don't generate a string key,
just use the address directly.
* profile.c (ensure_profile_object): Use the address as
presentation name.
* profiler.c (profiler_create_profile): Pass in the resolved
stash.
Sun Oct 2 21:08:16 2005 Soeren Sandmann <sandmann@redhat.com>
* sysprof.c (on_delete): Work around glib bug 317775
* sysprof-text.c (signal_handler): Work around glib bug 317775
Sun Oct 2 16:31:37 2005 Soeren Sandmann <sandmann@redhat.com>
* stackstash.c (stack_stash_foreach_reversed): Add this function
* process.c: Add a per-process undefined symbol.
* profiler.c (resolve_symbols): Add code to do symbol resolution
here.
* TODO: Updates
Sat Oct 1 18:32:52 2005 Soeren Sandmann <sandmann@redhat.com>
* profile.h, sysprof.c: Remove some unnecessary includes.
Sat Oct 1 18:12:44 2005 Soeren Sandmann <sandmann@redhat.com>
* profiler.[ch]: Add profiler_get_n_samples(); add unused
empty_file_descriptor()
* profile.h: Add include guards
* process.[ch]: Delete process_flush_caches();
* helper.[ch]: Remove these files
* sysprof.c: Use the new profiler class.
* sysprof-text.c: Use the new profiler class
* Makefile.am: Various cleanups.
Sat Oct 1 17:05:43 2005 Soeren Sandmann <sandmann@redhat.com>
* profiler.[ch]: New files containing a profiler class with code
that can be shared between gui and command line.
* sysprof.c (main): Remove some commented out code
* stackstash.c (do_callback): Store the trace on the stack instead
of allocating it dynamically.
Sat Oct 1 01:50:15 2005 Soeren Sandmann <sandmann@redhat.com>
* stackstash.c (sstack_stash_add_trace): Simplify this function a
lot.
* helper.c: Include "process.h"
Sat Oct 1 01:29:06 2005 Soeren Sandmann <sandmann@redhat.com>
* profile.c (generate_object_table, generate_call_tree): Don't
take the process as an argument. Instead dig it out of the
stacktrace.
* helper.c (add_trace_to_stash): New file, that adds a stacktrace
and a process to a stackstash.
* stackstash.[ch]: Remove all traces of the concept of
Process. Simplify stack_node_add_trace() somewhat.
Mon Oct 10 22:49:03 2005 Soeren Sandmann <sandmann@redhat.com>
* module/sysprof-module.c: Delete lots of commented-out code.
Mon Oct 10 14:33:50 2005 Søren Sandmann <sandmann@redhat.com>
* configure.ac: Add --disable-kernel-module option. Patch from
Pascal Terjan.
Mon Oct 10 13:00:20 2005 Robert Love <rml@novell.com>
* module/sysprof-module.c: Don't use INTERVAL or SAMPLES_PER_SECOND
now that we use register_timer_hook(), which hits off the timer
interrupt at HZ freqency (1/250 second on x86).
Sat Oct 1 01:21:57 2005 Soeren Sandmann <sandmann@redhat.com>
* TODO: Update
Wed Sep 28 12:08:32 2005 Søren Sandmann <sandmann@redhat.com>
* sysprof-text.c: Add my name to the copyright statement
Tue Sep 27 01:33:33 2005 Soeren Sandmann <sandmann@redhat.com>
* process.c (process_lookup_symbol): If the address is 0x01, treat
as kernel, regardless of whether we have a map for that address or
not.
* module/sysprof-module.c (timer_notify): Take a stack trace of
the current process, even when we are in kernel mode. This way we
can assign kernel activity to individual user space stacktraces.
* TODO: updates.
Sat Sep 24 14:41:23 2005 Soeren Sandmann <sandmann@redhat.com>
* configure.ac: Bump version number to 1.1.0
* signal-handler.c: Many, mostly cosmetic, cleanups
* sysprof-text.c: uninstall signal handlers when exiting
Sat Sep 24 00:01:42 2005 Soeren Sandmann <sandmann@redhat.com>
* Nakefile.am, sysprof-text.c: New non-GUI version, written
by Lorenzo Colitti, with some changes by me.
* signal-handler.[ch]: New files that provide a way to get UNIX
signals into a glib main loop.
* README: add Lorenzo to credits
Fri Sep 23 20:46:40 2005 Soeren Sandmann <sandmann@redhat.com>
* sysprof.c (build_gui): If the glade file doesn't exists pop up
an alert suggesting running 'make install'
* sysprof.c: Remove some commented out code
Sat Sep 17 14:35:32 2005 Soeren Sandmann <sandmann@redhat.com>
* Release 1.0 (this comment was added post facto)
* Bump version numbers
* README: update
* TODO: Updates
Sun Sep 4 19:38:51 2005 Soeren Sandmann <sandmann@redhat.com>
* TODO: Updates
Tue Aug 30 16:57:33 2005 Søren Sandmann <sandmann@redhat.com>
* configure.ac: Complain if we can't find /lib/modules/`uname
-r`/build/Makefile.
* process.c (process_lookup_symbol): Take an address of 0x1 to
mean "in kernel".
* module/sysprof-module.c (timer_notify): When reporting in-kernel
time, give the current pid instead of -1.
* TODO: updates
Mon Aug 15 20:39:11 2005 Soeren Sandmann <sandmann@redhat.com>
* binfile.c, process.c, profile.c: Fix some warnings.
Mon Aug 1 23:49:51 2005 Soeren Sandmann <sandmann@redhat.com>
* module/sysprof-module.c (REG_INS_PTR): Add support for
amd64/x86-64. Patch from Mike Frysinger.
Sun Jul 10 10:51:52 2005 Soeren Sandmann <sandmann@redhat.com>
* binfile.c: Various minor clean-ups
Sat Jul 9 23:20:39 2005 Soeren Sandmann <sandmann@redhat.com>
* binfile.c (bin_file_new): Cache BinFiles by filename.
* stackstash.c (stack_stash_free): Plug leak
* process.c (process_free_maps): Plug leak
* module/Makefile (install): Check that depmod exists before
running it.
Sun Jun 19 15:42:34 2005 Søren Sandmann <sandmann@redhat.com>
* module/sysprof-module.c (SAMPLES_PER_SECOND): Set to 200.
* sysprof.c (on_about_activated): Add version information
* configure.ac: Bump version to 0.91
* README: Updates
Sat Jun 18 22:45:04 2005 Søren Sandmann <sandmann@redhat.com>
* TODO: Updates
* configure.ac: Check for Linux 2.6.11
* process.c (get_pidname): Present pid=-1 as [kernel].
* module/sysprof-module.c: Use register_timer_hook() instead of
a kernel timer. Set trace.pid to -1 if interrupt happens in
kernel.
Sun Jun 12 20:30:37 2005 Soeren Sandmann <sandmann@redhat.com>
* sysprof.c (build_gui): Disable type-ahead search for all the
tree views.
* sysprof.c (on_object_selection_changed): Call it from here
* sysprof.c (expand_descendants_tree): New function that
determines what nodes to expand in the descendatns view.
Sun Jun 12 13:37:15 2005 Soeren Sandmann <sandmann@redhat.com>
* TODO: Updates
Thu Jun 9 13:28:33 2005 Søren Sandmann <sandmann@redhat.com>
* TODO: Updates
Thu May 26 01:10:45 2005 Soeren Sandmann <sandmann@redhat.com>
* sysprof.c (on_callers_row_activated): Grab focus on the callers
view, not the descendants view.
* sysprof.c (on_read): Add a short "dead" period after a reset,
so that 'samples' will actually be 0 for a while.
Mon May 23 01:37:26 2005 Soeren Sandmann <sandmann@redhat.com>
* README: Remove comment about auto* stuff, link to
http://www.daimi.au.dk/~sandmann/sysprof/
Sun May 23 16:10:00 2005 Soeren Sandmann <sandmann@redhat.com>
-=-=-=-=-=- Release v. 0.9 -=-=-=-=-=-
Sun May 22 21:06:36 2005 Soeren Sandmann <sandmann@redhat.com>
* TODO: Updates
Sat May 21 20:58:59 2005 Soeren Sandmann <sandmann@redhat.com>
* TODO: update
* sysprof.c (on_menu_item_activated): New function.
* sysprof.c (build_gui): Hook up menu items.
* module/sysprof-module.c (init_module): Remove module_init/exit
as they cause build failure on kernels < 2.6.11.
Sat May 21 00:59:38 2005 Søren Sandmann <sandmann@redhat.com>
* TODO: update
Wed May 18 22:21:52 2005 Søren Sandmann <sandmann@redhat.com>
* module/sysprof-module.c: Remove ref-counting since it didn't
actually do any good.
* sysprof.c (load_module): Use g_spawn_command_line_sync() instaed
of system().
Sun May 15 11:56:30 2005 Søren Sandmann <sandmann@redhat.com>
* module/sysprof-module.c: First attempt at making module robust
agains unloading when in use.
Sun May 15 10:24:09 2005 Soeren Sandmann <sandmann@redhat.com>
* Makefile.am, module/Makefile: Do more-or-less what the automake
manual suggests about foreign subdirectories.
Sat May 14 16:36:32 2005 Søren Sandmann <sandmann@redhat.com>
* sysprof.c (set_application_title): Update the title bar on
load/save
* treeviewutils.c, sfile.c: Fix compiler warnings
* Makefile.am: define PIXMAPDIR
Sat May 14 15:49:52 2005 Søren Sandmann <sandmann@redhat.com>
Auto*ify.
* TODO: updates
* AUTHORS, INSTALL, Makefile.am, NEWS, configure.ac: New files
* module/Makefile: New file
* module/sysprof-module.c, module/sysprof-module.h: Move these
files to their own directy, as the kernel build system does not
work very well with auto*.
* sysprof.c, autogen.sh: Some auto* changes.
Sun May 8 16:31:32 2005 Søren Sandmann <sandmann@redhat.com>
* TODO: more updates
* sysprof.c: Try loading the module before complaining
Sun May 8 15:45:08 2005 Søren Sandmann <sandmann@redhat.com>
* sysprof-module.c (do_generate): Restore lost wake_up().
* sfile.c: Comment out use of bz2.
* Makefile: Add an install target. Add GLADE_DIR and PIXMAP_DIR
* sysprof.c (build_gui): use GLADE_DIR and PIXMAP_DIR here.
* TODO: Updates.
Sat May 7 13:57:17 2005 Søren Sandmann <sandmann@redhat.com>
* sfile.c (sfile_output_free): Implement this function
* sfile.c (sfile_input_free): Implement this function
Fri May 6 23:38:48 2005 Søren Sandmann <sandmann@redhat.com>
* sysprof-module.c (do_generate): Another desparate hack to try
and prevent the oops.
Sat Apr 30 16:57:23 2005 Soeren Sandmann <sandmann@redhat.com>
* process.c (PAGE_SIZE): Use getpagesize()
* TODO: More updates
Sat Apr 30 15:44:12 2005 Søren Sandmann <sandmann@redhat.com>
* TODO: Updates
* sysprof-module.c (get_regs): Change the way we get registers for
a task so that it works with 2.6.11
Sat Apr 23 19:17:18 2005 Søren Sandmann <sandmann@redhat.com>
* TODO: Updates
Sat Apr 23 19:12:52 2005 Søren Sandmann <sandmann@redhat.com>
* profile.c: Store a pointer to the root of the call tree
* profile.c (profile_load): Call sfile_input_free()
* sfile.c (sformat_free): Implement this function
Sat Apr 23 18:38:46 2005 Søren Sandmann <sandmann@redhat.com>
* sfile.c (post_process_read_instructions): Check pointer types
* sfile.c (post_process_instructions_recurse): Delete this unused function
Sat Apr 23 17:49:33 2005 Søren Sandmann <sandmann@redhat.com>
* sysprof-module.c (page_readable): New function to check if the
page is readable before reading. Noop on kernel <= 2.6.11
* sysprof-module.c (get_mm, put_mm): New functions to confine
#ifdefs.
Sat Apr 23 17:48:22 2005 Søren Sandmann <sandmann@redhat.com>
* Makefile (MODCFLAGS): Disable optimization as I suspect
the oops is related to miscompilation.
Fri Apr 22 00:09:16 2005 Soeren Sandmann <sandmann@redhat.com>
* sysprof-module.c (read_user_space): On >= 2.6.11 check that the
pages are present and readable before reading them.
Tue Apr 19 23:26:45 2005 Kristian Høgsberg <krh@bitplanet.net>
* Makefile (check): Add simple check target that runs a sanity
check of the build environment.
Sun Apr 17 00:20:41 2005 Soeren Sandmann <sandmann@redhat.com>
* sysprof.c (on_open_clicked): Factor out some stuff in their own
functions.
* sysprof.c (load_file): Idle handler to load files given on the
command line.
* sysprof.c (main): If a filename is passed on the command line,
load it in an idle handler.
Sun Apr 17 00:19:03 2005 Soeren Sandmann <sandmann@redhat.com>
* TODO: Updates
Sat Apr 16 19:51:48 2005 Soeren Sandmann <sandmann@redhat.com>
* sysprof-module.c (read_user_space): Read a whole page at a time.
Sat Apr 16 14:15:55 2005 Soeren Sandmann <sandmann@redhat.com>
* TODO: Update
* sysprof-module.c (x_access_process_vm): On kernel 2.6.9 and
later use get_task_mm()/mmput() instead of directly accessing
task->mm.
Sat Apr 16 01:54:18 2005 Søren Sandmann <sandmann@redhat.com>
* TODO: Add backtrace for kernel oops.
Fri Apr 15 16:37:45 2005 Soeren Sandmann <sandmann@redhat.com>
* TODO: updates
* sysprof.c (sorry): If you hit profile when the module isn't
loaded, pop up an annoying dialog.
* sysprof-module.c: Clean-ups, remove various unused abstractions.
Sat Apr 9 17:49:13 2005 Søren Sandmann <sandmann@redhat.com>
* COPYING: Add a copy of the GPL
Sat Apr 9 17:04:50 2005 Søren Sandmann <sandmann@redhat.com>
* Makefile: Remove debug spew
* *: Add copyright notices
Fri Apr 8 21:30:02 2005 Søren Sandmann <sandmann@redhat.com>
* TODO: More updates
Fri Apr 8 20:48:58 2005 Søren Sandmann <sandmann@redhat.com>
* sysprof.c (build_gui): Load the icon, hook up "about"
activation.
* sysprof.c (on_about_activated): New function. Show an about
dialog.
* sysprof.c (struct Application): Add an icon field
* TODO: Updates
* sysprof-icon.png: Icon, drawn by Diana Fong
Tue Apr 5 23:01:02 2005 Søren Sandmann <sandmann@redhat.com>
* binfile.c (read_symbols): Put back the weird loop, and stop
pretending I understand this. This time use SEC_ALLOC instead of
SEC_LOAD.
Tue Apr 5 20:13:44 2005 Søren Sandmann <sandmann@redhat.com>
* process.c (process_ensure_map): Add commented out debug spew.
* process.c (process_lookup_symbol): Remove all should_offset()
function and all references to it.
* binfile.c (bin_file_lookup_symbol): Document that address must
be in file coordinates.
* binfile.c (read_symbols): Remove misguided code that tried to
guess the load address of the file. Instead, do all computations
in "file coordinates". Also fix a memory leak. Add commented out
debug spew.
* binfile.c (separate_debug_file_exists): Fix signedness
Tue Apr 5 14:34:43 2005 Søren Sandmann <sandmann@redhat.com>
* sysprof-module.c (x_access_process_vm): Make it compile with
kernel 2.6.11
* TODO: updates
Mon Apr 4 00:57:11 2005 Soeren Sandmann <sandmann@redhat.com>
* sysprof.c: Busy cursors in many more places.
* TODO: updates
Sun Apr 3 23:28:45 2005 Soeren Sandmann <sandmann@redhat.com>
* sysprof-module.c (do_generate): Re-schedule the timeout here
instead of in on_timer().
* sysprof-module.c (on_timer): Only block tasks in the
TASK_RUNNING state.
Sun Apr 3 17:03:33 2005 Soeren Sandmann <sandmann@redhat.com>
* sysprof-module.c (queue_generate_stack_trace): Put current
process to sleep.
* sysprof-module.c (do_generate): Wake up the traced process
Thu Mar 31 23:09:09 2005 Soeren Sandmann <sandmann@redhat.com>
* sysprof.c (build_gui): Remove stray %
Thu Mar 31 21:18:13 2005 Søren Sandmann <sandmann@redhat.com>
* treeviewutils.c (add_double_format_column): Right justify numbers
* sysprof.c (build_gui): Add a space after the numbers
* sysprof.c (on_callers_row_activated): Focus object view
* sysprof.c (on_descendants_row_activated): Focus new descendants
tree.
Thu Mar 31 19:51:51 2005 Søren Sandmann <sandmann@redhat.com>
* sysprof-module.c (do_generate): Walk all threads, not just all
processes.
* TODO: Add disk profiling ideas
Thu Mar 31 00:19:47 2005 Soeren Sandmann <sandmann@redhat.com>
* sysprof.c (set_busy): Make this function work
* sysprof.c (on_profile_toggled): Use it here
* sysprof.c (on_object_selection_changed): And here
* profile.c (add_trace_to_tree): Use GPtrArrays instead of
GHashTable and GList.
Mon Mar 28 11:09:02 2005 Soeren Sandmann <sandmann@redhat.com>
* TODO: updates
Sat Mar 26 19:26:52 2005 Søren Sandmann <sandmann@redhat.com>
* sysprof.c: Show the right number of samples afte Open; remove
shadows from menu bars and toolbars; some other tweaks.
Sat Mar 26 11:26:00 2005 Soeren Sandmann <sandmann@redhat.com>
* TODO: Updates
* sfile.c (add_string): Use g_markup_escape_text() to escape the
string before adding it to the file.
* sysprof.c (empty_file_descriptor): New function to make sure
samples generated before profiling started are ignored.
(set_busy): New commented out function to set a busy cursor.
Fri Mar 25 21:31:08 2005 Søren Sandmann <sandmann@redhat.com>
* sysprof.c (update_sensitivity): Comment out sensitivity of reset button.
Fri Mar 25 21:25:31 2005 Søren Sandmann <sandmann@redhat.com>
* sysprof.c (get_current_object): Return NULL if nothing is
selected.
Fri Mar 25 20:54:08 2005 Søren Sandmann <sandmann@redhat.com>
* TODO: More updates
Fri Mar 25 20:25:44 2005 Søren Sandmann <sandmann@redhat.com>
* README: Require gtk+ 2.6
* treeviewutils.c (add_plain_text_column): Ellipsisize text columns.
Fri Mar 25 19:39:24 2005 Søren Sandmann <sandmann@redhat.com>
* TODO: Remove "loading and saving"
* sysprof.glade: Add ellipsises to Open and Save menu items.
* sysprof.c (overwrite_file): Add this function, cutted-and-pasted
from evince.
* sysprof.c (on_save_as_clicked, on_open_clicked): Use
GtkFileChoosers to pick the names.
* sysprof.c: Various GUI updates.
Fri Mar 25 19:36:28 2005 Søren Sandmann <sandmann@redhat.com>
* sfile.c (bz2_compress): Add this function Don't actually make
any produce use of it.
* profile.c (make_hash_table): Get rid of warning
Thu Mar 24 19:09:33 2005 Søren Sandmann <sandmann@redhat.com>
* sysprof.c: Various GUI updates
* TODO: update
* sfile.[ch] (sformat_new_optional): Add some notes about an
"optional" construction.
Wed Mar 23 00:04:07 2005 Soeren Sandmann <sandmann@redhat.com>
Primitive loading and saving.
* sysprof.c (on_open_clicked): Hook up loading.
* sfile.c: Add a copy of g_file_replace() from glib CVS HEAD.
* sfile.c (add_string): Escape and quote the string
* sfile.c (sfile_load): Initialize current_instruction and
instructions_by_location
* sfile.c (post_process_instructions_recurse): Handle NULL
pointers properly.
* sfile.c (handle_begin_element, handle_end_element, handle_text):
Move error handling here from state_transition_begin/text/end.
* sfile.c (handle_text): Discard whitespace-only strings
* sfile.c (sfile_get_pointer, sfile_get_integer,
sfile_get_string): expect both begin, value, and end transitions.
* sfile.c (hook_up_pointers): Only treat instructions as pointer
values when they are. Handle NULL targets properly.
* sfile.c (get_number): Fix a few read-freed-data bugs
* profile.c (profile_load): Call sfile_end_get() for the profile;
build the nodes_by_objects hash table. Build the call tree.
* profile.c (create_format): Don't store next pointer, but do
store total, self and toplevel.
* profile.c (make_hash_table): New function to build
nodes_by_object hashtable from loaded data
Sat Mar 12 11:05:19 2005 Soeren Sandmann <sandmann@redhat.com>
* sysprof-module.c: Fix small bug in add_timeout()
* sysprof.c (build_gui): More descriptive tree labels
* TODO: update
Thu Mar 10 16:37:52 2005 Søren Sandmann <sandmann@redhat.com>
* sysprof.c (build_gui): s/Cummulative/Cumulative/. Pointed out by
Ian McIntosh.
Mon Mar 7 14:47:09 2005 Søren Sandmann <sandmann@redhat.com>
* README: Add note that you need to compile the module with
the same compiler that compiled the kernel.
Sun Mar 6 22:56:21 2005 Soeren Sandmann <sandmann@redhat.com>
* sfile.c: Generate id's for objects and pointers.
Sat Mar 5 01:09:33 2005 Soeren Sandmann <sandmann@redhat.com>
* sfile.c: Bug fixes. Add actual generation.
Fri Mar 4 13:47:13 2005 Søren Sandmann <sandmann@redhat.com>
* sysprof.c: Remove include of non-existing tracing.h
Thu Mar 3 23:48:13 2005 Soeren Sandmann <sandmann@redhat.com>
* profile.c (profile_load): Write this function.
* sfile.c: Add support for user defined record and list types.
Simplify logic a lot.
Wed Mar 2 23:39:50 2005 Soeren Sandmann <sandmann@redhat.com>
* profile.[ch], sfile.[ch]: Experiment with a
file-format-description format.
* sysprof.c: Add commented out code using /proc/ based
timeout.
Fri Jan 21 11:23:54 2005 Søren Sandmann <sandmann@redhat.com>
* README: Some updates - add note about SMP kernels.
* sysprof-module.c: Go back to just sampling the current
process.
* ChangeLog: I guess these do make sense, so start one.