summaryrefslogtreecommitdiff
path: root/stackstash.c
AgeCommit message (Collapse)AuthorFilesLines
2007-11-16UpdatesSoren Sandmann1-72/+86
2007-11-16 Soren Sandmann <sandmann@daimi.au.dk> * TODO: Updates * process.c (process_locate_map): Move map to front * profile.c (profile_load): Ignore the toplevel field in the file since we can compute it ourselves. * stackstash.c (stack_stash_decorate): New function * stackstash.c (stack_stash_add_trace): Decorate the tree lazily instead of on each sample. svn path=/trunk/; revision=387
2007-10-20Call callback with an extra boolean indicating whether the sample read wasSoren Sandmann1-4/+12
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
2006-11-22Move match to front (add_trace_to_tree): Break as soon as a recursive callSoren Sandmann1-10/+15
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-20reset the collector after generating the profile.Soren Sandmann1-41/+63
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-20Use stack_node_new() o (profile_load): Use set_root() instead ofSoren Sandmann1-9/+7
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-08-12Make n_samples per-cpu. Add an atomic variable in_timer_notify and use itSøren Sandmann1-1/+1
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-07-31Add a destroy notifier to StackStashSoren Sandmann1-9/+30
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-03-28New files containing a simplified and sanitized version of the stateSoeren Sandmann1-0/+2
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-12updatesSoren Sandmann1-9/+29
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
2005-11-08Add beginning of a screenshot window.Soeren Sandmann1-13/+1
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-06Make these function call back with GLists rather than GSLists.Soeren Sandmann1-4/+8
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-06Turn this function into a StackFunction.Soeren Sandmann1-35/+14
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-05Use callbacks from stackstash.Soeren Sandmann1-0/+36
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-01Add "total" field.Soeren Sandmann1-1/+4
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-10-30Merge stackstash-reorg branch into HEADSoren Sandmann1-112/+151
2005-10-30 Soren Sandmann <sandmann@redhat.com> * Merge stackstash-reorg branch into HEAD
2005-10-29Fix crash pointed reported by Rudi Chiarito.Søren Sandmann1-0/+3
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-01Revert accidental commit of stackstash reorganisationSøren Sandmann Pedersen1-21/+59
2005-10-01UpdateSoeren Sandmann1-59/+21
Sat Oct 1 01:21:57 2005 Soeren Sandmann <sandmann@redhat.com> * TODO: Update
2005-07-10Cache BinFiles by filename.Soeren Sandmann1-0/+1
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-04-09Remove debug spewSøren Sandmann1-0/+19
Sat Apr 9 17:04:50 2005 Søren Sandmann <sandmann@redhat.com> * Makefile: Remove debug spew * *: Add copyright notices
2004-04-27Initial revisionSøren Sandmann Pedersen1-0/+195