Commit Graph

154 Commits

Author SHA1 Message Date
1e332ab35a Rename sysprof-text to sysprof-cli 2009-08-19 07:15:42 -04:00
9774bca836 TODO 2009-08-13 21:51:13 -04:00
97ac391be3 TODO 2009-02-22 01:04:30 -05:00
f83083dc42 TODO 2009-02-21 22:50:27 -05:00
af294337bd Add percent signs; update TODO 2009-02-20 07:33:24 -05:00
e11dfce31f Apply patch from binutils to demangle local-source names. Binutils
Wed Jun  4 21:52:17 2008  Søren Sandmann  <sandmann@redhat.com>

	* demangle.c: Apply patch from binutils to demangle local-source
	names. Binutils changelog:

	2007-05-05  Geoffrey Keating  <geoffk@apple.com>

		* cp-demangle.c (d_name): Detect local-source-name.
		(d_prefix): Likewise.
		(d_unqualified_name): Implement local-source-name.

	* sysprof.c: Update copyright statement
	


svn path=/trunk/; revision=434
2008-06-05 02:09:33 +00:00
5b6c578c1a Update TODO
svn path=/trunk/; revision=426
2008-05-30 22:12:51 +00:00
282783bf2b Fix bug where the build id name was generated incorrectly.
2008-05-07  Soren Sandmann Pedersen  <sandmann@daimi.au.dk>

	* binfile.c (get_build_id_file): Fix bug where the build id name
	was generated incorrectly. 

	Make a copy of the debug name, not the input name.


svn path=/trunk/; revision=418
2008-05-08 00:17:13 +00:00
1d1d5dd945 Don't leak kallsyms
2008-04-26  Soren Sandmann <sandmann@daimi.au.dk>

        * process.c (get_kernel_symbols): Don't leak kallsyms

        * sysprof.c (gather_widgets): Don't leak the GladeXML


svn path=/trunk/; revision=415
2008-04-26 08:47:29 +00:00
3e465571bb Get rid of all calls to glade_xml_get_widget(). (gather_widgets): Instead
2008-04-26  Soren Sandmann <sandmann@daimi.au.dk>

        * sysprof.c (build_gui): Get rid of all calls to
        glade_xml_get_widget().
        (gather_widgets): Instead get all the widgets here.

	* TODO: updates


svn path=/trunk/; revision=414
2008-04-26 08:31:23 +00:00
90d1fa1de5 Initial build id support
svn path=/trunk/; revision=410
2008-04-20 20:58:11 +00:00
62ffe734b0 Call back after collecting all traces.
2008-03-24  Soren Sandmann <sandmann@daimi.au.dk>

        * collector.c (collect_traces): Call back after collecting all
        traces. 

        * TODO: update

        * process.c: Simpler code to find vmlinux 



svn path=/trunk/; revision=406
2008-03-29 19:08:01 +00:00
b98db05f9b Add commented out code to reject callback.
2008-02-17  Soren Sandmann  <sandmann@redhat.com>

	* collector.c (lookup_symbol): Add commented out code to reject
	callback.

	* elfparser.c (struct ElfParser): Store the filename if any
	(elf_parser_get_sym_address): Subtract the load address, so the
	result will be an offset into the text section.

	* process.[ch] (process_lookup_symbol): Add an offset out-argument
	
	* binfile.[ch] (bin_symbol_get_address): New function

	* TODO: updates



svn path=/trunk/; revision=397
2008-02-17 23:31:19 +00:00
d3b5cc446f Update TODO
svn path=/trunk/; revision=394
2007-11-19 17:56:02 +00:00
8d73f2d391 Make heuristic stack scanning more accurate
2007-11-18  Soren Sandmann <sandmann@daimi.au.dk>

        * module/sysprof-module.c (heuristic_trace): Make heuristic stack
        scanning more accurate



svn path=/trunk/; revision=393
2007-11-19 03:34:19 +00:00
c00ccd69c7 updates
2007-11-16  Soren Sandmann <sandmann@daimi.au.dk>

	* TODO: updates
	
	* module/sysprof-module.c (sysprof_poll): Only select readable
	when there is at least eight traces available

	* collector.c (collect_traces): New function, old on_read()
	
	* collector.c (collector_create_profile): Collect traces here as
	well.


svn path=/trunk/; revision=388
2007-11-17 02:53:22 +00:00
d82fe2e474 Updates
2007-11-16  Soren Sandmann <sandmann@daimi.au.dk>

	* TODO: Updates
	
	* process.c (process_locate_map): Move map to front

	* profile.c (profile_load): Ignore the toplevel field in the file
	since we can compute it ourselves.

	* stackstash.c (stack_stash_decorate): New function
	
	* stackstash.c (stack_stash_add_trace): Decorate the tree lazily
	instead of on each sample.



svn path=/trunk/; revision=387
2007-11-16 07:47:22 +00:00
0118fb459b Update TODO
svn path=/trunk/; revision=386
2007-10-30 01:48:27 +00:00
1867b97a8d Use an array instead of a list. Look for vmlinux in the source directory.
2007-10-22  Soren Sandmann <sandmann@daimi.au.dk>

        * process.c (look_for_vmlinux): Use an array instead of a
        list. Look for vmlinux in the source directory.

        * elfparser.c (elf_parser_get_crc32): Only use MADV_DONTNEED if
        the data is file-backed.

        * TODO: updates.

        Various formatting fixes


svn path=/trunk/; revision=385
2007-10-25 02:45:54 +00:00
97076b7d0f Make this a two-pass algorithm, one pass to add the trace, and one to do
2007-10-22  Soren Sandmann <sandmann@daimi.au.dk>

	* profile.c (add_trace_to_tree): Make this a two-pass
	algorithm, one pass to add the trace, and one to do the
	accounting.


svn path=/trunk/; revision=384
2007-10-22 14:11:01 +00:00
002f00a950 Fix some spelling errors
2007-10-22  Soren Sandmann <sandmann@daimi.au.dk>

	* sfile.c: Fix some spelling errors

	* profile.[ch], sysprof.[ch]: Change "non_recursive" to
	"cumulative" to match the UI

	* profile.c (add_trace_to_tree): Add a couple of asserts.

	* TODO: updates


svn path=/trunk/; revision=383
2007-10-22 13:48:30 +00:00
f1cbdbf27c Add support for looking up kernel symbols from /proc/kallsyms
2007-09-16  Soren Sandmann <sandmann@daimi.au.dk>

	* process.c (process_lookup_kernel_symbol): Add support for
	looking up kernel symbols from /proc/kallsyms

	* sysprof-text.c (dump_data): Print note that the file is being
	saved.

	* module/sysprof-module.[ch] (timer_notify): Send a copy of the
	kernel stack to userspace.

	* collector.c: Do kernel symbol lookups.
	

svn path=/trunk/; revision=372
2007-09-17 01:43:07 +00:00
39577811d3 TODO updates
svn path=/trunk/; revision=368
2007-08-26 03:55:15 +00:00
8af6c38541 Update TODO
svn path=/trunk/; revision=367
2007-08-11 23:08:58 +00:00
ef23082882 Update TODO
svn path=/trunk/; revision=366
2007-08-11 23:06:08 +00:00
6fa782dcd6 svn path=/trunk/; revision=355
svn path=/trunk/; revision=355
2007-02-25 04:15:51 +00:00
cf70d3a7ed Updates
2007-02-24  Soren Sandmann <sandmann@daimi.au.dk>

        * TODO: Updates

        * binparser.[ch]: Get rid of BIN_UINTn types; replace with single
        BIN_UINT, where the user must provide the width

        * elfparser.c: Update to new binparser API



svn path=/trunk/; revision=354
2007-02-24 08:49:51 +00:00
494e40a912 Switch to a simpler conceptual model. Update to binparser API changes.
2007-02-24  Soren Sandman <sandmann@daimi.au.dk>

        * binparser.[ch]: Switch to a simpler conceptual model.
        * elfparser.c: Update to binparser API changes.
        * TODO: updates



svn path=/trunk/; revision=352
2007-02-24 07:15:24 +00:00
9af533a11f Declare bin_parser_free();
2006-11-19   Soren Sandmann <sandmann@redhat.com>

        * binparser.h: Declare bin_parser_free();

        * elfparser.c (elf_parser_get_crc32): Use madvise(DONT_NEED) on
        the file.

        * process.c (struct Process): Remove do_offset.
2006-11-19 22:48:28 +00:00
abb66e7dc7 udpate
Thu Nov  9 17:55:24 2006  Søren Sandmann  <sandmann@redhat.com>

        * TODO (-): udpate
2006-11-09 22:55:53 +00:00
ea0690817c Look in the correct directory for debug info files. (Tim Rowley)
Thu Nov  9 16:47:35 2006  Søren Sandmann  <sandmann@redhat.com>

        Look in the correct directory for debug info files. (Tim Rowley)

        * binfile.c (N_TRIES): Add this instead of hardcoding '3'

        * binfile.c (get_debug_file): Also look in "/usr/lib/debug", in
        addition to "$(libdir)/debug".

        * binfile.c: Comment out the debug spew.
2006-11-09 21:56:28 +00:00
9a1ed3d336 Increase the max number of addresses to 1021, reorganise SysprofMmapArea
2006-10-26  Soren Sandmann <sandmann@daimi.au.dk>

        * module/sysprof-module.h (struct SysprofStackTrace): Increase the
        max number of addresses to 1021, reorganise SysprofMmapArea to
        make the traces naturally page aligned.

        * TODO: Update
2006-11-02 06:54:12 +00:00
d78e744422 Make the pointer array static to improve cache behavior and reduce calls
2006-10-25  Soren Sandmann <sandmann@daimi.au.dk>

        * profile.c (add_trace_to_tree): Make the pointer array static to
        improve cache behavior and reduce calls to malloc().

        * process.c (lookup_kernel_symbol): Remove obsolete comment.
2006-10-26 05:13:16 +00:00
c6978f660b +2006-10-25 Soren Sandmann <sandmann@daimi.au.dk> + + * process.c
+2006-10-25  Soren Sandmann <sandmann@daimi.au.dk>
+
+       * process.c (free_maps): Take a pointer to a variable that
+
+       * process.c: Stop coalescing processes with the same cmdline.
+
+       * TODO: updates.
+
2006-10-25 04:47:06 +00:00
df07f71539 Make this function return a list of immediate callers again.
2006-10-09  Soren Sandmann <sandmann@daimi.au.dk>

	* profile.c (profile_list_callers): Make this function return a
	list of immediate callers again.

	* sysprof.c (build_gui): Change label back to "Callers"

	* process.c (get_kernel_symbols): Only attempt to read the kernel
	symbols once.
2006-10-11 05:37:24 +00:00
b54b0809b6 New function.
2006-10-09  Soren Sandmann  <ssp@localhost.localdomain>

	* process.c (process_get_vdso_bytes): New function.

	* elfparser.c (parser_new_from_data): export this function as
	elf_parser_new_from_data().

	* binfile.c (read_inode): Don't stat if filename is
	'[vdso]'. Instead just return -1;
	(bin_file_new): Use elf_parser_new_from_data() when the file is
	[vdso].

	* process.c (read_maps): Change the offset of the vdso map to 0
	and the inode to -1.

	* elfparser.c (elf_parser_lookup_symbol): Remove unused 'size'
	variable.

	* binfile.c (find_separate_debug_file): Deal with cycles in the
	debuglink graph.

	* configure.ac: Set version to 1.1.0. Print warning about HEAD.
2006-10-09 21:32:24 +00:00
a6145207ca New function to support --version option
2006-10-08  Soren Sandmann <sandmann@redhat.com>

	* sysprof.c (process_options): New function to support --version option
2006-10-08 22:05:47 +00:00
c27e5debc5 Support _debuglink recursions.
2006-10-08  Soren Sandmann <sandmann@daimi.au.dk>

	* binfile.c (find_separate_debug_file): Support _debuglink
	recursions.

	* elfparser.c: Check that the sections have valid types before
	using them.
2006-10-08 17:45:09 +00:00
52274fadd6 Deal with address offsets. Address lookup is now:
2006-10-07  Soren Sandmann  <sandmann@daimi.au.dk>

	Deal with address offsets. Address lookup is now:

	- First convert the address to an offset into the file
	- Then convert to an offset into the text segment
	- Then add the load address of the text segment (found in the
	debug binary)
	- Then finally lookup the result in the symbol table.

	* elfparser.c (elf_parser_get_text_offset): New function

	* elfparser.c (elf_parser_lookup_symbol): Treat addresses as
	offsets into the text segment.

	* binfile.c (bin_file_new): Store the offset of the text section
	of the actual binary (not the debug one)

	(bin_file_lookup_symbol): Subtract text_offset before passing
	address to elf parser.

	* module/sysprof-module.c: Remove include of linux/config.h
2006-10-08 04:03:02 +00:00
6a7178f612 Remove old commented out code Add commented out code accessing entire
2006-08-27  Soren Sandmann <sandmann@redhat.com>

        * binparser.c: Remove old commented out code
        * module/sysprof-module.c: Add commented out code accessing entire
        stack.

2006-08-27  Soren Sandmann  <sandmann@redhat.com>

        * module/Makefile ($(MODULE).o): Add dependency on sysprof-module.h

        * elfparser.c (elf_parser_get_eh_frame): Add this function.
        Remove some commented out code.
2006-09-23 03:09:24 +00:00
8f4d731788 Revert accidental commit 2006-09-23 00:57:20 +00:00
b7cf5d34b8 Remove old commented out code
2006-08-27  Soren Sandmann <sandmann@redhat.com>

	* binparser.c: Remove old commented out code

2006-08-27  Soren Sandmann  <sandmann@redhat.com>

	* module/Makefile ($(MODULE).o): Add dependency on sysprof-module.h

	* elfparser.c (elf_parser_get_eh_frame): Add this function.
	Remove some commented out code.
2006-09-23 00:54:01 +00:00
62c86a1951 Demangle instead of strdup.
2006-08-22  Soren Sandmann <sandmann@daimi.au.dk>

	* collector.c (unique_dup): Demangle instead of strdup.
2006-08-26 16:27:00 +00:00
4a145a21bc Rename elf_sym_get_* to elf_parser_get_sym_* and make these functions take
2006-08-21  Soren Sandmann <sandmann@redhat.com>

	* elfparser.[ch]
	(elf_parser_get_sym_name): Rename elf_sym_get_* to
	elf_parser_get_sym_* and make these functions take a parser.
	(parser_from_sym): Delete this function.
	(elf_parser_new): Don't add to all_elf_parsers
	(elf_parser_free): Don't remove from all_elf_parsers
	(elf_parser_new): Rename to parser_new_from_file()
	(elf_parser_new_from_file): Rename to elf_parser_new

	* binfile.c: Update for new elfparser API

	* TODO: updates
2006-08-22 04:19:08 +00:00
bb616fd754 Add ref_count and filename (bin_files): Add map from filenames to BinFiles
2006-08-21  Soren Sandmann <sandmann@redhat.com>

	* binfile.c (struct BinFile): Add ref_count and filename
	(bin_files): Add map from filenames to BinFiles
	(bin_file_new): First look for BinFile in the cache.
	(bin_file_free): If refcount reaches 0, remove BinFile from cache.

	* TODO: Updates
2006-08-22 03:26:57 +00:00
a1bddd8d9f Pass map->bin_file to bin_symbol_get_name.
2006-08-21  Soren Sandmann <sandmann@redhat.com>

	* process.c (process_lookup_symbol): Pass map->bin_file to
	bin_symbol_get_name.

	* binfile.h (bin_symbol_get_name): Add BinFile parameter

	* elfparser.c (elf_demangle): Use options DMGL_PARAMS | DMGL_ANSI

	* TODO: Updates

	* binfile.c: Rewrite this file to use ElfParser instead of libbfd.

	* configure.ac: Drop dependencies on libbfd and libiberty.
2006-08-21 06:00:57 +00:00
1b72901c4d New function
2006-08-20   Soren Sandmann <sandmann@daimi.au.dk>

	* elfparser.c (elf_parser_get_debug_link): New function

	* elfparser.c: Delete SymbolTable typedef

	* binparser.[ch] (bin_parser_get_data): New function
	(bin_parser_get_length): New function

	* elfparser.[ch] (elf_parser_get_crc32): New function

	* TODO: Updates

	* elfparser.c (elf_parser_lookup_symbol): Offset passed in
	addresses by the load address.

	* elfparser.c (elf_parser_get_load_address): New function to
	compute the load address of the beginning of the file.
2006-08-21 00:18:10 +00:00
c2f754dfb6 Make n_samples per-cpu. Add an atomic variable in_timer_notify and use it
Sat Aug 12 16:13:05 2006  Søren Sandmann  <sandmann@redhat.com>

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

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

	* TODO
2006-08-12 20:15:52 +00:00
060fd343a8 Updates
Fri Aug 11 11:41:15 2006  Søren Sandmann  <sandmann@redhat.com>

	* TODO: Updates
2006-08-11 15:41:46 +00:00
f06e272ea7 Make the load_file() idle low priority to avoid weird toolbar flash.
2006-08-08  Soren Sandmann  <ssp@localhost.localdomain>

	* sysprof.c (main): Make the load_file() idle low priority to
	avoid weird toolbar flash.

	* TODO: updates.
2006-08-09 03:05:34 +00:00