1 Fri Feb 9 16:53:29 2007 Søren Sandmann <sandmann@redhat.com>
3 * Update copyright notices
5 Fri Feb 9 16:16:34 2007 Søren Sandmann <sandmann@redhat.com>
7 * elfparser.c (struct ElfSym): Don't store the size of the symbol.
8 (elf_parser_lookup_symbol): Look it up here instaed.
10 * binfile.c (bin_file_free): Use pre-decrement instead of
12 (bin_file_check_inode): Clarify the warning a little
14 Mon Jan 22 17:42:29 2007 Søren Sandmann <sandmann@redhat.com>
17 * sysprof.c: Add a 32x32 version (also from Diana) of the icon.
19 Mon Jan 22 16:37:12 2007 Søren Sandmann <sandmann@redhat.com>
21 * sysprof-icon-16/24/48.png:
22 * sysprof.c: Add new icons from Diana.
24 2007-01-05 Behdad Esfahbod <behdad@gnome.org>
26 * module/Makefile: Correct $PWD usage, so make install works from
29 2006-12-09 Soren Sandmann <sandmann@daimi.au.dk>
31 * module/sysprof-module.c: Add forgotten put_cpu_var().
32 * sfile.c (build_instructions): Parse in chunks of 65536 to
35 2006-11-23 Soren Sandmann <sandmann@daimi.au.dk>
37 * process.c (read_maps): Set inode for vdso to 0.
39 * binfile.c (read_inode): Return -1 on error, 0 on vdso
40 (bin_file_new): Only read the inode if the file actually exists
42 (bin_file_check_inode): Return FALSE if there is no file.
44 2006-11-22 Soren Sandmann <sandmann@daimi.au.dk>
46 * sfile.c (sfile_load): Use GMappedFile instead
47 g_file_get_contents().
48 (build_instructions): Pass length instead of -1.
49 (sfile_output_save): Use g_file_set_contents() instead of
52 2006-11-22 Soren Sandmann <sandmann@daimi.au.dk>
54 * profile.c (add_trace_to_tree): Move match to front
55 (add_trace_to_tree): Break as soon as a recursive call is found.
57 * stackstash.c (do_callback): Manual tail call optimization.
59 2006-11-20 Soren Sandmann <sandmann@daimi.au.dk>
61 * sysprof.c (ensure_profile): reset the collector after generating
64 * stackstash.c (struct StackStash): Add cached_nodes and blocks.
65 (stack_node_new): Allocate stack nodes in blocks.
67 2006-11-19 Soren Sandmann <sandmann@redhat.com>
69 * profile.c (profile_load): Use stack allocated variables to avoid
70 taking addresses of bitfields.
72 * stackstash.h (struct StackNode): Store toplevel as bitfield
74 2006-11-19 Soren Sandmann <sandmann@redhat.com>
76 * profile.c (profile_load): Use stack_node_new() o
77 (profile_load): Use set_root() instead of new_from_root();
79 * stackstash.c (stack_stash_new_from_root): Delete this function
80 (stack_stash_set_root): Add this function
81 (stack_node_new): Export this function
83 2006-11-19 Soren Sandmann <sandmann@redhat.com>
85 * binparser.h: Declare bin_parser_free();
87 * elfparser.c (elf_parser_get_crc32): Use madvise(DONT_NEED) on
90 * process.c (struct Process): Remove do_offset.
92 Thu Nov 9 17:55:24 2006 Søren Sandmann <sandmann@redhat.com>
96 Thu Nov 9 17:31:17 2006 Søren Sandmann <sandmann@redhat.com>
98 * binfile.c (get_debug_file): Start with "/usr", not
99 "usr". Pointed out by Tim Rowley.
101 * binparser.c (bin_parser_align): Pass byte_width on instead of
104 Thu Nov 9 16:47:35 2006 Søren Sandmann <sandmann@redhat.com>
106 Look in the correct directory for debug info files. (Tim Rowley)
108 * binfile.c (N_TRIES): Add this instead of hardcoding '3'
110 * binfile.c (get_debug_file): Also look in "/usr/lib/debug", in
111 addition to "$(libdir)/debug".
113 * binfile.c: Comment out the debug spew.
115 Thu Nov 9 16:17:11 2006 Søren Sandmann <sandmann@redhat.com>
117 * binfile.c: Add debug spew.
119 Thu Nov 9 16:01:47 2006 Søren Sandmann <sandmann@redhat.com>
121 * sysprof-text.c (main): Die immediately if the output file is a
124 * autogen.sh (DIE): Also work when automake-1.9 is installed.
126 2006-11-02 Soren Sandmann <sandmann@daimi.au.dk>
128 * sysprof.c (disable_g_slice): New function
130 * sysprof.c (main): Call it from here.
132 2006-11-02 Soren Sandmann <sandmann@daimi.au.dk>
136 * binparser.c (bin_parser_free): Add this function
138 * elfparser.c (elf_parser_free): Call bin_parser_free()
140 * sysprof.c (compute_text_width, add_text): Plug leaks
142 * collector.c (add_trace_to_stash): Copy n_addresses to a stack
143 variable instead of reading it out of the mmap'ed area all the
144 time. (That way if there is an overrun, we won't write too much
145 into the address array).
147 2006-10-26 Soren Sandmann <sandmann@daimi.au.dk>
149 * module/sysprof-module.h (struct SysprofStackTrace): Increase the
150 max number of addresses to 1021, reorganise SysprofMmapArea to
151 make the traces naturally page aligned.
155 2006-10-26 Soren Sandmann <sandmann@daimi.au.dk>
157 * collector.c (resolve_symbols): Combine processes with identical
160 2006-10-25 Soren Sandmann <sandmann@daimi.au.dk>
162 * profile.c (add_trace_to_tree): Make the pointer array static to
163 improve cache behavior and reduce calls to malloc().
165 * process.c (lookup_kernel_symbol): Remove obsolete comment.
167 2006-10-25 Soren Sandmann <sandmann@daimi.au.dk>
169 * process.c (free_maps): Take a pointer to a variable that will be
172 * process.c: Stop coalescing processes with the same cmdline.
176 2006-10-24 Soren Sandmann <sandmann@daimi.au.dk>
178 * process.c (page_size): replace PAGE_SIZE macro with this function.
180 * binfile.c: Remove obsolete comment.
182 2006-10-24 Soren Sandmann <sandmann@daimi.au.dk>
184 * process.c (struct Process): Use an array instead of list of
187 2006-10-23 Soren Sandmann <sandmann@daimi.au.dk>
189 * module/sysprof-module.c (init_module): Use PAGE_SIZE - 1 instead
192 2006-10-22 Soren Sandmann <sandmann@daimi.au.dk>
194 Communicate traces to userspace through shared memory instead of
197 * module/sysprof-module.c: Store the traces in a SysprofMmapArea.
198 (sysprof_mmap): Implement this method.
199 (sysprof_nopage): Implement this.
200 (sysprof_read): Just reset the tail pointer and return zero.
202 * module/sysprof-module.h (struct SysprofMmapArea): New
205 * collector.c (collector_stop): Unmap the device
206 (in_dead_period): New function
207 (on_read): Read the traces out of mmap()ed area instead of reading
208 them. Call read() to prevent poll() from firing.
209 (struct Collector): New members map_area and current.
211 * Makefile.am (insert-module): Prefix modprobe with /sbin
213 * collector.c (open_fd): mmap() the sysprof device.
215 2006-10-11 Soren Sandmann <sandmann@daimi.au.dk>
217 * profile.c (profile_list_callers): Skip nodes that don't have a
220 2006-10-09 Soren Sandmann <sandmann@daimi.au.dk>
222 * profile.c (profile_list_callers): Make this function return a
223 list of immediate callers again.
225 * sysprof.c (build_gui): Change label back to "Callers"
227 * process.c (get_kernel_symbols): Only attempt to read the kernel
230 2006-10-09 Soren Sandmann <sandmann@redhat.com>
232 * binfile.c (bin_file_get_inode): Remove this function
234 * binfile.c (bin_file_check_inode): New function. Only print inode
235 warning once per BinFile.
237 * process.c (process_get_vdso_bytes): Remove debug spew
239 2006-10-09 Soren Sandmann <ssp@localhost.localdomain>
241 * process.c (process_get_vdso_bytes): New function.
243 * elfparser.c (parser_new_from_data): export this function as
244 elf_parser_new_from_data().
246 * binfile.c (read_inode): Don't stat if filename is
247 '[vdso]'. Instead just return -1;
248 (bin_file_new): Use elf_parser_new_from_data() when the file is
251 * process.c (read_maps): Change the offset of the vdso map to 0
254 * elfparser.c (elf_parser_lookup_symbol): Remove unused 'size'
257 * binfile.c (find_separate_debug_file): Deal with cycles in the
260 * configure.ac: Set version to 1.1.0. Print warning about HEAD.
262 2006-10-08 Soren Sandmann <ssp@localhost.localdomain>
264 * binfile.c: Don't include bfd.h
266 2006-10-08 Soren Sandmann <sandmann@redhat.com>
268 * sysprof.c (process_options): New function to support --version option
270 2006-10-08 Soren Sandmann <sandmann@redhat.com>
272 * elfparser.c (struct ElfParser): Add a cache of the text section.
274 * binparser.c (struct BinParser): Add a cache of a bin record to
275 get rid of malloc()/free() overhead.
277 * elfparser.c (struct ElfSym): Cache the size of the symbol
279 2006-10-08 Soren Sandmann <sandmann@redhat.com>
281 * elfparser.c: Remove now unused load-address heuristic
283 * comment out debug spew
285 2006-10-08 Soren Sandmann <sandmann@redhat.com>
287 * elfparser.c (read_symbols): Use "SHT_DYNSYM" for ".dynsym".
289 2006-10-08 Soren Sandmann <sandmann@daimi.au.dk>
291 * binfile.c (find_separate_debug_file): Support _debuglink
294 * elfparser.c: Check that the sections have valid types before
297 2006-10-08 Soren Sandmann <sandmann@daimi.au.dk>
299 * Delete various debug spew
301 2006-10-07 Soren Sandmann <sandmann@daimi.au.dk>
303 Deal with address offsets. Address lookup is now:
305 - First convert the address to an offset into the file
306 - Then convert to an offset into the text segment
307 - Then add the load address of the text segment (found in the
309 - Then finally lookup the result in the symbol table.
311 * elfparser.c (elf_parser_get_text_offset): New function
313 * elfparser.c (elf_parser_lookup_symbol): Treat addresses as
314 offsets into the text segment.
316 * binfile.c (bin_file_new): Store the offset of the text section
317 of the actual binary (not the debug one)
319 (bin_file_lookup_symbol): Subtract text_offset before passing
320 address to elf parser.
322 * module/sysprof-module.c: Remove include of linux/config.h
324 2006-08-27 Soren Sandmann <sandmann@redhat.com>
326 * binparser.c: Remove old commented out code
327 * module/sysprof-module.c: Add commented out code accessing entire
330 2006-08-27 Soren Sandmann <sandmann@redhat.com>
332 * module/Makefile ($(MODULE).o): Add dependency on sysprof-module.h
334 * elfparser.c (elf_parser_get_eh_frame): Add this function.
335 Remove some commented out code.
337 Sat Aug 26 19:05:51 2006 Søren Sandmann <sandmann@redhat.com>
339 * Formatting fixes in header files.
341 2006-08-26 Soren Sandmann <sandmann@daimi.au.dk>
343 * elfparser.c: Update to new API
345 * binparser.h: Delete commented out declarations. Add new
348 * binparser.c: Delete ParserFrame, replace with one current
350 (convert_uint): Make static
351 (bin_parser_get_uint): Delete this function
352 (bin_parser_get_string): Change this function to use current
353 offset instead of frame offset.
354 (bin_parser_goto): New function
355 (bin_parser_align): New function
356 (bin_parser_get_uint32): New function
357 (bin_parser_begin): Delete this function
358 (bin_parser_end): Delete this function
359 (bin_parser_index): Delete this function
360 (bin_record_get_string_indirect): Make this function use _goto()
361 instead of _begin()/_end()
362 (bin_parser_get_offset): Make this function return current offset
364 2006-08-26 Soren Sandmann <sandmann@daimi.au.dk>
366 * binparser.[ch]: Add new struct BinRecord. Comment out functions
367 related to formats. Add new functions to get fields out of
370 * elfparser.c: Update to new API.
372 2006-08-26 Soren Sandmann <sandmann@daimi.au.dk>
374 * binparser.h: Add new bin_record() functions
375 * binparser.c: Implement them.
377 2006-08-22 Soren Sandmann <sandmann@daimi.au.dk>
379 * collector.c (unique_dup): Demangle instead of strdup.
381 2006-08-21 Soren Sandmann <sandmann@redhat.com>
384 (elf_parser_get_sym_name): Rename elf_sym_get_* to
385 elf_parser_get_sym_* and make these functions take a parser.
386 (parser_from_sym): Delete this function.
387 (elf_parser_new): Don't add to all_elf_parsers
388 (elf_parser_free): Don't remove from all_elf_parsers
389 (elf_parser_new): Rename to parser_new_from_file()
390 (elf_parser_new_from_file): Rename to elf_parser_new
392 * binfile.c: Update for new elfparser API
396 2006-08-21 Soren Sandmann <sandmann@redhat.com>
398 * binfile.c (struct BinFile): Add ref_count and filename
399 (bin_files): Add map from filenames to BinFiles
400 (bin_file_new): First look for BinFile in the cache.
401 (bin_file_free): If refcount reaches 0, remove BinFile from cache.
405 2006-08-21 Soren Sandmann <sandmann@redhat.com>
407 * process.c (process_lookup_symbol): Pass map->bin_file to
410 * binfile.h (bin_symbol_get_name): Add BinFile parameter
412 * elfparser.c (elf_demangle): Use options DMGL_PARAMS | DMGL_ANSI
416 * binfile.c: Rewrite this file to use ElfParser instead of libbfd.
418 * configure.ac: Drop dependencies on libbfd and libiberty.
420 2006-08-21 Soren Sandmann <sandmann@redhat.com>
424 * elfparser.c (elf_parser_lookup_symbol): Change sense of size
427 2006-08-20 Soren Sandmann <sandmann@redhat.com>
429 * elfparser.c (elf_parser_get_crc32): Initialize crc to 0xffffffff
430 and invert it before returning.
432 * elfparser.h: Declare elf_parser_get_debug_link()
434 2006-08-20 Soren Sandmann <sandmann@daimi.au.dk>
436 * elfparser.c (elf_parser_get_load_address): Comment out debug spew.
437 (elf_parser_lookup_symbol): Add check that address is actually
438 within the bounds of the found function.
440 2006-08-20 Soren Sandmann <sandmann@daimi.au.dk>
442 * process.h: Make process_lookup_symbol() return a string. Delete
443 process_lookup_symbol_with_filename().
445 * process.c (struct Process): Make "undefined" a string
446 (lookup_kernel_symbol): Return a string
447 (process_lookup_symbol): Return a string, not a symbol
449 * collector.c (unique_dup): Take a string instead of a
451 (lookup_symbol): Make sym a string instead of a Symbol.
453 * binfile.c (bin_symbol_get_name): New function.
455 * binfile.[ch] (struct BinSymbol): Rename Symbol to BinSymbol and
456 make it an opaque structure.
458 * binfile.[ch]: Remove unused symbol operations
460 2006-08-20 Soren Sandmann <sandmann@daimi.au.dk>
462 * elfparser.c (elf_parser_new_from_file): New function
464 2006-08-20 Soren Sandmann <sandmann@daimi.au.dk>
466 * elfparser.c (elf_parser_get_debug_link): New function
468 * elfparser.c: Delete SymbolTable typedef
470 * binparser.[ch] (bin_parser_get_data): New function
471 (bin_parser_get_length): New function
473 * elfparser.[ch] (elf_parser_get_crc32): New function
477 * elfparser.c (elf_parser_lookup_symbol): Offset passed in
478 addresses by the load address.
480 * elfparser.c (elf_parser_get_load_address): New function to
481 compute the load address of the beginning of the file.
483 2006-08-20 Soren Sandmann <sandmann@redhat.com>
485 * elfparser.c (elf_sym_get_name): Read the name out of the file
486 instead of out of the struct.
488 * elfparser.c (struct ElfSym): Store an offset instead of the
491 * elfparser.c (all_elf_parsers): Keep track of all elf parsers
494 2006-08-20 Soren Sandmann <sandmann@redhat.com>
496 * Makefile.am, demangle.c: New file, made out of files from
497 libiberty in binutils.
499 * binfile.c: Use the new sysprof_cplus_demangle() function
501 * elfparser.[ch]: Add code to lookup symbols. Add demangling
504 * testelf.c: Various tests
506 2006-08-19 Soren Sandmann <sandmann@redhat.com>
508 * elfparser.c: Many cleanups.
510 2006-08-16 Soren Sandmann <sandmann@redhat.com>
512 * testelf.c: Really add this file.
514 2006-08-15 Soren Sandmann <sandmann@redhat.com>
516 Add beginning of an ELF parser.
518 * binparser.[ch]: New files
519 * elfparser.[ch]: New files
520 * testelf.c: New file
521 * Makefile.am (testelf_SOURCES): Add new testelf program.
523 Sat Aug 12 16:13:05 2006 Søren Sandmann <sandmann@redhat.com>
525 * module/sysprof-module.c: Make n_samples per-cpu. Add an atomic
526 variable in_timer_notify and use it to lock out simultaneous timer
529 * stackstash.c (decorate_node): Make decorate_node() static
533 Fri Aug 11 11:41:15 2006 Søren Sandmann <sandmann@redhat.com>
537 2006-08-08 Soren Sandmann <ssp@localhost.localdomain>
539 * sysprof.c (main): Make the load_file() idle low priority to
540 avoid weird toolbar flash.
542 * TODO, NEWS, README: updates.
544 2006-07-31 Paolo Borelli <pborelli@katamail.com>
546 * sysprof.c (expand_descendants_tree): small cleanup.
548 2006-07-31 Soren Sandmann <sandmann@redhat.com>
550 * stackstash.[ch]: Add a destroy notifier to StackStash
552 * collector.c (collector_create_profile): Pass g_free as destroy
555 * collector.c (collector_reset): Pass NULL as destroy notifier
557 * profile.c (profile_load): Pass g_free here.
559 * profile.c (struct Profile): Remove unused "Node" typedef
561 * collector.c (resolve_symbols): Free the array here.
563 * TODO: various updates.
565 2006-07-30 Soren Sandmann <sandmann@redhat.com>
567 * signal-handler.c: Simplify this file a bit, and make it not rely
568 on atomic pointer writes.
570 2006-07-18 Bastien Nocera <hadess@hadess.net>
572 * configure.ac: we need at least glib 2.6.0 for the gstdio.h functions
574 2006-06-05 Soren Sandmann <sandmann@redhat.com>
578 Sat Apr 22 15:08:01 2006 Soeren Sandmann <sandmann@redhat.com>
581 * profile.c, sfile.c, sformat.c: Various formatting fixes.
583 Wed Apr 5 11:26:30 2006 Søren Sandmann <sandmann@redhat.com>
587 Mon Mar 27 23:04:30 2006 Soeren Sandmann <sandmann@redhat.com>
591 * sfile.c (handle_{begin,end}_element): Don't generate begin/end
592 instructions for value elements.
594 * sfile.c (build_instructions): Remove debugging spew.
596 Mon Mar 27 21:44:04 2006 Soeren Sandmann <sandmann@redhat.com>
598 * sformat.[ch]: New files containing a simplified and sanitized
599 version of the state machine and type system from sfile.c.
601 * sfile.c: Move the state machine and type management to separate
602 files. Make the amount of memory used during loading and saving
605 * stackstash.c (stack_stash_new_from_root): Make this function
606 store the root again.
608 Mon Mar 27 09:55:01 2006 Søren Sandmann <sandmann@redhat.com>
612 2006-03-11 Soren Sandmann <sandmann@redhat.com>
616 * stackstash.[ch]: Make stackstash refcounted
618 * collector.c, profile.c: Update for refcounted stackstash, plug
621 * collector.c (open_fd): Remove FIXME comment
623 2006-03-05 Soeren Sandmann <sandmann@redhat.com>
625 * sysprof-text.c, collector.c, sysprof.c: Do proper
628 Fri Mar 3 22:28:03 2006 Soeren Sandmann <sandmann@redhat.com>
630 * process.c (process_lookup_symbol): Check that the inodes match.
632 * binfile.c (read_symbols): Read the inode of the file
634 * binfile.c (read_symbols): Close the bfd if the symbol table
637 Thu Mar 2 22:54:37 2006 Soeren Sandmann <sandmann@redhat.com>
639 * treeviewutils.c (tree_view_foreach_visible): Handle NULL models.
641 * sysprof.glade, sysprof.c: Revert back to three pane layout.
643 2006-02-17 Bastien Nocera <hadess@hadess.net>
646 * module/sysprof-module.c: (timer_notify), (sysprof_open),
647 (sysprof_release): more ifdef's to make it work with Red Hat
648 Enterprise Linux 4's 2.6.9-based kernel
650 Sat Feb 4 23:53:05 2006 Søren Sandmann <sandmann@redhat.com>
652 * sysprof.glade: Remove ancestors pane in favor of radiobuttons in
655 * sysprof.c: Corresponding changes.
659 Wed Jan 25 11:24:04 2006 Søren Sandmann <sandmann@redhat.com>
663 Mon Jan 16 11:12:13 2006 Søren Sandmann <sandmann@redhat.com>
667 Sun Jan 15 20:22:20 2006 Soeren Sandmann <sandmann@redhat.com>
669 * module/sysprof-module.c (init_module): Print out sysprof version
672 Sun Jan 15 00:24:02 2006 Soeren Sandmann <sandmann@redhat.com>
676 * sysprof.c (build_gui): Rename 'callers' column 'ancestors'
678 * profile.c (profile_list_callers): Make this function list all
679 ancestors of the function. Also make it report correct numbers
682 * profile.c (profile_create_descendants): Remove debug spew
684 Sat Jan 14 18:24:43 2006 Soeren Sandmann <sandmann@redhat.com>
686 * configure.ac, Makefile.am: Only build GUI when the necessary
687 dependencies are found.
689 * sysprof.c (compute_text_width): Remove unused variable
691 * profile.c (build_object_list): Follow next instead of siblings.
693 Fri Jan 13 23:11:33 2006 Søren Sandmann <sandmann@redhat.com>
697 Fri Jan 13 22:59:48 2006 Soeren Sandmann <sandmann@redhat.com>
699 * module/sysprof-module.c (sysprof_open): Initialize retval.
701 * module/sysprof-module.c (sysprof_read): Copy contents of trace,
702 not tail to the buffer.
704 Wed Jan 11 20:31:11 2006 Søren Sandmann <sandmann@redhat.com>
706 * process.c (read_maps): Also make offset a gulong (Samuel Mimram)
708 Wed Jan 11 17:51:54 2006 Søren Sandmann <sandmann@redhat.com>
710 * collector.c: Remove debug spew.
714 Mon Jan 9 09:58:25 2006 Soeren Sandmann <sandmann@redhat.com>
716 * module/sysprof-module.c (timer_notify): Remove START_OF_STACK
719 Mon Jan 9 00:59:21 2006 Soeren Sandmann <sandmann@redhat.com>
721 * process.c (read_maps): Use gulong for addresses. Bug reported by
724 Sun Jan 8 03:22:22 2006 Soeren Sandmann <sandmann@redhat.com>
726 * process.c (process_flush_caches): Resurrect this function.
728 * collector.c (collector_reset): Call it from here
730 Sun Jan 8 02:19:34 2006 Soeren Sandmann <sandmann@redhat.com>
734 Thu Jan 5 17:52:10 2006 Søren Sandmann <sandmann@redhat.com>
736 * TODO: small updates
737 * sysprof.c: cosmetic updates
738 * module/sysprof-module.c: cosmetic updates
740 2005-12-20 Kristian Høgsberg <krh@redhat.com>
742 * module/sysprof-module.c: Remove left over debug print out and
743 add support for multiple clients (readers).
745 Tue Dec 20 16:03:29 2005 Soeren Sandmann <sandmann@redhat.com>
749 * sysprof-text.c (main): Make it try and load the module before
752 2005-12-20 Kristian Høgsberg <krh@redhat.com>
754 * Makefile.am: Dist and install udev rule.
756 * collector.c: (open_fd):
757 * sysprof-text.c: (no_module):
758 * sysprof.c: (on_start_toggled): Update device filename.
760 * 60-sysprof.rules: New udev rule file to set permissions for
763 * module/sysprof-module.c: Switch kernel module to use a misc char
764 device instead. Start and stop the timer on device open and
765 close instead of module load and unload.
767 Tue Dec 20 12:19:34 2005 Søren Sandmann <sandmann@redhat.com>
769 * configure.ac: Add backslashes, pointed out by Ralph Siemsen.
771 Mon Dec 19 17:39:09 2005 Søren Sandmann <sandmann@redhat.com>
773 * sysprof.c (add_text): Make the tree tree-shapeed.
775 Mon Dec 19 15:15:48 2005 Søren Sandmann <sandmann@redhat.com>
777 * module/sysprof-module.c (timer_notify): A few formatting
778 fixes. Hopefully make it work with x86-64.
780 2005-11-29 Soeren Sandmann <sandmann@redhat.com>
782 * sysprof.c (on_descendants_row_expanded_or_collapsed): New
783 function. Update screenshot window when rows are expanded and
786 2005-11-23 Soeren Sandmann <sandmann@redhat.com>
788 * sysprof.c (update_screenshot_window): Update the screenshot
791 Wed Nov 23 00:44:34 2005 Soeren Sandmann <sandmann@redhat.com>
793 * module/sysprof-module.c: Various cleanups
797 Tue Nov 22 23:38:09 2005 Soeren Sandmann <sandmann@redhat.com>
799 * module/sysprof-module.c: Remove unused pages_present()
802 2005-11-18 Matthias Clasen <mclasen@redhat.com>
804 * configure.ac: Make configure work.
806 2005-11-13 Soeren Sandmann <sandmann@redhat.com>
808 * process.c: Add some experimental (and unused) code to look up
811 Sat Nov 12 23:39:29 2005 Soeren Sandmann <sandmann@redhat.com>
813 * sysprof.c (set_sizes): Put the vertical splitter at 3/8 *
816 * configure.ac: Disable warning.
818 Sat Nov 12 19:44:43 2005 Søren Sandmann <sandmann@redhat.com>
820 * module/sysprof-module.c (read_frame): New function that uses
821 copy_from_user_inatomic() as check_user_pages_readable() has
822 disappeared in recent kernels.
824 * module/sysprof-module.c (timer_notify): Use it here.
828 * configure.ac: Change the wording of the CVS HEAD warning as this
829 change seems to also have fixed the lockup with rawhide kernels.
831 Wed Nov 9 00:24:11 2005 Soeren Sandmann <sandmann@redhat.com>
833 * treeviewutils.[ch]: Add new tree_view_foreach_visible()
836 * sysprof.c: Add update_screenshot_window() function.
838 Mon Nov 7 23:42:26 2005 Soeren Sandmann <sandmann@redhat.com>
840 * sysprof.c: Add beginning of a screenshot
843 * sysprof.glade: Add screenshot window plus menu items.
845 * stackstash.c: Remove unused function stack_node_list_leaves()
847 * xmlstore.c: Various crack
849 Sun Nov 6 23:03:49 2005 Soeren Sandmann <sandmann@redhat.com>
851 * profile.c (add_trace_to_tree): Test for !prev instead of !next.
853 Sun Nov 6 Soeren Sandmann <sandmann@redhat.com>
857 * collector.c (on_read): Only call back when a new sample actually
860 * collector.c (collector_stop): close the filedescriptor
862 * sysprof.c (on_start_toggled): Change sense of test.
864 * sysprof.c (ensure_profile): Stop the collector.
866 * sysprof.c (on_reset_clicked): Stop the collector when state
869 Sun Nov 6 18:31:23 2005 Soeren Sandmann <sandmann@redhat.com>
871 * stackstash.c (stack_stash_foreach):
872 * stackstash.c (stack_node_foreach_trace): Make these function
873 call back with GLists rather than GSLists.
875 * profile.c (add_trace_to_tree): Iterate backwards instead of
878 Sun Nov 6 17:06:52 2005 Soeren Sandmann <sandmann@redhat.com>
880 * profile.c (add_trace_to_tree): Turn this function into a
883 * stackstash.c (stack_node_foreach_trace): Make this function take
884 a StackFunction, and reimplement with do_callback().
886 Sat Nov 5 18:06:40 2005 Soeren Sandmann <sandmann@redhat.com>
888 * profile.c (profile_create_descendants): Use callbacks from
891 * stackstash.c (stack_node_foreach_trace): New function
892 * stackstash.c (do_node_callback): New function
894 Sat Nov 5 12:39:33 2005 Soeren Sandmann <sandmann@redhat.com>
896 * profile.c (add_trace_to_tree): Don't compute the total field.
898 * profile.h (struct ProfileDescendant): Remove 'total' field.
900 * sysprof.c: Delete DESCENDANTS_TOTAL column and everything
903 * profile.c: Remove commented out code
905 * sfile.c (handle_text): Don't copy the text
907 2005-11-04 Soren Sandmann <sandmann@redhat.com>
909 * collector.[ch]: Add copyright statement.
911 * collector.c (on_read): Handle time getting set backwards.
913 * collector.c: Remove unused empty_filedescriptor() function.
915 2005-11-03 Soren Sandmann <sandmann@redhat.com>
917 * configure.ac: Make the message about the kernel source package
918 more informative. Code from Kjetil Torgrim Homme.
920 * sysprof.c (on_start_toggled): Only delete the data if the
921 profiling can actually be started.
923 2005-11-01 Soeren Sandmann <sandmann@redhat.com>
925 * sysprof.c (on_start_toggled): Update GUI after showing error
928 * sysprof.glade: Rename File menu Profiler, move
929 Start/Profile/Reset here, delete View menu.
931 Mon Oct 31 23:41:33 2005 Soeren Sandmann <sandmann@redhat.com>
933 * stackstash.h (struct StackNode): Add "total" field.
935 * stackstash.c (stack_stash_add_trace): Keep track of the
938 * profile.c (profile_get_size): Sum the totals of the siblings
939 instead of all the children.
941 * profile.c (build_object_list): Correctly compute obj->self
943 * profile.c (profile_load): Don't ignore the node->total field.
945 * profile.c (serialize_call_tree): Save node->total instead of the
948 * profile.c (compute_total): Use n->total instead of computing it
951 * profile.c: Remove unused sum_children() function.
955 * process.c (process_get_from_pid): Plug leak.
957 Mon Oct 31 21:36:37 2005 Søren Sandmann <sandmann@redhat.com>
959 * sysprof.c (fill_main_list): free the profile objects.
961 * sysprof.c (struct Application): Remove unused variable.
963 Mon Oct 31 00:22:58 2005 Soeren Sandmann <sandmann@redhat.com>
965 * sysprof.c (set_application_title): Use APPLICATION_NAME macro
967 * sysprof.c (load_file): Don't leak the FileOpenData
971 2005-10-30 Soren Sandmann <sandmann@redhat.com>
973 * configure.ac, Makefile.am: Don't link sysprof-text to gtk+.
975 2005-10-30 Soren Sandmann <sandmann@redhat.com>
977 * Merge stackstash-reorg branch into HEAD
979 2005-10-30 Soren Sandmann <sandmann@redhat.com>
981 * Makefile.am, sysprof.c, sysprof-text.c, collector.[ch]: Rename
982 profiler -> collector
984 2005-10-30 Soren Sandmann <sandmann@redhat.com>
986 * profile.c (profile_load): Reenable loading.
988 2005-10-30 Soren Sandmann <sandmann@redhat.com>
990 * profile.c (profile_save): Reenable saving.
992 Sat Oct 29 21:37:42 2005 Soeren Sandmann <sandmann@redhat.com>
994 * stackstash.c (stack_stash_foreach): Rename
995 stack_stash_foreach_reversed() to stack_stash_foreach(). Delete
996 the old, unused stack_stash_foreach().
998 * stackstash.h: Remove stack_stash_foreach_reversed().
1000 * profiler.c: Use new name.
1002 Sat Oct 29 18:37:37 2005 Søren Sandmann <sandmann@redhat.com>
1006 Sat Oct 29 17:38:01 2005 Søren Sandmann <sandmann@redhat.com>
1008 * stackstash.[ch]: Add stack_stash_get_root().
1010 * profile.c (profile_get_size): Make this function work again.
1012 Sat Oct 29 16:58:22 2005 Søren Sandmann <sandmann@redhat.com>
1014 * profile.c: Delete all the obsolete stuff related to call tree.
1018 Sat Oct 29 16:52:32 2005 Søren Sandmann <sandmann@redhat.com>
1022 * profile.c: Comment out a lot of unused stuff. Also temporarily
1023 comment out loading and saving.
1025 Sat Oct 29 16:45:34 2005 Søren Sandmann <sandmann@redhat.com>
1027 * profile.c (compute_total): New function.
1029 * profile.c (profile_list_callers): Port this function over to use
1032 Sat Oct 29 16:22:28 2005 Søren Sandmann <sandmann@redhat.com>
1034 * profile.c (build_object_list): Make this function allocate
1037 * stackstash.[ch]: Add stack_stash_foreach_by_address()
1039 * profile.c (profile_get_objects): Use it here to reimplement
1040 profile_get_objects() in terms of the stackstash.
1042 Sat Oct 29 15:33:07 2005 Søren Sandmann <sandmann@redhat.com>
1044 * profile.c (profile_new): Add stash field to profile.
1046 * stackstash.[ch]: Add stack_node_list_leaves();
1048 * profile.c (profile_create_descendants): Port this function over
1049 to use StackNodes instead.
1051 Sat Oct 29 14:43:00 2005 Søren Sandmann <sandmann@redhat.com>
1053 Fix crash pointed reported by Rudi Chiarito.
1055 * stackstash.c (stack_stash_add_trace): Just return if
1058 * sysprof.c (on_read): Only trace if n_addresses != 0.
1060 Sat Oct 29 03:47:03 2005 Soeren Sandmann <sandmann@redhat.com>
1062 * profile.[ch], sysprof.c: Get rid of ProfileObject for callers
1067 Sat Oct 29 02:57:34 2005 Soeren Sandmann <sandmann@redhat.com>
1069 * stackstash.[ch]: Export the StackNode struct, add new
1070 nodes_by_data hashtable to StackStash object, keep track of
1071 whether objects are toplevels.
1073 * TODO: some updates.
1075 Sat Oct 29 14:29:55 2005 Søren Sandmann <sandmann@redhat.com>
1077 * README, TODO: updates
1079 Fri Oct 14 11:44:43 2005 Søren Sandmann <sandmann@redhat.com>
1081 * configure.ac: Add a warning about known bugs in the kernel
1082 module in this branch.
1086 Tue Oct 11 22:40:24 2005 Soeren Sandmann <sandmann@redhat.com>
1088 * module/sysprof-module.c (SAMPLES_PER_SECOND): Add back these
1089 constants, but this time make sure we won't divide by 0 or
1092 Mon Oct 10 22:50:57 2005 Soeren Sandmann <sandmann@redhat.com>
1094 * Merge in changes from HEAD
1096 Thu Oct 6 22:28:39 2005 Soeren Sandmann <sandmann@redhat.com>
1098 * stackstash.c (do_callback): Call stack func if node->size > 0,
1099 not if node->children != NULL
1100 * stackstash.c (do_reversed_callback): same
1101 * profile.c (generate_presentation_name): Delete this function
1102 * profile.c (generate_key): Delete this function.
1104 Wed Oct 5 23:57:08 2005 Soeren Sandmann <sandmann@redhat.com>
1108 * profile.c (generate_call_tree): Delete all the process stuff
1110 * profile.c (node_add_trace): Delete process argument
1112 * profile.c (lookup_profile_object): Don't generate a string key,
1113 just use the address directly.
1115 * profile.c (ensure_profile_object): Use the address as
1118 * profiler.c (profiler_create_profile): Pass in the resolved
1121 Sun Oct 2 21:08:16 2005 Soeren Sandmann <sandmann@redhat.com>
1123 * sysprof.c (on_delete): Work around glib bug 317775
1125 * sysprof-text.c (signal_handler): Work around glib bug 317775
1127 Sun Oct 2 16:31:37 2005 Soeren Sandmann <sandmann@redhat.com>
1129 * stackstash.c (stack_stash_foreach_reversed): Add this function
1131 * process.c: Add a per-process undefined symbol.
1133 * profiler.c (resolve_symbols): Add code to do symbol resolution
1138 Sat Oct 1 18:32:52 2005 Soeren Sandmann <sandmann@redhat.com>
1140 * profile.h, sysprof.c: Remove some unnecessary includes.
1142 Sat Oct 1 18:12:44 2005 Soeren Sandmann <sandmann@redhat.com>
1144 * profiler.[ch]: Add profiler_get_n_samples(); add unused
1145 empty_file_descriptor()
1147 * profile.h: Add include guards
1149 * process.[ch]: Delete process_flush_caches();
1151 * helper.[ch]: Remove these files
1153 * sysprof.c: Use the new profiler class.
1155 * sysprof-text.c: Use the new profiler class
1157 * Makefile.am: Various cleanups.
1159 Sat Oct 1 17:05:43 2005 Soeren Sandmann <sandmann@redhat.com>
1161 * profiler.[ch]: New files containing a profiler class with code
1162 that can be shared between gui and command line.
1164 * sysprof.c (main): Remove some commented out code
1166 * stackstash.c (do_callback): Store the trace on the stack instead
1167 of allocating it dynamically.
1169 Sat Oct 1 01:50:15 2005 Soeren Sandmann <sandmann@redhat.com>
1171 * stackstash.c (sstack_stash_add_trace): Simplify this function a
1174 * helper.c: Include "process.h"
1176 Sat Oct 1 01:29:06 2005 Soeren Sandmann <sandmann@redhat.com>
1178 * profile.c (generate_object_table, generate_call_tree): Don't
1179 take the process as an argument. Instead dig it out of the
1182 * helper.c (add_trace_to_stash): New file, that adds a stacktrace
1183 and a process to a stackstash.
1185 * stackstash.[ch]: Remove all traces of the concept of
1186 Process. Simplify stack_node_add_trace() somewhat.
1188 Mon Oct 10 22:49:03 2005 Soeren Sandmann <sandmann@redhat.com>
1190 * module/sysprof-module.c: Delete lots of commented-out code.
1192 Mon Oct 10 14:33:50 2005 Søren Sandmann <sandmann@redhat.com>
1194 * configure.ac: Add --disable-kernel-module option. Patch from
1197 Mon Oct 10 13:00:20 2005 Robert Love <rml@novell.com>
1199 * module/sysprof-module.c: Don't use INTERVAL or SAMPLES_PER_SECOND
1200 now that we use register_timer_hook(), which hits off the timer
1201 interrupt at HZ freqency (1/250 second on x86).
1203 Sat Oct 1 01:21:57 2005 Soeren Sandmann <sandmann@redhat.com>
1207 Wed Sep 28 12:08:32 2005 Søren Sandmann <sandmann@redhat.com>
1209 * sysprof-text.c: Add my name to the copyright statement
1211 Tue Sep 27 01:33:33 2005 Soeren Sandmann <sandmann@redhat.com>
1213 * process.c (process_lookup_symbol): If the address is 0x01, treat
1214 as kernel, regardless of whether we have a map for that address or
1217 * module/sysprof-module.c (timer_notify): Take a stack trace of
1218 the current process, even when we are in kernel mode. This way we
1219 can assign kernel activity to individual user space stacktraces.
1223 Sat Sep 24 14:41:23 2005 Soeren Sandmann <sandmann@redhat.com>
1225 * configure.ac: Bump version number to 1.1.0
1227 * signal-handler.c: Many, mostly cosmetic, cleanups
1229 * sysprof-text.c: uninstall signal handlers when exiting
1231 Sat Sep 24 00:01:42 2005 Soeren Sandmann <sandmann@redhat.com>
1233 * Nakefile.am, sysprof-text.c: New non-GUI version, written
1234 by Lorenzo Colitti, with some changes by me.
1236 * signal-handler.[ch]: New files that provide a way to get UNIX
1237 signals into a glib main loop.
1239 * README: add Lorenzo to credits
1241 Fri Sep 23 20:46:40 2005 Soeren Sandmann <sandmann@redhat.com>
1243 * sysprof.c (build_gui): If the glade file doesn't exists pop up
1244 an alert suggesting running 'make install'
1246 * sysprof.c: Remove some commented out code
1248 Sat Sep 17 14:35:32 2005 Soeren Sandmann <sandmann@redhat.com>
1250 * Release 1.0 (this comment was added post facto)
1252 * Bump version numbers
1256 Sun Sep 4 19:38:51 2005 Soeren Sandmann <sandmann@redhat.com>
1260 Tue Aug 30 16:57:33 2005 Søren Sandmann <sandmann@redhat.com>
1262 * configure.ac: Complain if we can't find /lib/modules/`uname
1265 * process.c (process_lookup_symbol): Take an address of 0x1 to
1268 * module/sysprof-module.c (timer_notify): When reporting in-kernel
1269 time, give the current pid instead of -1.
1273 Mon Aug 15 20:39:11 2005 Soeren Sandmann <sandmann@redhat.com>
1275 * binfile.c, process.c, profile.c: Fix some warnings.
1277 Mon Aug 1 23:49:51 2005 Soeren Sandmann <sandmann@redhat.com>
1279 * module/sysprof-module.c (REG_INS_PTR): Add support for
1280 amd64/x86-64. Patch from Mike Frysinger.
1282 Sun Jul 10 10:51:52 2005 Soeren Sandmann <sandmann@redhat.com>
1284 * binfile.c: Various minor clean-ups
1286 Sat Jul 9 23:20:39 2005 Soeren Sandmann <sandmann@redhat.com>
1288 * binfile.c (bin_file_new): Cache BinFiles by filename.
1290 * stackstash.c (stack_stash_free): Plug leak
1292 * process.c (process_free_maps): Plug leak
1294 * module/Makefile (install): Check that depmod exists before
1297 Sun Jun 19 15:42:34 2005 Søren Sandmann <sandmann@redhat.com>
1299 * module/sysprof-module.c (SAMPLES_PER_SECOND): Set to 200.
1301 * sysprof.c (on_about_activated): Add version information
1303 * configure.ac: Bump version to 0.91
1307 Sat Jun 18 22:45:04 2005 Søren Sandmann <sandmann@redhat.com>
1311 * configure.ac: Check for Linux 2.6.11
1313 * process.c (get_pidname): Present pid=-1 as [kernel].
1315 * module/sysprof-module.c: Use register_timer_hook() instead of
1316 a kernel timer. Set trace.pid to -1 if interrupt happens in
1319 Sun Jun 12 20:30:37 2005 Soeren Sandmann <sandmann@redhat.com>
1321 * sysprof.c (build_gui): Disable type-ahead search for all the
1324 * sysprof.c (on_object_selection_changed): Call it from here
1326 * sysprof.c (expand_descendants_tree): New function that
1327 determines what nodes to expand in the descendatns view.
1329 Sun Jun 12 13:37:15 2005 Soeren Sandmann <sandmann@redhat.com>
1333 Thu Jun 9 13:28:33 2005 Søren Sandmann <sandmann@redhat.com>
1337 Thu May 26 01:10:45 2005 Soeren Sandmann <sandmann@redhat.com>
1339 * sysprof.c (on_callers_row_activated): Grab focus on the callers
1340 view, not the descendants view.
1342 * sysprof.c (on_read): Add a short "dead" period after a reset,
1343 so that 'samples' will actually be 0 for a while.
1345 Mon May 23 01:37:26 2005 Soeren Sandmann <sandmann@redhat.com>
1347 * README: Remove comment about auto* stuff, link to
1349 http://www.daimi.au.dk/~sandmann/sysprof/
1351 Sun May 23 16:10:00 2005 Soeren Sandmann <sandmann@redhat.com>
1353 -=-=-=-=-=- Release v. 0.9 -=-=-=-=-=-
1355 Sun May 22 21:06:36 2005 Soeren Sandmann <sandmann@redhat.com>
1359 Sat May 21 20:58:59 2005 Soeren Sandmann <sandmann@redhat.com>
1363 * sysprof.c (on_menu_item_activated): New function.
1365 * sysprof.c (build_gui): Hook up menu items.
1367 * module/sysprof-module.c (init_module): Remove module_init/exit
1368 as they cause build failure on kernels < 2.6.11.
1370 Sat May 21 00:59:38 2005 Søren Sandmann <sandmann@redhat.com>
1374 Wed May 18 22:21:52 2005 Søren Sandmann <sandmann@redhat.com>
1376 * module/sysprof-module.c: Remove ref-counting since it didn't
1377 actually do any good.
1379 * sysprof.c (load_module): Use g_spawn_command_line_sync() instaed
1382 Sun May 15 11:56:30 2005 Søren Sandmann <sandmann@redhat.com>
1384 * module/sysprof-module.c: First attempt at making module robust
1385 agains unloading when in use.
1387 Sun May 15 10:24:09 2005 Soeren Sandmann <sandmann@redhat.com>
1389 * Makefile.am, module/Makefile: Do more-or-less what the automake
1390 manual suggests about foreign subdirectories.
1392 Sat May 14 16:36:32 2005 Søren Sandmann <sandmann@redhat.com>
1394 * sysprof.c (set_application_title): Update the title bar on
1397 * treeviewutils.c, sfile.c: Fix compiler warnings
1399 * Makefile.am: define PIXMAPDIR
1401 Sat May 14 15:49:52 2005 Søren Sandmann <sandmann@redhat.com>
1407 * AUTHORS, INSTALL, Makefile.am, NEWS, configure.ac: New files
1409 * module/Makefile: New file
1411 * module/sysprof-module.c, module/sysprof-module.h: Move these
1412 files to their own directy, as the kernel build system does not
1413 work very well with auto*.
1415 * sysprof.c, autogen.sh: Some auto* changes.
1417 Sun May 8 16:31:32 2005 Søren Sandmann <sandmann@redhat.com>
1419 * TODO: more updates
1421 * sysprof.c: Try loading the module before complaining
1423 Sun May 8 15:45:08 2005 Søren Sandmann <sandmann@redhat.com>
1425 * sysprof-module.c (do_generate): Restore lost wake_up().
1427 * sfile.c: Comment out use of bz2.
1429 * Makefile: Add an install target. Add GLADE_DIR and PIXMAP_DIR
1431 * sysprof.c (build_gui): use GLADE_DIR and PIXMAP_DIR here.
1435 Sat May 7 13:57:17 2005 Søren Sandmann <sandmann@redhat.com>
1437 * sfile.c (sfile_output_free): Implement this function
1439 * sfile.c (sfile_input_free): Implement this function
1441 Fri May 6 23:38:48 2005 Søren Sandmann <sandmann@redhat.com>
1443 * sysprof-module.c (do_generate): Another desparate hack to try
1444 and prevent the oops.
1446 Sat Apr 30 16:57:23 2005 Soeren Sandmann <sandmann@redhat.com>
1448 * process.c (PAGE_SIZE): Use getpagesize()
1450 * TODO: More updates
1452 Sat Apr 30 15:44:12 2005 Søren Sandmann <sandmann@redhat.com>
1456 * sysprof-module.c (get_regs): Change the way we get registers for
1457 a task so that it works with 2.6.11
1459 Sat Apr 23 19:17:18 2005 Søren Sandmann <sandmann@redhat.com>
1463 Sat Apr 23 19:12:52 2005 Søren Sandmann <sandmann@redhat.com>
1465 * profile.c: Store a pointer to the root of the call tree
1467 * profile.c (profile_load): Call sfile_input_free()
1469 * sfile.c (sformat_free): Implement this function
1471 Sat Apr 23 18:38:46 2005 Søren Sandmann <sandmann@redhat.com>
1473 * sfile.c (post_process_read_instructions): Check pointer types
1475 * sfile.c (post_process_instructions_recurse): Delete this unused function
1477 Sat Apr 23 17:49:33 2005 Søren Sandmann <sandmann@redhat.com>
1479 * sysprof-module.c (page_readable): New function to check if the
1480 page is readable before reading. Noop on kernel <= 2.6.11
1482 * sysprof-module.c (get_mm, put_mm): New functions to confine
1485 Sat Apr 23 17:48:22 2005 Søren Sandmann <sandmann@redhat.com>
1487 * Makefile (MODCFLAGS): Disable optimization as I suspect
1488 the oops is related to miscompilation.
1490 Fri Apr 22 00:09:16 2005 Soeren Sandmann <sandmann@redhat.com>
1492 * sysprof-module.c (read_user_space): On >= 2.6.11 check that the
1493 pages are present and readable before reading them.
1495 Tue Apr 19 23:26:45 2005 Kristian Høgsberg <krh@bitplanet.net>
1497 * Makefile (check): Add simple check target that runs a sanity
1498 check of the build environment.
1500 Sun Apr 17 00:20:41 2005 Soeren Sandmann <sandmann@redhat.com>
1502 * sysprof.c (on_open_clicked): Factor out some stuff in their own
1505 * sysprof.c (load_file): Idle handler to load files given on the
1508 * sysprof.c (main): If a filename is passed on the command line,
1509 load it in an idle handler.
1511 Sun Apr 17 00:19:03 2005 Soeren Sandmann <sandmann@redhat.com>
1515 Sat Apr 16 19:51:48 2005 Soeren Sandmann <sandmann@redhat.com>
1517 * sysprof-module.c (read_user_space): Read a whole page at a time.
1519 Sat Apr 16 14:15:55 2005 Soeren Sandmann <sandmann@redhat.com>
1523 * sysprof-module.c (x_access_process_vm): On kernel 2.6.9 and
1524 later use get_task_mm()/mmput() instead of directly accessing
1527 Sat Apr 16 01:54:18 2005 Søren Sandmann <sandmann@redhat.com>
1529 * TODO: Add backtrace for kernel oops.
1531 Fri Apr 15 16:37:45 2005 Soeren Sandmann <sandmann@redhat.com>
1535 * sysprof.c (sorry): If you hit profile when the module isn't
1536 loaded, pop up an annoying dialog.
1538 * sysprof-module.c: Clean-ups, remove various unused abstractions.
1540 Sat Apr 9 17:49:13 2005 Søren Sandmann <sandmann@redhat.com>
1542 * COPYING: Add a copy of the GPL
1544 Sat Apr 9 17:04:50 2005 Søren Sandmann <sandmann@redhat.com>
1546 * Makefile: Remove debug spew
1548 * *: Add copyright notices
1550 Fri Apr 8 21:30:02 2005 Søren Sandmann <sandmann@redhat.com>
1552 * TODO: More updates
1554 Fri Apr 8 20:48:58 2005 Søren Sandmann <sandmann@redhat.com>
1556 * sysprof.c (build_gui): Load the icon, hook up "about"
1559 * sysprof.c (on_about_activated): New function. Show an about
1562 * sysprof.c (struct Application): Add an icon field
1566 * sysprof-icon.png: Icon, drawn by Diana Fong
1568 Tue Apr 5 23:01:02 2005 Søren Sandmann <sandmann@redhat.com>
1570 * binfile.c (read_symbols): Put back the weird loop, and stop
1571 pretending I understand this. This time use SEC_ALLOC instead of
1574 Tue Apr 5 20:13:44 2005 Søren Sandmann <sandmann@redhat.com>
1576 * process.c (process_ensure_map): Add commented out debug spew.
1578 * process.c (process_lookup_symbol): Remove all should_offset()
1579 function and all references to it.
1581 * binfile.c (bin_file_lookup_symbol): Document that address must
1582 be in file coordinates.
1584 * binfile.c (read_symbols): Remove misguided code that tried to
1585 guess the load address of the file. Instead, do all computations
1586 in "file coordinates". Also fix a memory leak. Add commented out
1589 * binfile.c (separate_debug_file_exists): Fix signedness
1591 Tue Apr 5 14:34:43 2005 Søren Sandmann <sandmann@redhat.com>
1593 * sysprof-module.c (x_access_process_vm): Make it compile with
1598 Mon Apr 4 00:57:11 2005 Soeren Sandmann <sandmann@redhat.com>
1600 * sysprof.c: Busy cursors in many more places.
1604 Sun Apr 3 23:28:45 2005 Soeren Sandmann <sandmann@redhat.com>
1606 * sysprof-module.c (do_generate): Re-schedule the timeout here
1607 instead of in on_timer().
1609 * sysprof-module.c (on_timer): Only block tasks in the
1612 Sun Apr 3 17:03:33 2005 Soeren Sandmann <sandmann@redhat.com>
1614 * sysprof-module.c (queue_generate_stack_trace): Put current
1617 * sysprof-module.c (do_generate): Wake up the traced process
1619 Thu Mar 31 23:09:09 2005 Soeren Sandmann <sandmann@redhat.com>
1621 * sysprof.c (build_gui): Remove stray %
1623 Thu Mar 31 21:18:13 2005 Søren Sandmann <sandmann@redhat.com>
1625 * treeviewutils.c (add_double_format_column): Right justify numbers
1627 * sysprof.c (build_gui): Add a space after the numbers
1629 * sysprof.c (on_callers_row_activated): Focus object view
1631 * sysprof.c (on_descendants_row_activated): Focus new descendants
1634 Thu Mar 31 19:51:51 2005 Søren Sandmann <sandmann@redhat.com>
1636 * sysprof-module.c (do_generate): Walk all threads, not just all
1639 * TODO: Add disk profiling ideas
1641 Thu Mar 31 00:19:47 2005 Soeren Sandmann <sandmann@redhat.com>
1643 * sysprof.c (set_busy): Make this function work
1645 * sysprof.c (on_profile_toggled): Use it here
1647 * sysprof.c (on_object_selection_changed): And here
1649 * profile.c (add_trace_to_tree): Use GPtrArrays instead of
1650 GHashTable and GList.
1652 Mon Mar 28 11:09:02 2005 Soeren Sandmann <sandmann@redhat.com>
1656 Sat Mar 26 19:26:52 2005 Søren Sandmann <sandmann@redhat.com>
1658 * sysprof.c: Show the right number of samples afte Open; remove
1659 shadows from menu bars and toolbars; some other tweaks.
1661 Sat Mar 26 11:26:00 2005 Soeren Sandmann <sandmann@redhat.com>
1665 * sfile.c (add_string): Use g_markup_escape_text() to escape the
1666 string before adding it to the file.
1668 * sysprof.c (empty_file_descriptor): New function to make sure
1669 samples generated before profiling started are ignored.
1670 (set_busy): New commented out function to set a busy cursor.
1672 Fri Mar 25 21:31:08 2005 Søren Sandmann <sandmann@redhat.com>
1674 * sysprof.c (update_sensitivity): Comment out sensitivity of reset button.
1676 Fri Mar 25 21:25:31 2005 Søren Sandmann <sandmann@redhat.com>
1678 * sysprof.c (get_current_object): Return NULL if nothing is
1681 Fri Mar 25 20:54:08 2005 Søren Sandmann <sandmann@redhat.com>
1683 * TODO: More updates
1685 Fri Mar 25 20:25:44 2005 Søren Sandmann <sandmann@redhat.com>
1687 * README: Require gtk+ 2.6
1689 * treeviewutils.c (add_plain_text_column): Ellipsisize text columns.
1691 Fri Mar 25 19:39:24 2005 Søren Sandmann <sandmann@redhat.com>
1693 * TODO: Remove "loading and saving"
1695 * sysprof.glade: Add ellipsises to Open and Save menu items.
1697 * sysprof.c (overwrite_file): Add this function, cutted-and-pasted
1700 * sysprof.c (on_save_as_clicked, on_open_clicked): Use
1701 GtkFileChoosers to pick the names.
1703 * sysprof.c: Various GUI updates.
1705 Fri Mar 25 19:36:28 2005 Søren Sandmann <sandmann@redhat.com>
1707 * sfile.c (bz2_compress): Add this function Don't actually make
1708 any produce use of it.
1710 * profile.c (make_hash_table): Get rid of warning
1712 Thu Mar 24 19:09:33 2005 Søren Sandmann <sandmann@redhat.com>
1714 * sysprof.c: Various GUI updates
1718 * sfile.[ch] (sformat_new_optional): Add some notes about an
1719 "optional" construction.
1721 Wed Mar 23 00:04:07 2005 Soeren Sandmann <sandmann@redhat.com>
1723 Primitive loading and saving.
1725 * sysprof.c (on_open_clicked): Hook up loading.
1727 * sfile.c: Add a copy of g_file_replace() from glib CVS HEAD.
1729 * sfile.c (add_string): Escape and quote the string
1731 * sfile.c (sfile_load): Initialize current_instruction and
1732 instructions_by_location
1734 * sfile.c (post_process_instructions_recurse): Handle NULL
1737 * sfile.c (handle_begin_element, handle_end_element, handle_text):
1738 Move error handling here from state_transition_begin/text/end.
1740 * sfile.c (handle_text): Discard whitespace-only strings
1742 * sfile.c (sfile_get_pointer, sfile_get_integer,
1743 sfile_get_string): expect both begin, value, and end transitions.
1745 * sfile.c (hook_up_pointers): Only treat instructions as pointer
1746 values when they are. Handle NULL targets properly.
1748 * sfile.c (get_number): Fix a few read-freed-data bugs
1750 * profile.c (profile_load): Call sfile_end_get() for the profile;
1751 build the nodes_by_objects hash table. Build the call tree.
1753 * profile.c (create_format): Don't store next pointer, but do
1754 store total, self and toplevel.
1756 * profile.c (make_hash_table): New function to build
1757 nodes_by_object hashtable from loaded data
1759 Sat Mar 12 11:05:19 2005 Soeren Sandmann <sandmann@redhat.com>
1761 * sysprof-module.c: Fix small bug in add_timeout()
1762 * sysprof.c (build_gui): More descriptive tree labels
1765 Thu Mar 10 16:37:52 2005 Søren Sandmann <sandmann@redhat.com>
1767 * sysprof.c (build_gui): s/Cummulative/Cumulative/. Pointed out by
1770 Mon Mar 7 14:47:09 2005 Søren Sandmann <sandmann@redhat.com>
1772 * README: Add note that you need to compile the module with
1773 the same compiler that compiled the kernel.
1775 Sun Mar 6 22:56:21 2005 Soeren Sandmann <sandmann@redhat.com>
1777 * sfile.c: Generate id's for objects and pointers.
1779 Sat Mar 5 01:09:33 2005 Soeren Sandmann <sandmann@redhat.com>
1781 * sfile.c: Bug fixes. Add actual generation.
1783 Fri Mar 4 13:47:13 2005 Søren Sandmann <sandmann@redhat.com>
1785 * sysprof.c: Remove include of non-existing tracing.h
1787 Thu Mar 3 23:48:13 2005 Soeren Sandmann <sandmann@redhat.com>
1789 * profile.c (profile_load): Write this function.
1791 * sfile.c: Add support for user defined record and list types.
1792 Simplify logic a lot.
1794 Wed Mar 2 23:39:50 2005 Soeren Sandmann <sandmann@redhat.com>
1796 * profile.[ch], sfile.[ch]: Experiment with a
1797 file-format-description format.
1799 * sysprof.c: Add commented out code using /proc/ based
1802 Fri Jan 21 11:23:54 2005 Søren Sandmann <sandmann@redhat.com>
1804 * README: Some updates - add note about SMP kernels.
1806 * sysprof-module.c: Go back to just sampling the current
1809 * ChangeLog: I guess these do make sense, so start one.