1 2006-10-26 Soren Sandmann <sandmann@daimi.au.dk>
3 * collector.c (resolve_symbols): Combine processes with identical
6 2006-10-25 Soren Sandmann <sandmann@daimi.au.dk>
8 * profile.c (add_trace_to_tree): Make the pointer array static to
9 improve cache behavior and reduce calls to malloc().
11 * process.c (lookup_kernel_symbol): Remove obsolete comment.
13 2006-10-25 Soren Sandmann <sandmann@daimi.au.dk>
15 * process.c (free_maps): Take a pointer to a variable that will be
18 * process.c: Stop coalescing processes with the same cmdline.
22 2006-10-24 Soren Sandmann <sandmann@daimi.au.dk>
24 * process.c (page_size): replace PAGE_SIZE macro with this function.
26 * binfile.c: Remove obsolete comment.
28 2006-10-24 Soren Sandmann <sandmann@daimi.au.dk>
30 * process.c (struct Process): Use an array instead of list of
33 2006-10-23 Soren Sandmann <sandmann@daimi.au.dk>
35 * module/sysprof-module.c (init_module): Use PAGE_SIZE - 1 instead
38 2006-10-22 Soren Sandmann <sandmann@daimi.au.dk>
40 Communicate traces to userspace through shared memory instead of
43 * module/sysprof-module.c: Store the traces in a SysprofMmapArea.
44 (sysprof_mmap): Implement this method.
45 (sysprof_nopage): Implement this.
46 (sysprof_read): Just reset the tail pointer and return zero.
48 * module/sysprof-module.h (struct SysprofMmapArea): New
51 * collector.c (collector_stop): Unmap the device
52 (in_dead_period): New function
53 (on_read): Read the traces out of mmap()ed area instead of reading
54 them. Call read() to prevent poll() from firing.
55 (struct Collector): New members map_area and current.
57 * Makefile.am (insert-module): Prefix modprobe with /sbin
59 * collector.c (open_fd): mmap() the sysprof device.
61 2006-10-11 Soren Sandmann <sandmann@daimi.au.dk>
63 * profile.c (profile_list_callers): Skip nodes that don't have a
66 2006-10-09 Soren Sandmann <sandmann@daimi.au.dk>
68 * profile.c (profile_list_callers): Make this function return a
69 list of immediate callers again.
71 * sysprof.c (build_gui): Change label back to "Callers"
73 * process.c (get_kernel_symbols): Only attempt to read the kernel
76 2006-10-09 Soren Sandmann <sandmann@redhat.com>
78 * binfile.c (bin_file_get_inode): Remove this function
80 * binfile.c (bin_file_check_inode): New function. Only print inode
81 warning once per BinFile.
83 * process.c (process_get_vdso_bytes): Remove debug spew
85 2006-10-09 Soren Sandmann <ssp@localhost.localdomain>
87 * process.c (process_get_vdso_bytes): New function.
89 * elfparser.c (parser_new_from_data): export this function as
90 elf_parser_new_from_data().
92 * binfile.c (read_inode): Don't stat if filename is
93 '[vdso]'. Instead just return -1;
94 (bin_file_new): Use elf_parser_new_from_data() when the file is
97 * process.c (read_maps): Change the offset of the vdso map to 0
100 * elfparser.c (elf_parser_lookup_symbol): Remove unused 'size'
103 * binfile.c (find_separate_debug_file): Deal with cycles in the
106 * configure.ac: Set version to 1.1.0. Print warning about HEAD.
108 2006-10-08 Soren Sandmann <ssp@localhost.localdomain>
110 * binfile.c: Don't include bfd.h
112 2006-10-08 Soren Sandmann <sandmann@redhat.com>
114 * sysprof.c (process_options): New function to support --version option
116 2006-10-08 Soren Sandmann <sandmann@redhat.com>
118 * elfparser.c (struct ElfParser): Add a cache of the text section.
120 * binparser.c (struct BinParser): Add a cache of a bin record to
121 get rid of malloc()/free() overhead.
123 * elfparser.c (struct ElfSym): Cache the size of the symbol
125 2006-10-08 Soren Sandmann <sandmann@redhat.com>
127 * elfparser.c: Remove now unused load-address heuristic
129 * comment out debug spew
131 2006-10-08 Soren Sandmann <sandmann@redhat.com>
133 * elfparser.c (read_symbols): Use "SHT_DYNSYM" for ".dynsym".
135 2006-10-08 Soren Sandmann <sandmann@daimi.au.dk>
137 * binfile.c (find_separate_debug_file): Support _debuglink
140 * elfparser.c: Check that the sections have valid types before
143 2006-10-08 Soren Sandmann <sandmann@daimi.au.dk>
145 * Delete various debug spew
147 2006-10-07 Soren Sandmann <sandmann@daimi.au.dk>
149 Deal with address offsets. Address lookup is now:
151 - First convert the address to an offset into the file
152 - Then convert to an offset into the text segment
153 - Then add the load address of the text segment (found in the
155 - Then finally lookup the result in the symbol table.
157 * elfparser.c (elf_parser_get_text_offset): New function
159 * elfparser.c (elf_parser_lookup_symbol): Treat addresses as
160 offsets into the text segment.
162 * binfile.c (bin_file_new): Store the offset of the text section
163 of the actual binary (not the debug one)
165 (bin_file_lookup_symbol): Subtract text_offset before passing
166 address to elf parser.
168 * module/sysprof-module.c: Remove include of linux/config.h
170 2006-08-27 Soren Sandmann <sandmann@redhat.com>
172 * binparser.c: Remove old commented out code
173 * module/sysprof-module.c: Add commented out code accessing entire
176 2006-08-27 Soren Sandmann <sandmann@redhat.com>
178 * module/Makefile ($(MODULE).o): Add dependency on sysprof-module.h
180 * elfparser.c (elf_parser_get_eh_frame): Add this function.
181 Remove some commented out code.
183 Sat Aug 26 19:05:51 2006 Søren Sandmann <sandmann@redhat.com>
185 * Formatting fixes in header files.
187 2006-08-26 Soren Sandmann <sandmann@daimi.au.dk>
189 * elfparser.c: Update to new API
191 * binparser.h: Delete commented out declarations. Add new
194 * binparser.c: Delete ParserFrame, replace with one current
196 (convert_uint): Make static
197 (bin_parser_get_uint): Delete this function
198 (bin_parser_get_string): Change this function to use current
199 offset instead of frame offset.
200 (bin_parser_goto): New function
201 (bin_parser_align): New function
202 (bin_parser_get_uint32): New function
203 (bin_parser_begin): Delete this function
204 (bin_parser_end): Delete this function
205 (bin_parser_index): Delete this function
206 (bin_record_get_string_indirect): Make this function use _goto()
207 instead of _begin()/_end()
208 (bin_parser_get_offset): Make this function return current offset
210 2006-08-26 Soren Sandmann <sandmann@daimi.au.dk>
212 * binparser.[ch]: Add new struct BinRecord. Comment out functions
213 related to formats. Add new functions to get fields out of
216 * elfparser.c: Update to new API.
218 2006-08-26 Soren Sandmann <sandmann@daimi.au.dk>
220 * binparser.h: Add new bin_record() functions
221 * binparser.c: Implement them.
223 2006-08-22 Soren Sandmann <sandmann@daimi.au.dk>
225 * collector.c (unique_dup): Demangle instead of strdup.
227 2006-08-21 Soren Sandmann <sandmann@redhat.com>
230 (elf_parser_get_sym_name): Rename elf_sym_get_* to
231 elf_parser_get_sym_* and make these functions take a parser.
232 (parser_from_sym): Delete this function.
233 (elf_parser_new): Don't add to all_elf_parsers
234 (elf_parser_free): Don't remove from all_elf_parsers
235 (elf_parser_new): Rename to parser_new_from_file()
236 (elf_parser_new_from_file): Rename to elf_parser_new
238 * binfile.c: Update for new elfparser API
242 2006-08-21 Soren Sandmann <sandmann@redhat.com>
244 * binfile.c (struct BinFile): Add ref_count and filename
245 (bin_files): Add map from filenames to BinFiles
246 (bin_file_new): First look for BinFile in the cache.
247 (bin_file_free): If refcount reaches 0, remove BinFile from cache.
251 2006-08-21 Soren Sandmann <sandmann@redhat.com>
253 * process.c (process_lookup_symbol): Pass map->bin_file to
256 * binfile.h (bin_symbol_get_name): Add BinFile parameter
258 * elfparser.c (elf_demangle): Use options DMGL_PARAMS | DMGL_ANSI
262 * binfile.c: Rewrite this file to use ElfParser instead of libbfd.
264 * configure.ac: Drop dependencies on libbfd and libiberty.
266 2006-08-21 Soren Sandmann <sandmann@redhat.com>
270 * elfparser.c (elf_parser_lookup_symbol): Change sense of size
273 2006-08-20 Soren Sandmann <sandmann@redhat.com>
275 * elfparser.c (elf_parser_get_crc32): Initialize crc to 0xffffffff
276 and invert it before returning.
278 * elfparser.h: Declare elf_parser_get_debug_link()
280 2006-08-20 Soren Sandmann <sandmann@daimi.au.dk>
282 * elfparser.c (elf_parser_get_load_address): Comment out debug spew.
283 (elf_parser_lookup_symbol): Add check that address is actually
284 within the bounds of the found function.
286 2006-08-20 Soren Sandmann <sandmann@daimi.au.dk>
288 * process.h: Make process_lookup_symbol() return a string. Delete
289 process_lookup_symbol_with_filename().
291 * process.c (struct Process): Make "undefined" a string
292 (lookup_kernel_symbol): Return a string
293 (process_lookup_symbol): Return a string, not a symbol
295 * collector.c (unique_dup): Take a string instead of a
297 (lookup_symbol): Make sym a string instead of a Symbol.
299 * binfile.c (bin_symbol_get_name): New function.
301 * binfile.[ch] (struct BinSymbol): Rename Symbol to BinSymbol and
302 make it an opaque structure.
304 * binfile.[ch]: Remove unused symbol operations
306 2006-08-20 Soren Sandmann <sandmann@daimi.au.dk>
308 * elfparser.c (elf_parser_new_from_file): New function
310 2006-08-20 Soren Sandmann <sandmann@daimi.au.dk>
312 * elfparser.c (elf_parser_get_debug_link): New function
314 * elfparser.c: Delete SymbolTable typedef
316 * binparser.[ch] (bin_parser_get_data): New function
317 (bin_parser_get_length): New function
319 * elfparser.[ch] (elf_parser_get_crc32): New function
323 * elfparser.c (elf_parser_lookup_symbol): Offset passed in
324 addresses by the load address.
326 * elfparser.c (elf_parser_get_load_address): New function to
327 compute the load address of the beginning of the file.
329 2006-08-20 Soren Sandmann <sandmann@redhat.com>
331 * elfparser.c (elf_sym_get_name): Read the name out of the file
332 instead of out of the struct.
334 * elfparser.c (struct ElfSym): Store an offset instead of the
337 * elfparser.c (all_elf_parsers): Keep track of all elf parsers
340 2006-08-20 Soren Sandmann <sandmann@redhat.com>
342 * Makefile.am, demangle.c: New file, made out of files from
343 libiberty in binutils.
345 * binfile.c: Use the new sysprof_cplus_demangle() function
347 * elfparser.[ch]: Add code to lookup symbols. Add demangling
350 * testelf.c: Various tests
352 2006-08-19 Soren Sandmann <sandmann@redhat.com>
354 * elfparser.c: Many cleanups.
356 2006-08-16 Soren Sandmann <sandmann@redhat.com>
358 * testelf.c: Really add this file.
360 2006-08-15 Soren Sandmann <sandmann@redhat.com>
362 Add beginning of an ELF parser.
364 * binparser.[ch]: New files
365 * elfparser.[ch]: New files
366 * testelf.c: New file
367 * Makefile.am (testelf_SOURCES): Add new testelf program.
369 Sat Aug 12 16:13:05 2006 Søren Sandmann <sandmann@redhat.com>
371 * module/sysprof-module.c: Make n_samples per-cpu. Add an atomic
372 variable in_timer_notify and use it to lock out simultaneous timer
375 * stackstash.c (decorate_node): Make decorate_node() static
379 Fri Aug 11 11:41:15 2006 Søren Sandmann <sandmann@redhat.com>
383 2006-08-08 Soren Sandmann <ssp@localhost.localdomain>
385 * sysprof.c (main): Make the load_file() idle low priority to
386 avoid weird toolbar flash.
388 * TODO, NEWS, README: updates.
390 2006-07-31 Paolo Borelli <pborelli@katamail.com>
392 * sysprof.c (expand_descendants_tree): small cleanup.
394 2006-07-31 Soren Sandmann <sandmann@redhat.com>
396 * stackstash.[ch]: Add a destroy notifier to StackStash
398 * collector.c (collector_create_profile): Pass g_free as destroy
401 * collector.c (collector_reset): Pass NULL as destroy notifier
403 * profile.c (profile_load): Pass g_free here.
405 * profile.c (struct Profile): Remove unused "Node" typedef
407 * collector.c (resolve_symbols): Free the array here.
409 * TODO: various updates.
411 2006-07-30 Soren Sandmann <sandmann@redhat.com>
413 * signal-handler.c: Simplify this file a bit, and make it not rely
414 on atomic pointer writes.
416 2006-07-18 Bastien Nocera <hadess@hadess.net>
418 * configure.ac: we need at least glib 2.6.0 for the gstdio.h functions
420 2006-06-05 Soren Sandmann <sandmann@redhat.com>
424 Sat Apr 22 15:08:01 2006 Soeren Sandmann <sandmann@redhat.com>
427 * profile.c, sfile.c, sformat.c: Various formatting fixes.
429 Wed Apr 5 11:26:30 2006 Søren Sandmann <sandmann@redhat.com>
433 Mon Mar 27 23:04:30 2006 Soeren Sandmann <sandmann@redhat.com>
437 * sfile.c (handle_{begin,end}_element): Don't generate begin/end
438 instructions for value elements.
440 * sfile.c (build_instructions): Remove debugging spew.
442 Mon Mar 27 21:44:04 2006 Soeren Sandmann <sandmann@redhat.com>
444 * sformat.[ch]: New files containing a simplified and sanitized
445 version of the state machine and type system from sfile.c.
447 * sfile.c: Move the state machine and type management to separate
448 files. Make the amount of memory used during loading and saving
451 * stackstash.c (stack_stash_new_from_root): Make this function
452 store the root again.
454 Mon Mar 27 09:55:01 2006 Søren Sandmann <sandmann@redhat.com>
458 2006-03-11 Soren Sandmann <sandmann@redhat.com>
462 * stackstash.[ch]: Make stackstash refcounted
464 * collector.c, profile.c: Update for refcounted stackstash, plug
467 * collector.c (open_fd): Remove FIXME comment
469 2006-03-05 Soeren Sandmann <sandmann@redhat.com>
471 * sysprof-text.c, collector.c, sysprof.c: Do proper
474 Fri Mar 3 22:28:03 2006 Soeren Sandmann <sandmann@redhat.com>
476 * process.c (process_lookup_symbol): Check that the inodes match.
478 * binfile.c (read_symbols): Read the inode of the file
480 * binfile.c (read_symbols): Close the bfd if the symbol table
483 Thu Mar 2 22:54:37 2006 Soeren Sandmann <sandmann@redhat.com>
485 * treeviewutils.c (tree_view_foreach_visible): Handle NULL models.
487 * sysprof.glade, sysprof.c: Revert back to three pane layout.
489 2006-02-17 Bastien Nocera <hadess@hadess.net>
492 * module/sysprof-module.c: (timer_notify), (sysprof_open),
493 (sysprof_release): more ifdef's to make it work with Red Hat
494 Enterprise Linux 4's 2.6.9-based kernel
496 Sat Feb 4 23:53:05 2006 Søren Sandmann <sandmann@redhat.com>
498 * sysprof.glade: Remove ancestors pane in favor of radiobuttons in
501 * sysprof.c: Corresponding changes.
505 Wed Jan 25 11:24:04 2006 Søren Sandmann <sandmann@redhat.com>
509 Mon Jan 16 11:12:13 2006 Søren Sandmann <sandmann@redhat.com>
513 Sun Jan 15 20:22:20 2006 Soeren Sandmann <sandmann@redhat.com>
515 * module/sysprof-module.c (init_module): Print out sysprof version
518 Sun Jan 15 00:24:02 2006 Soeren Sandmann <sandmann@redhat.com>
522 * sysprof.c (build_gui): Rename 'callers' column 'ancestors'
524 * profile.c (profile_list_callers): Make this function list all
525 ancestors of the function. Also make it report correct numbers
528 * profile.c (profile_create_descendants): Remove debug spew
530 Sat Jan 14 18:24:43 2006 Soeren Sandmann <sandmann@redhat.com>
532 * configure.ac, Makefile.am: Only build GUI when the necessary
533 dependencies are found.
535 * sysprof.c (compute_text_width): Remove unused variable
537 * profile.c (build_object_list): Follow next instead of siblings.
539 Fri Jan 13 23:11:33 2006 Søren Sandmann <sandmann@redhat.com>
543 Fri Jan 13 22:59:48 2006 Soeren Sandmann <sandmann@redhat.com>
545 * module/sysprof-module.c (sysprof_open): Initialize retval.
547 * module/sysprof-module.c (sysprof_read): Copy contents of trace,
548 not tail to the buffer.
550 Wed Jan 11 20:31:11 2006 Søren Sandmann <sandmann@redhat.com>
552 * process.c (read_maps): Also make offset a gulong (Samuel Mimram)
554 Wed Jan 11 17:51:54 2006 Søren Sandmann <sandmann@redhat.com>
556 * collector.c: Remove debug spew.
560 Mon Jan 9 09:58:25 2006 Soeren Sandmann <sandmann@redhat.com>
562 * module/sysprof-module.c (timer_notify): Remove START_OF_STACK
565 Mon Jan 9 00:59:21 2006 Soeren Sandmann <sandmann@redhat.com>
567 * process.c (read_maps): Use gulong for addresses. Bug reported by
570 Sun Jan 8 03:22:22 2006 Soeren Sandmann <sandmann@redhat.com>
572 * process.c (process_flush_caches): Resurrect this function.
574 * collector.c (collector_reset): Call it from here
576 Sun Jan 8 02:19:34 2006 Soeren Sandmann <sandmann@redhat.com>
580 Thu Jan 5 17:52:10 2006 Søren Sandmann <sandmann@redhat.com>
582 * TODO: small updates
583 * sysprof.c: cosmetic updates
584 * module/sysprof-module.c: cosmetic updates
586 2005-12-20 Kristian Høgsberg <krh@redhat.com>
588 * module/sysprof-module.c: Remove left over debug print out and
589 add support for multiple clients (readers).
591 Tue Dec 20 16:03:29 2005 Soeren Sandmann <sandmann@redhat.com>
595 * sysprof-text.c (main): Make it try and load the module before
598 2005-12-20 Kristian Høgsberg <krh@redhat.com>
600 * Makefile.am: Dist and install udev rule.
602 * collector.c: (open_fd):
603 * sysprof-text.c: (no_module):
604 * sysprof.c: (on_start_toggled): Update device filename.
606 * 60-sysprof.rules: New udev rule file to set permissions for
609 * module/sysprof-module.c: Switch kernel module to use a misc char
610 device instead. Start and stop the timer on device open and
611 close instead of module load and unload.
613 Tue Dec 20 12:19:34 2005 Søren Sandmann <sandmann@redhat.com>
615 * configure.ac: Add backslashes, pointed out by Ralph Siemsen.
617 Mon Dec 19 17:39:09 2005 Søren Sandmann <sandmann@redhat.com>
619 * sysprof.c (add_text): Make the tree tree-shapeed.
621 Mon Dec 19 15:15:48 2005 Søren Sandmann <sandmann@redhat.com>
623 * module/sysprof-module.c (timer_notify): A few formatting
624 fixes. Hopefully make it work with x86-64.
626 2005-11-29 Soeren Sandmann <sandmann@redhat.com>
628 * sysprof.c (on_descendants_row_expanded_or_collapsed): New
629 function. Update screenshot window when rows are expanded and
632 2005-11-23 Soeren Sandmann <sandmann@redhat.com>
634 * sysprof.c (update_screenshot_window): Update the screenshot
637 Wed Nov 23 00:44:34 2005 Soeren Sandmann <sandmann@redhat.com>
639 * module/sysprof-module.c: Various cleanups
643 Tue Nov 22 23:38:09 2005 Soeren Sandmann <sandmann@redhat.com>
645 * module/sysprof-module.c: Remove unused pages_present()
648 2005-11-18 Matthias Clasen <mclasen@redhat.com>
650 * configure.ac: Make configure work.
652 2005-11-13 Soeren Sandmann <sandmann@redhat.com>
654 * process.c: Add some experimental (and unused) code to look up
657 Sat Nov 12 23:39:29 2005 Soeren Sandmann <sandmann@redhat.com>
659 * sysprof.c (set_sizes): Put the vertical splitter at 3/8 *
662 * configure.ac: Disable warning.
664 Sat Nov 12 19:44:43 2005 Søren Sandmann <sandmann@redhat.com>
666 * module/sysprof-module.c (read_frame): New function that uses
667 copy_from_user_inatomic() as check_user_pages_readable() has
668 disappeared in recent kernels.
670 * module/sysprof-module.c (timer_notify): Use it here.
674 * configure.ac: Change the wording of the CVS HEAD warning as this
675 change seems to also have fixed the lockup with rawhide kernels.
677 Wed Nov 9 00:24:11 2005 Soeren Sandmann <sandmann@redhat.com>
679 * treeviewutils.[ch]: Add new tree_view_foreach_visible()
682 * sysprof.c: Add update_screenshot_window() function.
684 Mon Nov 7 23:42:26 2005 Soeren Sandmann <sandmann@redhat.com>
686 * sysprof.c: Add beginning of a screenshot
689 * sysprof.glade: Add screenshot window plus menu items.
691 * stackstash.c: Remove unused function stack_node_list_leaves()
693 * xmlstore.c: Various crack
695 Sun Nov 6 23:03:49 2005 Soeren Sandmann <sandmann@redhat.com>
697 * profile.c (add_trace_to_tree): Test for !prev instead of !next.
699 Sun Nov 6 Soeren Sandmann <sandmann@redhat.com>
703 * collector.c (on_read): Only call back when a new sample actually
706 * collector.c (collector_stop): close the filedescriptor
708 * sysprof.c (on_start_toggled): Change sense of test.
710 * sysprof.c (ensure_profile): Stop the collector.
712 * sysprof.c (on_reset_clicked): Stop the collector when state
715 Sun Nov 6 18:31:23 2005 Soeren Sandmann <sandmann@redhat.com>
717 * stackstash.c (stack_stash_foreach):
718 * stackstash.c (stack_node_foreach_trace): Make these function
719 call back with GLists rather than GSLists.
721 * profile.c (add_trace_to_tree): Iterate backwards instead of
724 Sun Nov 6 17:06:52 2005 Soeren Sandmann <sandmann@redhat.com>
726 * profile.c (add_trace_to_tree): Turn this function into a
729 * stackstash.c (stack_node_foreach_trace): Make this function take
730 a StackFunction, and reimplement with do_callback().
732 Sat Nov 5 18:06:40 2005 Soeren Sandmann <sandmann@redhat.com>
734 * profile.c (profile_create_descendants): Use callbacks from
737 * stackstash.c (stack_node_foreach_trace): New function
738 * stackstash.c (do_node_callback): New function
740 Sat Nov 5 12:39:33 2005 Soeren Sandmann <sandmann@redhat.com>
742 * profile.c (add_trace_to_tree): Don't compute the total field.
744 * profile.h (struct ProfileDescendant): Remove 'total' field.
746 * sysprof.c: Delete DESCENDANTS_TOTAL column and everything
749 * profile.c: Remove commented out code
751 * sfile.c (handle_text): Don't copy the text
753 2005-11-04 Soren Sandmann <sandmann@redhat.com>
755 * collector.[ch]: Add copyright statement.
757 * collector.c (on_read): Handle time getting set backwards.
759 * collector.c: Remove unused empty_filedescriptor() function.
761 2005-11-03 Soren Sandmann <sandmann@redhat.com>
763 * configure.ac: Make the message about the kernel source package
764 more informative. Code from Kjetil Torgrim Homme.
766 * sysprof.c (on_start_toggled): Only delete the data if the
767 profiling can actually be started.
769 2005-11-01 Soeren Sandmann <sandmann@redhat.com>
771 * sysprof.c (on_start_toggled): Update GUI after showing error
774 * sysprof.glade: Rename File menu Profiler, move
775 Start/Profile/Reset here, delete View menu.
777 Mon Oct 31 23:41:33 2005 Soeren Sandmann <sandmann@redhat.com>
779 * stackstash.h (struct StackNode): Add "total" field.
781 * stackstash.c (stack_stash_add_trace): Keep track of the
784 * profile.c (profile_get_size): Sum the totals of the siblings
785 instead of all the children.
787 * profile.c (build_object_list): Correctly compute obj->self
789 * profile.c (profile_load): Don't ignore the node->total field.
791 * profile.c (serialize_call_tree): Save node->total instead of the
794 * profile.c (compute_total): Use n->total instead of computing it
797 * profile.c: Remove unused sum_children() function.
801 * process.c (process_get_from_pid): Plug leak.
803 Mon Oct 31 21:36:37 2005 Søren Sandmann <sandmann@redhat.com>
805 * sysprof.c (fill_main_list): free the profile objects.
807 * sysprof.c (struct Application): Remove unused variable.
809 Mon Oct 31 00:22:58 2005 Soeren Sandmann <sandmann@redhat.com>
811 * sysprof.c (set_application_title): Use APPLICATION_NAME macro
813 * sysprof.c (load_file): Don't leak the FileOpenData
817 2005-10-30 Soren Sandmann <sandmann@redhat.com>
819 * configure.ac, Makefile.am: Don't link sysprof-text to gtk+.
821 2005-10-30 Soren Sandmann <sandmann@redhat.com>
823 * Merge stackstash-reorg branch into HEAD
825 2005-10-30 Soren Sandmann <sandmann@redhat.com>
827 * Makefile.am, sysprof.c, sysprof-text.c, collector.[ch]: Rename
828 profiler -> collector
830 2005-10-30 Soren Sandmann <sandmann@redhat.com>
832 * profile.c (profile_load): Reenable loading.
834 2005-10-30 Soren Sandmann <sandmann@redhat.com>
836 * profile.c (profile_save): Reenable saving.
838 Sat Oct 29 21:37:42 2005 Soeren Sandmann <sandmann@redhat.com>
840 * stackstash.c (stack_stash_foreach): Rename
841 stack_stash_foreach_reversed() to stack_stash_foreach(). Delete
842 the old, unused stack_stash_foreach().
844 * stackstash.h: Remove stack_stash_foreach_reversed().
846 * profiler.c: Use new name.
848 Sat Oct 29 18:37:37 2005 Søren Sandmann <sandmann@redhat.com>
852 Sat Oct 29 17:38:01 2005 Søren Sandmann <sandmann@redhat.com>
854 * stackstash.[ch]: Add stack_stash_get_root().
856 * profile.c (profile_get_size): Make this function work again.
858 Sat Oct 29 16:58:22 2005 Søren Sandmann <sandmann@redhat.com>
860 * profile.c: Delete all the obsolete stuff related to call tree.
864 Sat Oct 29 16:52:32 2005 Søren Sandmann <sandmann@redhat.com>
868 * profile.c: Comment out a lot of unused stuff. Also temporarily
869 comment out loading and saving.
871 Sat Oct 29 16:45:34 2005 Søren Sandmann <sandmann@redhat.com>
873 * profile.c (compute_total): New function.
875 * profile.c (profile_list_callers): Port this function over to use
878 Sat Oct 29 16:22:28 2005 Søren Sandmann <sandmann@redhat.com>
880 * profile.c (build_object_list): Make this function allocate
883 * stackstash.[ch]: Add stack_stash_foreach_by_address()
885 * profile.c (profile_get_objects): Use it here to reimplement
886 profile_get_objects() in terms of the stackstash.
888 Sat Oct 29 15:33:07 2005 Søren Sandmann <sandmann@redhat.com>
890 * profile.c (profile_new): Add stash field to profile.
892 * stackstash.[ch]: Add stack_node_list_leaves();
894 * profile.c (profile_create_descendants): Port this function over
895 to use StackNodes instead.
897 Sat Oct 29 14:43:00 2005 Søren Sandmann <sandmann@redhat.com>
899 Fix crash pointed reported by Rudi Chiarito.
901 * stackstash.c (stack_stash_add_trace): Just return if
904 * sysprof.c (on_read): Only trace if n_addresses != 0.
906 Sat Oct 29 03:47:03 2005 Soeren Sandmann <sandmann@redhat.com>
908 * profile.[ch], sysprof.c: Get rid of ProfileObject for callers
913 Sat Oct 29 02:57:34 2005 Soeren Sandmann <sandmann@redhat.com>
915 * stackstash.[ch]: Export the StackNode struct, add new
916 nodes_by_data hashtable to StackStash object, keep track of
917 whether objects are toplevels.
919 * TODO: some updates.
921 Sat Oct 29 14:29:55 2005 Søren Sandmann <sandmann@redhat.com>
923 * README, TODO: updates
925 Fri Oct 14 11:44:43 2005 Søren Sandmann <sandmann@redhat.com>
927 * configure.ac: Add a warning about known bugs in the kernel
928 module in this branch.
932 Tue Oct 11 22:40:24 2005 Soeren Sandmann <sandmann@redhat.com>
934 * module/sysprof-module.c (SAMPLES_PER_SECOND): Add back these
935 constants, but this time make sure we won't divide by 0 or
938 Mon Oct 10 22:50:57 2005 Soeren Sandmann <sandmann@redhat.com>
940 * Merge in changes from HEAD
942 Thu Oct 6 22:28:39 2005 Soeren Sandmann <sandmann@redhat.com>
944 * stackstash.c (do_callback): Call stack func if node->size > 0,
945 not if node->children != NULL
946 * stackstash.c (do_reversed_callback): same
947 * profile.c (generate_presentation_name): Delete this function
948 * profile.c (generate_key): Delete this function.
950 Wed Oct 5 23:57:08 2005 Soeren Sandmann <sandmann@redhat.com>
954 * profile.c (generate_call_tree): Delete all the process stuff
956 * profile.c (node_add_trace): Delete process argument
958 * profile.c (lookup_profile_object): Don't generate a string key,
959 just use the address directly.
961 * profile.c (ensure_profile_object): Use the address as
964 * profiler.c (profiler_create_profile): Pass in the resolved
967 Sun Oct 2 21:08:16 2005 Soeren Sandmann <sandmann@redhat.com>
969 * sysprof.c (on_delete): Work around glib bug 317775
971 * sysprof-text.c (signal_handler): Work around glib bug 317775
973 Sun Oct 2 16:31:37 2005 Soeren Sandmann <sandmann@redhat.com>
975 * stackstash.c (stack_stash_foreach_reversed): Add this function
977 * process.c: Add a per-process undefined symbol.
979 * profiler.c (resolve_symbols): Add code to do symbol resolution
984 Sat Oct 1 18:32:52 2005 Soeren Sandmann <sandmann@redhat.com>
986 * profile.h, sysprof.c: Remove some unnecessary includes.
988 Sat Oct 1 18:12:44 2005 Soeren Sandmann <sandmann@redhat.com>
990 * profiler.[ch]: Add profiler_get_n_samples(); add unused
991 empty_file_descriptor()
993 * profile.h: Add include guards
995 * process.[ch]: Delete process_flush_caches();
997 * helper.[ch]: Remove these files
999 * sysprof.c: Use the new profiler class.
1001 * sysprof-text.c: Use the new profiler class
1003 * Makefile.am: Various cleanups.
1005 Sat Oct 1 17:05:43 2005 Soeren Sandmann <sandmann@redhat.com>
1007 * profiler.[ch]: New files containing a profiler class with code
1008 that can be shared between gui and command line.
1010 * sysprof.c (main): Remove some commented out code
1012 * stackstash.c (do_callback): Store the trace on the stack instead
1013 of allocating it dynamically.
1015 Sat Oct 1 01:50:15 2005 Soeren Sandmann <sandmann@redhat.com>
1017 * stackstash.c (sstack_stash_add_trace): Simplify this function a
1020 * helper.c: Include "process.h"
1022 Sat Oct 1 01:29:06 2005 Soeren Sandmann <sandmann@redhat.com>
1024 * profile.c (generate_object_table, generate_call_tree): Don't
1025 take the process as an argument. Instead dig it out of the
1028 * helper.c (add_trace_to_stash): New file, that adds a stacktrace
1029 and a process to a stackstash.
1031 * stackstash.[ch]: Remove all traces of the concept of
1032 Process. Simplify stack_node_add_trace() somewhat.
1034 Mon Oct 10 22:49:03 2005 Soeren Sandmann <sandmann@redhat.com>
1036 * module/sysprof-module.c: Delete lots of commented-out code.
1038 Mon Oct 10 14:33:50 2005 Søren Sandmann <sandmann@redhat.com>
1040 * configure.ac: Add --disable-kernel-module option. Patch from
1043 Mon Oct 10 13:00:20 2005 Robert Love <rml@novell.com>
1045 * module/sysprof-module.c: Don't use INTERVAL or SAMPLES_PER_SECOND
1046 now that we use register_timer_hook(), which hits off the timer
1047 interrupt at HZ freqency (1/250 second on x86).
1049 Sat Oct 1 01:21:57 2005 Soeren Sandmann <sandmann@redhat.com>
1053 Wed Sep 28 12:08:32 2005 Søren Sandmann <sandmann@redhat.com>
1055 * sysprof-text.c: Add my name to the copyright statement
1057 Tue Sep 27 01:33:33 2005 Soeren Sandmann <sandmann@redhat.com>
1059 * process.c (process_lookup_symbol): If the address is 0x01, treat
1060 as kernel, regardless of whether we have a map for that address or
1063 * module/sysprof-module.c (timer_notify): Take a stack trace of
1064 the current process, even when we are in kernel mode. This way we
1065 can assign kernel activity to individual user space stacktraces.
1069 Sat Sep 24 14:41:23 2005 Soeren Sandmann <sandmann@redhat.com>
1071 * configure.ac: Bump version number to 1.1.0
1073 * signal-handler.c: Many, mostly cosmetic, cleanups
1075 * sysprof-text.c: uninstall signal handlers when exiting
1077 Sat Sep 24 00:01:42 2005 Soeren Sandmann <sandmann@redhat.com>
1079 * Nakefile.am, sysprof-text.c: New non-GUI version, written
1080 by Lorenzo Colitti, with some changes by me.
1082 * signal-handler.[ch]: New files that provide a way to get UNIX
1083 signals into a glib main loop.
1085 * README: add Lorenzo to credits
1087 Fri Sep 23 20:46:40 2005 Soeren Sandmann <sandmann@redhat.com>
1089 * sysprof.c (build_gui): If the glade file doesn't exists pop up
1090 an alert suggesting running 'make install'
1092 * sysprof.c: Remove some commented out code
1094 Sat Sep 17 14:35:32 2005 Soeren Sandmann <sandmann@redhat.com>
1096 * Release 1.0 (this comment was added post facto)
1098 * Bump version numbers
1102 Sun Sep 4 19:38:51 2005 Soeren Sandmann <sandmann@redhat.com>
1106 Tue Aug 30 16:57:33 2005 Søren Sandmann <sandmann@redhat.com>
1108 * configure.ac: Complain if we can't find /lib/modules/`uname
1111 * process.c (process_lookup_symbol): Take an address of 0x1 to
1114 * module/sysprof-module.c (timer_notify): When reporting in-kernel
1115 time, give the current pid instead of -1.
1119 Mon Aug 15 20:39:11 2005 Soeren Sandmann <sandmann@redhat.com>
1121 * binfile.c, process.c, profile.c: Fix some warnings.
1123 Mon Aug 1 23:49:51 2005 Soeren Sandmann <sandmann@redhat.com>
1125 * module/sysprof-module.c (REG_INS_PTR): Add support for
1126 amd64/x86-64. Patch from Mike Frysinger.
1128 Sun Jul 10 10:51:52 2005 Soeren Sandmann <sandmann@redhat.com>
1130 * binfile.c: Various minor clean-ups
1132 Sat Jul 9 23:20:39 2005 Soeren Sandmann <sandmann@redhat.com>
1134 * binfile.c (bin_file_new): Cache BinFiles by filename.
1136 * stackstash.c (stack_stash_free): Plug leak
1138 * process.c (process_free_maps): Plug leak
1140 * module/Makefile (install): Check that depmod exists before
1143 Sun Jun 19 15:42:34 2005 Søren Sandmann <sandmann@redhat.com>
1145 * module/sysprof-module.c (SAMPLES_PER_SECOND): Set to 200.
1147 * sysprof.c (on_about_activated): Add version information
1149 * configure.ac: Bump version to 0.91
1153 Sat Jun 18 22:45:04 2005 Søren Sandmann <sandmann@redhat.com>
1157 * configure.ac: Check for Linux 2.6.11
1159 * process.c (get_pidname): Present pid=-1 as [kernel].
1161 * module/sysprof-module.c: Use register_timer_hook() instead of
1162 a kernel timer. Set trace.pid to -1 if interrupt happens in
1165 Sun Jun 12 20:30:37 2005 Soeren Sandmann <sandmann@redhat.com>
1167 * sysprof.c (build_gui): Disable type-ahead search for all the
1170 * sysprof.c (on_object_selection_changed): Call it from here
1172 * sysprof.c (expand_descendants_tree): New function that
1173 determines what nodes to expand in the descendatns view.
1175 Sun Jun 12 13:37:15 2005 Soeren Sandmann <sandmann@redhat.com>
1179 Thu Jun 9 13:28:33 2005 Søren Sandmann <sandmann@redhat.com>
1183 Thu May 26 01:10:45 2005 Soeren Sandmann <sandmann@redhat.com>
1185 * sysprof.c (on_callers_row_activated): Grab focus on the callers
1186 view, not the descendants view.
1188 * sysprof.c (on_read): Add a short "dead" period after a reset,
1189 so that 'samples' will actually be 0 for a while.
1191 Mon May 23 01:37:26 2005 Soeren Sandmann <sandmann@redhat.com>
1193 * README: Remove comment about auto* stuff, link to
1195 http://www.daimi.au.dk/~sandmann/sysprof/
1197 Sun May 23 16:10:00 2005 Soeren Sandmann <sandmann@redhat.com>
1199 -=-=-=-=-=- Release v. 0.9 -=-=-=-=-=-
1201 Sun May 22 21:06:36 2005 Soeren Sandmann <sandmann@redhat.com>
1205 Sat May 21 20:58:59 2005 Soeren Sandmann <sandmann@redhat.com>
1209 * sysprof.c (on_menu_item_activated): New function.
1211 * sysprof.c (build_gui): Hook up menu items.
1213 * module/sysprof-module.c (init_module): Remove module_init/exit
1214 as they cause build failure on kernels < 2.6.11.
1216 Sat May 21 00:59:38 2005 Søren Sandmann <sandmann@redhat.com>
1220 Wed May 18 22:21:52 2005 Søren Sandmann <sandmann@redhat.com>
1222 * module/sysprof-module.c: Remove ref-counting since it didn't
1223 actually do any good.
1225 * sysprof.c (load_module): Use g_spawn_command_line_sync() instaed
1228 Sun May 15 11:56:30 2005 Søren Sandmann <sandmann@redhat.com>
1230 * module/sysprof-module.c: First attempt at making module robust
1231 agains unloading when in use.
1233 Sun May 15 10:24:09 2005 Soeren Sandmann <sandmann@redhat.com>
1235 * Makefile.am, module/Makefile: Do more-or-less what the automake
1236 manual suggests about foreign subdirectories.
1238 Sat May 14 16:36:32 2005 Søren Sandmann <sandmann@redhat.com>
1240 * sysprof.c (set_application_title): Update the title bar on
1243 * treeviewutils.c, sfile.c: Fix compiler warnings
1245 * Makefile.am: define PIXMAPDIR
1247 Sat May 14 15:49:52 2005 Søren Sandmann <sandmann@redhat.com>
1253 * AUTHORS, INSTALL, Makefile.am, NEWS, configure.ac: New files
1255 * module/Makefile: New file
1257 * module/sysprof-module.c, module/sysprof-module.h: Move these
1258 files to their own directy, as the kernel build system does not
1259 work very well with auto*.
1261 * sysprof.c, autogen.sh: Some auto* changes.
1263 Sun May 8 16:31:32 2005 Søren Sandmann <sandmann@redhat.com>
1265 * TODO: more updates
1267 * sysprof.c: Try loading the module before complaining
1269 Sun May 8 15:45:08 2005 Søren Sandmann <sandmann@redhat.com>
1271 * sysprof-module.c (do_generate): Restore lost wake_up().
1273 * sfile.c: Comment out use of bz2.
1275 * Makefile: Add an install target. Add GLADE_DIR and PIXMAP_DIR
1277 * sysprof.c (build_gui): use GLADE_DIR and PIXMAP_DIR here.
1281 Sat May 7 13:57:17 2005 Søren Sandmann <sandmann@redhat.com>
1283 * sfile.c (sfile_output_free): Implement this function
1285 * sfile.c (sfile_input_free): Implement this function
1287 Fri May 6 23:38:48 2005 Søren Sandmann <sandmann@redhat.com>
1289 * sysprof-module.c (do_generate): Another desparate hack to try
1290 and prevent the oops.
1292 Sat Apr 30 16:57:23 2005 Soeren Sandmann <sandmann@redhat.com>
1294 * process.c (PAGE_SIZE): Use getpagesize()
1296 * TODO: More updates
1298 Sat Apr 30 15:44:12 2005 Søren Sandmann <sandmann@redhat.com>
1302 * sysprof-module.c (get_regs): Change the way we get registers for
1303 a task so that it works with 2.6.11
1305 Sat Apr 23 19:17:18 2005 Søren Sandmann <sandmann@redhat.com>
1309 Sat Apr 23 19:12:52 2005 Søren Sandmann <sandmann@redhat.com>
1311 * profile.c: Store a pointer to the root of the call tree
1313 * profile.c (profile_load): Call sfile_input_free()
1315 * sfile.c (sformat_free): Implement this function
1317 Sat Apr 23 18:38:46 2005 Søren Sandmann <sandmann@redhat.com>
1319 * sfile.c (post_process_read_instructions): Check pointer types
1321 * sfile.c (post_process_instructions_recurse): Delete this unused function
1323 Sat Apr 23 17:49:33 2005 Søren Sandmann <sandmann@redhat.com>
1325 * sysprof-module.c (page_readable): New function to check if the
1326 page is readable before reading. Noop on kernel <= 2.6.11
1328 * sysprof-module.c (get_mm, put_mm): New functions to confine
1331 Sat Apr 23 17:48:22 2005 Søren Sandmann <sandmann@redhat.com>
1333 * Makefile (MODCFLAGS): Disable optimization as I suspect
1334 the oops is related to miscompilation.
1336 Fri Apr 22 00:09:16 2005 Soeren Sandmann <sandmann@redhat.com>
1338 * sysprof-module.c (read_user_space): On >= 2.6.11 check that the
1339 pages are present and readable before reading them.
1341 Tue Apr 19 23:26:45 2005 Kristian Høgsberg <krh@bitplanet.net>
1343 * Makefile (check): Add simple check target that runs a sanity
1344 check of the build environment.
1346 Sun Apr 17 00:20:41 2005 Soeren Sandmann <sandmann@redhat.com>
1348 * sysprof.c (on_open_clicked): Factor out some stuff in their own
1351 * sysprof.c (load_file): Idle handler to load files given on the
1354 * sysprof.c (main): If a filename is passed on the command line,
1355 load it in an idle handler.
1357 Sun Apr 17 00:19:03 2005 Soeren Sandmann <sandmann@redhat.com>
1361 Sat Apr 16 19:51:48 2005 Soeren Sandmann <sandmann@redhat.com>
1363 * sysprof-module.c (read_user_space): Read a whole page at a time.
1365 Sat Apr 16 14:15:55 2005 Soeren Sandmann <sandmann@redhat.com>
1369 * sysprof-module.c (x_access_process_vm): On kernel 2.6.9 and
1370 later use get_task_mm()/mmput() instead of directly accessing
1373 Sat Apr 16 01:54:18 2005 Søren Sandmann <sandmann@redhat.com>
1375 * TODO: Add backtrace for kernel oops.
1377 Fri Apr 15 16:37:45 2005 Soeren Sandmann <sandmann@redhat.com>
1381 * sysprof.c (sorry): If you hit profile when the module isn't
1382 loaded, pop up an annoying dialog.
1384 * sysprof-module.c: Clean-ups, remove various unused abstractions.
1386 Sat Apr 9 17:49:13 2005 Søren Sandmann <sandmann@redhat.com>
1388 * COPYING: Add a copy of the GPL
1390 Sat Apr 9 17:04:50 2005 Søren Sandmann <sandmann@redhat.com>
1392 * Makefile: Remove debug spew
1394 * *: Add copyright notices
1396 Fri Apr 8 21:30:02 2005 Søren Sandmann <sandmann@redhat.com>
1398 * TODO: More updates
1400 Fri Apr 8 20:48:58 2005 Søren Sandmann <sandmann@redhat.com>
1402 * sysprof.c (build_gui): Load the icon, hook up "about"
1405 * sysprof.c (on_about_activated): New function. Show an about
1408 * sysprof.c (struct Application): Add an icon field
1412 * sysprof-icon.png: Icon, drawn by Diana Fong
1414 Tue Apr 5 23:01:02 2005 Søren Sandmann <sandmann@redhat.com>
1416 * binfile.c (read_symbols): Put back the weird loop, and stop
1417 pretending I understand this. This time use SEC_ALLOC instead of
1420 Tue Apr 5 20:13:44 2005 Søren Sandmann <sandmann@redhat.com>
1422 * process.c (process_ensure_map): Add commented out debug spew.
1424 * process.c (process_lookup_symbol): Remove all should_offset()
1425 function and all references to it.
1427 * binfile.c (bin_file_lookup_symbol): Document that address must
1428 be in file coordinates.
1430 * binfile.c (read_symbols): Remove misguided code that tried to
1431 guess the load address of the file. Instead, do all computations
1432 in "file coordinates". Also fix a memory leak. Add commented out
1435 * binfile.c (separate_debug_file_exists): Fix signedness
1437 Tue Apr 5 14:34:43 2005 Søren Sandmann <sandmann@redhat.com>
1439 * sysprof-module.c (x_access_process_vm): Make it compile with
1444 Mon Apr 4 00:57:11 2005 Soeren Sandmann <sandmann@redhat.com>
1446 * sysprof.c: Busy cursors in many more places.
1450 Sun Apr 3 23:28:45 2005 Soeren Sandmann <sandmann@redhat.com>
1452 * sysprof-module.c (do_generate): Re-schedule the timeout here
1453 instead of in on_timer().
1455 * sysprof-module.c (on_timer): Only block tasks in the
1458 Sun Apr 3 17:03:33 2005 Soeren Sandmann <sandmann@redhat.com>
1460 * sysprof-module.c (queue_generate_stack_trace): Put current
1463 * sysprof-module.c (do_generate): Wake up the traced process
1465 Thu Mar 31 23:09:09 2005 Soeren Sandmann <sandmann@redhat.com>
1467 * sysprof.c (build_gui): Remove stray %
1469 Thu Mar 31 21:18:13 2005 Søren Sandmann <sandmann@redhat.com>
1471 * treeviewutils.c (add_double_format_column): Right justify numbers
1473 * sysprof.c (build_gui): Add a space after the numbers
1475 * sysprof.c (on_callers_row_activated): Focus object view
1477 * sysprof.c (on_descendants_row_activated): Focus new descendants
1480 Thu Mar 31 19:51:51 2005 Søren Sandmann <sandmann@redhat.com>
1482 * sysprof-module.c (do_generate): Walk all threads, not just all
1485 * TODO: Add disk profiling ideas
1487 Thu Mar 31 00:19:47 2005 Soeren Sandmann <sandmann@redhat.com>
1489 * sysprof.c (set_busy): Make this function work
1491 * sysprof.c (on_profile_toggled): Use it here
1493 * sysprof.c (on_object_selection_changed): And here
1495 * profile.c (add_trace_to_tree): Use GPtrArrays instead of
1496 GHashTable and GList.
1498 Mon Mar 28 11:09:02 2005 Soeren Sandmann <sandmann@redhat.com>
1502 Sat Mar 26 19:26:52 2005 Søren Sandmann <sandmann@redhat.com>
1504 * sysprof.c: Show the right number of samples afte Open; remove
1505 shadows from menu bars and toolbars; some other tweaks.
1507 Sat Mar 26 11:26:00 2005 Soeren Sandmann <sandmann@redhat.com>
1511 * sfile.c (add_string): Use g_markup_escape_text() to escape the
1512 string before adding it to the file.
1514 * sysprof.c (empty_file_descriptor): New function to make sure
1515 samples generated before profiling started are ignored.
1516 (set_busy): New commented out function to set a busy cursor.
1518 Fri Mar 25 21:31:08 2005 Søren Sandmann <sandmann@redhat.com>
1520 * sysprof.c (update_sensitivity): Comment out sensitivity of reset button.
1522 Fri Mar 25 21:25:31 2005 Søren Sandmann <sandmann@redhat.com>
1524 * sysprof.c (get_current_object): Return NULL if nothing is
1527 Fri Mar 25 20:54:08 2005 Søren Sandmann <sandmann@redhat.com>
1529 * TODO: More updates
1531 Fri Mar 25 20:25:44 2005 Søren Sandmann <sandmann@redhat.com>
1533 * README: Require gtk+ 2.6
1535 * treeviewutils.c (add_plain_text_column): Ellipsisize text columns.
1537 Fri Mar 25 19:39:24 2005 Søren Sandmann <sandmann@redhat.com>
1539 * TODO: Remove "loading and saving"
1541 * sysprof.glade: Add ellipsises to Open and Save menu items.
1543 * sysprof.c (overwrite_file): Add this function, cutted-and-pasted
1546 * sysprof.c (on_save_as_clicked, on_open_clicked): Use
1547 GtkFileChoosers to pick the names.
1549 * sysprof.c: Various GUI updates.
1551 Fri Mar 25 19:36:28 2005 Søren Sandmann <sandmann@redhat.com>
1553 * sfile.c (bz2_compress): Add this function Don't actually make
1554 any produce use of it.
1556 * profile.c (make_hash_table): Get rid of warning
1558 Thu Mar 24 19:09:33 2005 Søren Sandmann <sandmann@redhat.com>
1560 * sysprof.c: Various GUI updates
1564 * sfile.[ch] (sformat_new_optional): Add some notes about an
1565 "optional" construction.
1567 Wed Mar 23 00:04:07 2005 Soeren Sandmann <sandmann@redhat.com>
1569 Primitive loading and saving.
1571 * sysprof.c (on_open_clicked): Hook up loading.
1573 * sfile.c: Add a copy of g_file_replace() from glib CVS HEAD.
1575 * sfile.c (add_string): Escape and quote the string
1577 * sfile.c (sfile_load): Initialize current_instruction and
1578 instructions_by_location
1580 * sfile.c (post_process_instructions_recurse): Handle NULL
1583 * sfile.c (handle_begin_element, handle_end_element, handle_text):
1584 Move error handling here from state_transition_begin/text/end.
1586 * sfile.c (handle_text): Discard whitespace-only strings
1588 * sfile.c (sfile_get_pointer, sfile_get_integer,
1589 sfile_get_string): expect both begin, value, and end transitions.
1591 * sfile.c (hook_up_pointers): Only treat instructions as pointer
1592 values when they are. Handle NULL targets properly.
1594 * sfile.c (get_number): Fix a few read-freed-data bugs
1596 * profile.c (profile_load): Call sfile_end_get() for the profile;
1597 build the nodes_by_objects hash table. Build the call tree.
1599 * profile.c (create_format): Don't store next pointer, but do
1600 store total, self and toplevel.
1602 * profile.c (make_hash_table): New function to build
1603 nodes_by_object hashtable from loaded data
1605 Sat Mar 12 11:05:19 2005 Soeren Sandmann <sandmann@redhat.com>
1607 * sysprof-module.c: Fix small bug in add_timeout()
1608 * sysprof.c (build_gui): More descriptive tree labels
1611 Thu Mar 10 16:37:52 2005 Søren Sandmann <sandmann@redhat.com>
1613 * sysprof.c (build_gui): s/Cummulative/Cumulative/. Pointed out by
1616 Mon Mar 7 14:47:09 2005 Søren Sandmann <sandmann@redhat.com>
1618 * README: Add note that you need to compile the module with
1619 the same compiler that compiled the kernel.
1621 Sun Mar 6 22:56:21 2005 Soeren Sandmann <sandmann@redhat.com>
1623 * sfile.c: Generate id's for objects and pointers.
1625 Sat Mar 5 01:09:33 2005 Soeren Sandmann <sandmann@redhat.com>
1627 * sfile.c: Bug fixes. Add actual generation.
1629 Fri Mar 4 13:47:13 2005 Søren Sandmann <sandmann@redhat.com>
1631 * sysprof.c: Remove include of non-existing tracing.h
1633 Thu Mar 3 23:48:13 2005 Soeren Sandmann <sandmann@redhat.com>
1635 * profile.c (profile_load): Write this function.
1637 * sfile.c: Add support for user defined record and list types.
1638 Simplify logic a lot.
1640 Wed Mar 2 23:39:50 2005 Soeren Sandmann <sandmann@redhat.com>
1642 * profile.[ch], sfile.[ch]: Experiment with a
1643 file-format-description format.
1645 * sysprof.c: Add commented out code using /proc/ based
1648 Fri Jan 21 11:23:54 2005 Søren Sandmann <sandmann@redhat.com>
1650 * README: Some updates - add note about SMP kernels.
1652 * sysprof-module.c: Go back to just sampling the current
1655 * ChangeLog: I guess these do make sense, so start one.