2007-08-26 Soren Sandmann <sandmann@daimi.au.dk>
* profile.c (profile_get_size): Compute the size by simply summing
the size of the siblings. They are toplevel by definition, and
this works if the siblings for some reason has the same address.
svn path=/trunk/; revision=371
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
2006-11-22 Soren Sandmann <sandmann@daimi.au.dk>
* profile.c (add_trace_to_tree): Move match to front
(add_trace_to_tree): Break as soon as a recursive call is found.
* stackstash.c (do_callback): Manual tail call optimization.
2006-11-19 Soren Sandmann <sandmann@redhat.com>
* profile.c (profile_load): Use stack allocated variables to avoid
taking addresses of bitfields.
* stackstash.h (struct StackNode): Store toplevel as bitfield
2006-11-19 Soren Sandmann <sandmann@redhat.com>
* profile.c (profile_load): Use stack_node_new() o
(profile_load): Use set_root() instead of new_from_root();
* stackstash.c (stack_stash_new_from_root): Delete this function
(stack_stash_set_root): Add this function
(stack_node_new): Export this function
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.
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.
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.
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.
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 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
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.
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
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
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.
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.
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
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.