Commit Graph

130 Commits

Author SHA1 Message Date
791fff95c3 cli: Allow to get samples from single pid
perf lets you decide to only get events that concerns a single process
and thus make sysprof profile this process instead of the whole system
(it can happen that you don't really care about other processes that are
just then noise).

As a side effect, this allows sysprof to not run as root if you have the
rights on the process you want to profile.
2011-01-27 17:07:07 -05:00
737409baf1 Call gdk_flush() in set_busy().
Otherwise, the cursor won't show up. (GTK+ 2.22).
2011-01-27 17:00:02 -05:00
4e77734d49 Fix build with -Werror=format-security
Don't use dynamic string as format, one of the args could be a string
containing %.
2010-03-23 17:21:37 +01:00
08d4d26060 Disable use of hardware perf counters.
They don't seem to actually work on a lot of hardware.
2010-03-09 12:27:49 -05:00
393a26dad6 Disable accessibility
Accessibility prevents sysprof from working reliably, so disable
it. Specifically, it

- causes large amounts of time to be spent in sysprof itself
  whenever the label is updated.

- sometimes hangs at shutdown

- does long-running roundtrip requests that prevents
  reading the event buffers, resulting in lost events.
2009-10-21 12:27:19 -04:00
f871ceb3d3 Remove GSEAL macros 2009-09-25 12:47:55 -04:00
626078e873 Make it distcheck
Also add a warning about compiling against a too old kernel.
2009-09-25 11:37:26 -04:00
8df1145c84 Comment out some debugging spam; update copyright 2009-09-25 11:24:40 -04:00
a33678df26 Update TODO 2009-09-14 04:59:28 -04:00
08fc4f64a9 Read data before stopping collector.
Stop debug spew.
2009-09-11 04:07:11 -04:00
4ce73d1e5f TODO 2009-09-08 03:03:21 -04:00
b86b04910f Fake new_process and new_map events when a tracker is created 2009-09-08 03:03:03 -04:00
3395b317ab Make stack_stash_add_trace() return a pointer to the trace 2009-09-08 03:02:58 -04:00
0ab7325806 Lots of gtk->foo renames 2009-09-08 03:02:42 -04:00
a7a1ab3081 Remove unused profile_from_file variable 2009-08-22 06:07:42 -04:00
d65e0e57bb Delete trailing whitespace 2009-08-17 09:40:08 -04:00
e2811ea4f7 Reserve space in the samples label for large numbers.
This way, we don't need to reallocate the label every time it changes.
2009-08-17 09:34:10 -04:00
4dc5bc2276 Tweak percent sign format 2009-02-22 11:11:18 -05:00
d3b3393903 Add percent signs in screenshot window 2009-02-22 04:29:09 -05:00
fcfd231cb5 Give the samples label a minium width of "Samples: 888888"
We do this by putting the samples label and a sizer label into a
notebook where show_tabs is false. The benefits of this is that w
avoid the hack of connecting to the size request signal, and that the
samples label will be right adjusted.
2009-02-21 22:37:16 -05:00
18da1cd0be new enter_display_mode() function 2009-02-21 04:07:07 -05:00
b3893d6c75 Don't delete profile when toggling on_profile 2009-02-21 03:54:36 -05:00
ed34b54ef2 Select the first row in the object view when making the profile 2009-02-21 03:38:08 -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
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
b7619004e6 Remove all calls to g_signal_connect() Instead connect all signals here
2008-04-26  Soren Sandmann <sandmann@daimi.au.dk>

        * sysprof.c (build_gui): Remove all calls to g_signal_connect()
        * sysprof.c (connect_signals): Instead connect all signals here


svn path=/trunk/; revision=413
2008-04-26 08:09:48 +00:00
12de20b938 Constrain the samples label to only grow wider instead of bouncing around.
2008-04-01  Owen Taylor  <otaylor@redhat.com>

        * sysprof.c (on_samples_label_size_request): Constrain the
        samples label to only grow wider instead of bouncing around.

svn path=/trunk/; revision=409
2008-04-01 17:46:06 +00:00
a2f8d00fc2 Work around GTK+ ABI break.
2008-03-29  Soren Sandmann <sandmann@daimi.au.dk>

        Work around GTK+ ABI break.

        * sysprof.c (on_about_activated): Use "program-name" instead of
        "name" when the gtk+ minor version is >= 14.




svn path=/trunk/; revision=407
2008-03-29 22:18:42 +00:00
ae59a75be4 Remove unnecessary show_samples
svn path=/trunk/; revision=403
2008-03-24 03:04:14 +00:00
26822b100c +2008-03-23 Soren Sandmann <sandmann@daimi.au.dk>
+
+       * sysprof.c (queue_show_samples): Update samples immediately when
+       reset and start is clicked.
+


svn path=/trunk/; revision=402
2008-03-24 03:00:49 +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
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
476e6f0c1b Call callback with an extra boolean indicating whether the sample read was
2007-10-20  Soren Sandmann <sandmann@daimi.au.dk>

       * collector.c (on_read): Call callback with an extra boolean
       indicating whether the sample read was the first one

       * collector.c (add_trace_to_stash): Allocate addresses on the
       stack if possible.

       * sysprof.c (on_new_sample): Only call update_sensitivity() on the
       first sample.

       * stackstash.c (stack_stash_add_trace): Move match to front


svn path=/trunk/; revision=373
2007-10-20 23:51:35 +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
bf65f08594 Update to use new tree view API.
2007-08-04  Soren Sandmann <sandmann@daimi.au.dk>

        * sysprof.c: Update to use new tree view API.

        * treeviewutils.c: Do customized sorting to get default sort
        orders on columns. Workaround GTK+ bug 333791.



svn path=/trunk/; revision=364
2007-08-04 19:54:17 +00:00
0cc4c86195 Update screenshot window in an idle handler to deal with the case where
2007-03-24  Soren Sandmann <sandmann@daimi.au.dk>

        * sysprof.c (update_screenshot_window): Update screenshot window
        in an idle handler to deal with the case where someone presses
        "Shift Right Arrow" 



svn path=/trunk/; revision=362
2007-03-24 17:53:43 +00:00
7b821752f9 New function. Only warn once about bad CRC's.
Mon Mar  5 16:55:39 2007  Søren Sandmann  <sandmann@redhat.com>

        * binfile.c (already_warned): New function. Only warn once about
        bad CRC's.


svn path=/trunk/; revision=361
2007-03-05 21:53:57 +00:00
c541052c19 Update copyright notices
Fri Feb  9 16:53:29 2007  Søren Sandmann  <sandmann@redhat.com>

	* Update copyright notices



svn path=/trunk/; revision=350
2007-02-09 21:59:15 +00:00
e8c2a59906 sysprof-icon-32.png Add a 32x32 version (also from Diana) of the icon.
Mon Jan 22 17:42:29 2007  Søren Sandmann  <sandmann@redhat.com>

	* sysprof-icon-32.png
	* sysprof.c: Add a 32x32 version (also from Diana) of the icon.

Mon Jan 22 16:37:12 2007  Søren Sandmann  <sandmann@redhat.com>

	* sysprof-icon-16/24/48.png:
	* sysprof.c: Add new icons from Diana.



svn path=/trunk/; revision=348
2007-01-22 22:48:33 +00:00
f33e3b06f4 Add new icons
svn path=/trunk/; revision=347
2007-01-22 21:43:36 +00:00
d1a082ffec reset the collector after generating the profile.
2006-11-20  Soren Sandmann <sandmann@daimi.au.dk>

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

        * stackstash.c (struct StackStash): Add cached_nodes and blocks.
        (stack_node_new): Allocate stack nodes in blocks.
2006-11-20 07:25:02 +00:00
55fc6d7805 New function
2006-11-02  Soren Sandmann <sandmann@daimi.au.dk>

       * sysprof.c (disable_g_slice): New function

       * sysprof.c (main): Call it from here.
2006-11-11 03:34:40 +00:00
0513ed87e8 Valgrind:
2006-11-02  Soren Sandmann <sandmann@daimi.au.dk>

        Valgrind:

        * binparser.c (bin_parser_free): Add this function

        * elfparser.c (elf_parser_free): Call bin_parser_free()

        * sysprof.c (compute_text_width, add_text): Plug leaks

        * collector.c (add_trace_to_stash): Copy n_addresses to a stack
        variable instead of reading it out of the mmap'ed area all the
        time. (That way if there is an overrun, we won't write too much
        into the address array).
2006-11-02 08:33:35 +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
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
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
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
23d3a36a4a small cleanup 2006-07-31 18:52:12 +00:00