mirror of
https://github.com/varun-r-mallya/sysprof.git
synced 2025-12-31 20:36:25 +00:00
updates
Mon Mar 28 11:09:02 2005 Soeren Sandmann <sandmann@redhat.com> * TODO: updates
This commit is contained in:
committed by
Søren Sandmann Pedersen
parent
398603a85d
commit
c2dc2c3680
@ -1,3 +1,7 @@
|
||||
Mon Mar 28 11:09:02 2005 Soeren Sandmann <sandmann@redhat.com>
|
||||
|
||||
* TODO: updates
|
||||
|
||||
Sat Mar 26 19:26:52 2005 Søren Sandmann <sandmann@redhat.com>
|
||||
|
||||
* sysprof.c: Show the right number of samples afte Open; remove
|
||||
|
||||
86
TODO
86
TODO
@ -1,39 +1,27 @@
|
||||
- Get this TODO file more organized
|
||||
|
||||
- Figure out what's needed before 1.0
|
||||
|
||||
- Consider what it would take to take stacktraces of other languages
|
||||
|
||||
- perl,
|
||||
- python
|
||||
- java
|
||||
- bash
|
||||
|
||||
- Add support for line numbers within functions
|
||||
|
||||
- Consider adding KDE-style nested callgraph view
|
||||
Before 1.0:
|
||||
|
||||
- grep FIXME
|
||||
- Need to make "make install" work (how do you know where to install
|
||||
kernel modules?)
|
||||
- Find out what distributions it actually works on
|
||||
|
||||
- Find out how to hack around gtk+ bug causing multiple double clicks
|
||||
to get eaten.
|
||||
|
||||
(ask for sucess stories in 0.9.x releases)
|
||||
- hook up about box
|
||||
|
||||
- Need an icon
|
||||
|
||||
- Add busy cursors,
|
||||
|
||||
- when you hit "Profile"
|
||||
- when you click something in the main list and we don't respond
|
||||
within 50ms (or perhaps when we expect to not be able to do
|
||||
so (can we know the size in advance?))
|
||||
|
||||
- Need to make "make install" work (how do you know where to install
|
||||
kernel modules?)
|
||||
|
||||
- Sould just install the kernel module if it running as root, pop up
|
||||
a dialog if not.
|
||||
a dialog if not. Note we must be able to start without module now, since
|
||||
it is useful to just load profiles from disk.
|
||||
- hook up menu items view/start etc (or possibly get rid of them or move
|
||||
them)
|
||||
- give profiles on the command line
|
||||
- autoconfuscate?
|
||||
- .desktop file
|
||||
|
||||
Before 1.2:
|
||||
|
||||
- Reorganise stackstash and profile
|
||||
|
||||
@ -54,24 +42,19 @@
|
||||
|
||||
- Send each stack trace to the profile module, along with
|
||||
presentation objects
|
||||
|
||||
- hook up menu items view/start etc (or possibly get rid of them or move
|
||||
them)
|
||||
|
||||
- Charge 'self' properly to processes that don't get any stack trace at all
|
||||
(probably we get that for free with stackstash reorganisation)
|
||||
- Consider adding KDE-style nested callgraph view
|
||||
- Add support for line numbers within functions
|
||||
- consider caching [filename => bin_file]
|
||||
|
||||
- Have kernel module report the file the address was found in
|
||||
Should avoid a lot of potential broken/raciness with dlopen etc.
|
||||
|
||||
- grep FIXME
|
||||
|
||||
- hide internal stuff in ProfileDescendant
|
||||
|
||||
- Make things faster
|
||||
- Can I get it to profile itself?
|
||||
- speedprof seems to report that lots of time is spent in
|
||||
stack_stash_foreach() and also in generate_key()
|
||||
- add an 'everything' object. It is really needed for a lot of things
|
||||
|
||||
- kernel module should put process to sleep before sampling. Should get us
|
||||
more accurate data
|
||||
|
||||
- make profile.c more agnostic to processes and functions etc. Ideally
|
||||
it should just take a set of stack traces containing "presentation
|
||||
objects" and do something sensible with it.
|
||||
@ -81,18 +64,31 @@
|
||||
dump the data to a network socket. Should be able to react to eg.
|
||||
SIGUSR1 by dumping the data.
|
||||
|
||||
- Port to GtkAction
|
||||
- hide internal stuff in ProfileDescendant
|
||||
|
||||
- Charge 'self' properly to processes that don't get any stack trace at all
|
||||
- kernel module should put process to sleep before sampling. Should get us
|
||||
more accurate data
|
||||
|
||||
|
||||
Later:
|
||||
|
||||
- Find out how to hack around gtk+ bug causing multiple double clicks
|
||||
to get eaten.
|
||||
|
||||
- Figure out what a 'disk profiler' is.
|
||||
|
||||
- Consider what it would take to take stacktraces of other languages
|
||||
|
||||
- perl,
|
||||
- python
|
||||
- java
|
||||
- bash
|
||||
|
||||
- figure out a way to deal with both disk and CPU. Need to make sure that
|
||||
things that are UNINTERRUPTIBLE while there are RUNNING tasks is not
|
||||
consider bad.
|
||||
|
||||
- Make things faster
|
||||
- Can I get it to profile itself?
|
||||
- speedprof seems to report that lots of time is spent in
|
||||
stack_stash_foreach() and also in generate_key()
|
||||
|
||||
|
||||
DONE:
|
||||
|
||||
|
||||
@ -549,6 +549,7 @@ add_trace_to_tree (ProfileDescendant **tree, GList *trace, guint size)
|
||||
{
|
||||
ProfileDescendant *seen_tree_node;
|
||||
|
||||
/* Have we seen this object further up the tree? */
|
||||
seen_tree_node = g_hash_table_lookup (seen_objects, node->object);
|
||||
|
||||
if (seen_tree_node)
|
||||
|
||||
@ -1020,6 +1020,7 @@ set_shadows (GladeXML *xml)
|
||||
"{ "
|
||||
" GtkToolbar::shadow_type = none "
|
||||
" GtkMenuBar::shadow_type = none "
|
||||
" GtkMenuBar::internal_padding = 2 "
|
||||
"} "
|
||||
"widget \"*toolbar\" style : rc \"blah\"\n"
|
||||
"widget \"*menubar\" style : rc \"blah\"\n"
|
||||
@ -1067,7 +1068,7 @@ build_gui (Application *app)
|
||||
G_CALLBACK (on_save_as_clicked), app);
|
||||
|
||||
/* quit */
|
||||
g_signal_connect (G_OBJECT (glade_xml_get_widget (xml, "quit_item")), "activate",
|
||||
g_signal_connect (G_OBJECT (glade_xml_get_widget (xml, "quit")), "activate",
|
||||
G_CALLBACK (on_delete), NULL);
|
||||
|
||||
/* Tool items */
|
||||
|
||||
@ -17,6 +17,7 @@
|
||||
<property name="skip_pager_hint">False</property>
|
||||
<property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
|
||||
<property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
|
||||
<property name="focus_on_map">True</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkVBox" id="main_vbox">
|
||||
@ -46,7 +47,7 @@
|
||||
<accelerator key="o" modifiers="GDK_CONTROL_MASK" signal="activate"/>
|
||||
|
||||
<child internal-child="image">
|
||||
<widget class="GtkImage" id="image28">
|
||||
<widget class="GtkImage" id="image68">
|
||||
<property name="visible">True</property>
|
||||
<property name="stock">gtk-open</property>
|
||||
<property name="icon_size">1</property>
|
||||
@ -68,7 +69,7 @@
|
||||
<accelerator key="s" modifiers="GDK_CONTROL_MASK | GDK_SHIFT_MASK" signal="activate"/>
|
||||
|
||||
<child internal-child="image">
|
||||
<widget class="GtkImage" id="image29">
|
||||
<widget class="GtkImage" id="image69">
|
||||
<property name="visible">True</property>
|
||||
<property name="stock">gtk-save-as</property>
|
||||
<property name="icon_size">1</property>
|
||||
@ -88,11 +89,24 @@
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkImageMenuItem" id="quit_item">
|
||||
<widget class="GtkImageMenuItem" id="quit">
|
||||
<property name="visible">True</property>
|
||||
<property name="label">gtk-quit</property>
|
||||
<property name="use_stock">True</property>
|
||||
<signal name="activate" handler="on_quit1_activate" last_modification_time="Wed, 31 Dec 2003 20:44:40 GMT"/>
|
||||
<property name="label" translatable="yes">_Quit</property>
|
||||
<property name="use_underline">True</property>
|
||||
<signal name="activate" handler="on_quit_activate" last_modification_time="Wed, 31 Dec 2003 20:44:40 GMT"/>
|
||||
<accelerator key="q" modifiers="GDK_CONTROL_MASK" signal="activate"/>
|
||||
|
||||
<child internal-child="image">
|
||||
<widget class="GtkImage" id="image70">
|
||||
<property name="visible">True</property>
|
||||
<property name="stock">gtk-quit</property>
|
||||
<property name="icon_size">1</property>
|
||||
<property name="xalign">0.5</property>
|
||||
<property name="yalign">0.5</property>
|
||||
<property name="xpad">0</property>
|
||||
<property name="ypad">0</property>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
@ -117,7 +131,7 @@
|
||||
<signal name="activate" handler="on_start1_activate" last_modification_time="Thu, 04 Nov 2004 18:51:54 GMT"/>
|
||||
|
||||
<child internal-child="image">
|
||||
<widget class="GtkImage" id="image30">
|
||||
<widget class="GtkImage" id="image71">
|
||||
<property name="visible">True</property>
|
||||
<property name="stock">gtk-media-play</property>
|
||||
<property name="icon_size">1</property>
|
||||
@ -138,7 +152,7 @@
|
||||
<signal name="activate" handler="on_profile1_activate" last_modification_time="Thu, 04 Nov 2004 18:51:54 GMT"/>
|
||||
|
||||
<child internal-child="image">
|
||||
<widget class="GtkImage" id="image31">
|
||||
<widget class="GtkImage" id="image72">
|
||||
<property name="visible">True</property>
|
||||
<property name="stock">gtk-justify-left</property>
|
||||
<property name="icon_size">1</property>
|
||||
@ -159,7 +173,7 @@
|
||||
<signal name="activate" handler="on_reset_item_activate" last_modification_time="Fri, 05 Nov 2004 15:34:30 GMT"/>
|
||||
|
||||
<child internal-child="image">
|
||||
<widget class="GtkImage" id="image32">
|
||||
<widget class="GtkImage" id="image73">
|
||||
<property name="visible">True</property>
|
||||
<property name="stock">gtk-clear</property>
|
||||
<property name="icon_size">1</property>
|
||||
@ -186,11 +200,23 @@
|
||||
<widget class="GtkMenu" id="menuitem4_menu">
|
||||
|
||||
<child>
|
||||
<widget class="GtkImageMenuItem" id="about_item">
|
||||
<widget class="GtkImageMenuItem" id="about">
|
||||
<property name="visible">True</property>
|
||||
<property name="label">gtk-about</property>
|
||||
<property name="use_stock">True</property>
|
||||
<signal name="activate" handler="on_about1_activate" last_modification_time="Wed, 31 Dec 2003 20:44:40 GMT"/>
|
||||
<property name="label" translatable="yes">_About</property>
|
||||
<property name="use_underline">True</property>
|
||||
<signal name="activate" handler="on_about_activate" last_modification_time="Wed, 31 Dec 2003 20:44:40 GMT"/>
|
||||
|
||||
<child internal-child="image">
|
||||
<widget class="GtkImage" id="image74">
|
||||
<property name="visible">True</property>
|
||||
<property name="stock">gtk-about</property>
|
||||
<property name="icon_size">1</property>
|
||||
<property name="xalign">0.5</property>
|
||||
<property name="yalign">0.5</property>
|
||||
<property name="xpad">0</property>
|
||||
<property name="ypad">0</property>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
@ -206,11 +232,25 @@
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkHSeparator" id="hseparator1">
|
||||
<widget class="GtkAlignment" id="alignment1">
|
||||
<property name="visible">True</property>
|
||||
<property name="xalign">0.5</property>
|
||||
<property name="yalign">0.5</property>
|
||||
<property name="xscale">1</property>
|
||||
<property name="yscale">1</property>
|
||||
<property name="top_padding">0</property>
|
||||
<property name="bottom_padding">3</property>
|
||||
<property name="left_padding">3</property>
|
||||
<property name="right_padding">3</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkHSeparator" id="hseparator1">
|
||||
<property name="visible">True</property>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">2</property>
|
||||
<property name="padding">0</property>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
</packing>
|
||||
@ -334,7 +374,7 @@
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">0</property>
|
||||
<property name="padding">3</property>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
</packing>
|
||||
@ -368,6 +408,10 @@
|
||||
<property name="yalign">0.5</property>
|
||||
<property name="xpad">6</property>
|
||||
<property name="ypad">0</property>
|
||||
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
|
||||
<property name="width_chars">-1</property>
|
||||
<property name="single_line_mode">False</property>
|
||||
<property name="angle">0</property>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
@ -378,7 +422,7 @@
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">0</property>
|
||||
<property name="padding">3</property>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
</packing>
|
||||
@ -425,6 +469,9 @@
|
||||
<property name="rules_hint">True</property>
|
||||
<property name="reorderable">False</property>
|
||||
<property name="enable_search">True</property>
|
||||
<property name="fixed_height_mode">False</property>
|
||||
<property name="hover_selection">False</property>
|
||||
<property name="hover_expand">False</property>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
@ -451,6 +498,9 @@
|
||||
<property name="rules_hint">True</property>
|
||||
<property name="reorderable">False</property>
|
||||
<property name="enable_search">True</property>
|
||||
<property name="fixed_height_mode">False</property>
|
||||
<property name="hover_selection">False</property>
|
||||
<property name="hover_expand">False</property>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
@ -483,6 +533,9 @@
|
||||
<property name="rules_hint">True</property>
|
||||
<property name="reorderable">False</property>
|
||||
<property name="enable_search">True</property>
|
||||
<property name="fixed_height_mode">False</property>
|
||||
<property name="hover_selection">False</property>
|
||||
<property name="hover_expand">False</property>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
|
||||
Reference in New Issue
Block a user