Commit Graph

19 Commits

Author SHA1 Message Date
d3c0e7be5c Move match to front (add_trace_to_tree): Break as soon as a recursive call
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-22 07:06:04 +00:00
d1a082ffec reset the collector after generating the profile.
2006-11-20  Soren Sandmann <sandmann@daimi.au.dk>

        * sysprof.c (ensure_profile): reset the collector after generating
        the profile.

        * stackstash.c (struct StackStash): Add cached_nodes and blocks.
        (stack_node_new): Allocate stack nodes in blocks.
2006-11-20 07:25:02 +00:00
0b718ee95c Use stack_node_new() o (profile_load): Use set_root() instead of
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-11-20 04:08:01 +00:00
c2f754dfb6 Make n_samples per-cpu. Add an atomic variable in_timer_notify and use it
Sat Aug 12 16:13:05 2006  Søren Sandmann  <sandmann@redhat.com>

	* module/sysprof-module.c: Make n_samples per-cpu. Add an atomic
	variable in_timer_notify and use it to lock out simultaneous timer
	interrupts.

	* stackstash.c (decorate_node): Make decorate_node() static

	* TODO
2006-08-12 20:15:52 +00:00
d43cdf3c14 Add a destroy notifier to StackStash
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-31 04:50:34 +00:00
6534ca13c0 New files containing a simplified and sanitized version of the state
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.
2006-03-28 03:02:21 +00:00
9859854cc1 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-12 04:00:23 +00:00
00244118a2 Add beginning of a screenshot window.
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
2005-11-08 04:32:19 +00:00
64b2627c4a Make these function call back with GLists rather than GSLists.
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.
2005-11-06 23:27:17 +00:00
c1bfbbf9b8 Turn this function into a StackFunction.
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().
2005-11-06 22:10:30 +00:00
c0aed2a4de Use callbacks from stackstash.
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
2005-11-05 22:57:09 +00:00
c778a1b1ec Add "total" field.
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.
2005-11-01 04:37:16 +00:00
dff4affaab Merge stackstash-reorg branch into HEAD
2005-10-30  Soren Sandmann <sandmann@redhat.com>

	* Merge stackstash-reorg branch into HEAD
2005-10-30 20:14:31 +00:00
ba8f13a606 Fix crash pointed reported by Rudi Chiarito.
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.
2005-10-29 18:50:11 +00:00
f7e888e574 Revert accidental commit of stackstash reorganisation 2005-10-01 05:23:58 +00:00
cc1055d105 Update
Sat Oct  1 01:21:57 2005  Soeren Sandmann  <sandmann@redhat.com>

        * TODO: Update
2005-10-01 05:21:25 +00:00
f3b78b7944 Cache BinFiles by filename.
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.
2005-07-10 03:28:35 +00:00
b3c466debf Remove debug spew
Sat Apr  9 17:04:50 2005  Søren Sandmann  <sandmann@redhat.com>

	* Makefile: Remove debug spew

	* *: Add copyright notices
2005-04-09 21:17:24 +00:00
43dddf31ac Initial revision 2004-04-27 11:08:55 +00:00