mirror of
https://github.com/varun-r-mallya/sysprof.git
synced 2026-02-12 16:10:54 +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>
|
Sat Mar 26 19:26:52 2005 Søren Sandmann <sandmann@redhat.com>
|
||||||
|
|
||||||
* sysprof.c: Show the right number of samples afte Open; remove
|
* 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
|
Before 1.0:
|
||||||
|
|
||||||
- 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
|
|
||||||
|
|
||||||
|
- 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 what distributions it actually works on
|
||||||
|
(ask for sucess stories in 0.9.x releases)
|
||||||
- Find out how to hack around gtk+ bug causing multiple double clicks
|
|
||||||
to get eaten.
|
|
||||||
|
|
||||||
- hook up about box
|
- hook up about box
|
||||||
|
|
||||||
- Need an icon
|
- Need an icon
|
||||||
|
|
||||||
- Add busy cursors,
|
- Add busy cursors,
|
||||||
|
|
||||||
- when you hit "Profile"
|
- when you hit "Profile"
|
||||||
- when you click something in the main list and we don't respond
|
- 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
|
within 50ms (or perhaps when we expect to not be able to do
|
||||||
so (can we know the size in advance?))
|
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
|
- 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
|
- Reorganise stackstash and profile
|
||||||
|
|
||||||
@ -54,24 +42,19 @@
|
|||||||
|
|
||||||
- Send each stack trace to the profile module, along with
|
- Send each stack trace to the profile module, along with
|
||||||
presentation objects
|
presentation objects
|
||||||
|
- Charge 'self' properly to processes that don't get any stack trace at all
|
||||||
- hook up menu items view/start etc (or possibly get rid of them or move
|
(probably we get that for free with stackstash reorganisation)
|
||||||
them)
|
- Consider adding KDE-style nested callgraph view
|
||||||
|
- Add support for line numbers within functions
|
||||||
- consider caching [filename => bin_file]
|
- consider caching [filename => bin_file]
|
||||||
|
|
||||||
- Have kernel module report the file the address was found in
|
- Have kernel module report the file the address was found in
|
||||||
Should avoid a lot of potential broken/raciness with dlopen etc.
|
Should avoid a lot of potential broken/raciness with dlopen etc.
|
||||||
|
- Make things faster
|
||||||
- grep FIXME
|
- Can I get it to profile itself?
|
||||||
|
- speedprof seems to report that lots of time is spent in
|
||||||
- hide internal stuff in ProfileDescendant
|
stack_stash_foreach() and also in generate_key()
|
||||||
|
|
||||||
- add an 'everything' object. It is really needed for a lot of things
|
- 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
|
- make profile.c more agnostic to processes and functions etc. Ideally
|
||||||
it should just take a set of stack traces containing "presentation
|
it should just take a set of stack traces containing "presentation
|
||||||
objects" and do something sensible with it.
|
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.
|
dump the data to a network socket. Should be able to react to eg.
|
||||||
SIGUSR1 by dumping the data.
|
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
|
- 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
|
things that are UNINTERRUPTIBLE while there are RUNNING tasks is not
|
||||||
consider bad.
|
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:
|
DONE:
|
||||||
|
|
||||||
|
|||||||
@ -549,6 +549,7 @@ add_trace_to_tree (ProfileDescendant **tree, GList *trace, guint size)
|
|||||||
{
|
{
|
||||||
ProfileDescendant *seen_tree_node;
|
ProfileDescendant *seen_tree_node;
|
||||||
|
|
||||||
|
/* Have we seen this object further up the tree? */
|
||||||
seen_tree_node = g_hash_table_lookup (seen_objects, node->object);
|
seen_tree_node = g_hash_table_lookup (seen_objects, node->object);
|
||||||
|
|
||||||
if (seen_tree_node)
|
if (seen_tree_node)
|
||||||
|
|||||||
@ -1020,6 +1020,7 @@ set_shadows (GladeXML *xml)
|
|||||||
"{ "
|
"{ "
|
||||||
" GtkToolbar::shadow_type = none "
|
" GtkToolbar::shadow_type = none "
|
||||||
" GtkMenuBar::shadow_type = none "
|
" GtkMenuBar::shadow_type = none "
|
||||||
|
" GtkMenuBar::internal_padding = 2 "
|
||||||
"} "
|
"} "
|
||||||
"widget \"*toolbar\" style : rc \"blah\"\n"
|
"widget \"*toolbar\" style : rc \"blah\"\n"
|
||||||
"widget \"*menubar\" 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);
|
G_CALLBACK (on_save_as_clicked), app);
|
||||||
|
|
||||||
/* quit */
|
/* 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);
|
G_CALLBACK (on_delete), NULL);
|
||||||
|
|
||||||
/* Tool items */
|
/* Tool items */
|
||||||
|
|||||||
@ -17,6 +17,7 @@
|
|||||||
<property name="skip_pager_hint">False</property>
|
<property name="skip_pager_hint">False</property>
|
||||||
<property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
|
<property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
|
||||||
<property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
|
<property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
|
||||||
|
<property name="focus_on_map">True</property>
|
||||||
|
|
||||||
<child>
|
<child>
|
||||||
<widget class="GtkVBox" id="main_vbox">
|
<widget class="GtkVBox" id="main_vbox">
|
||||||
@ -46,7 +47,7 @@
|
|||||||
<accelerator key="o" modifiers="GDK_CONTROL_MASK" signal="activate"/>
|
<accelerator key="o" modifiers="GDK_CONTROL_MASK" signal="activate"/>
|
||||||
|
|
||||||
<child internal-child="image">
|
<child internal-child="image">
|
||||||
<widget class="GtkImage" id="image28">
|
<widget class="GtkImage" id="image68">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="stock">gtk-open</property>
|
<property name="stock">gtk-open</property>
|
||||||
<property name="icon_size">1</property>
|
<property name="icon_size">1</property>
|
||||||
@ -68,7 +69,7 @@
|
|||||||
<accelerator key="s" modifiers="GDK_CONTROL_MASK | GDK_SHIFT_MASK" signal="activate"/>
|
<accelerator key="s" modifiers="GDK_CONTROL_MASK | GDK_SHIFT_MASK" signal="activate"/>
|
||||||
|
|
||||||
<child internal-child="image">
|
<child internal-child="image">
|
||||||
<widget class="GtkImage" id="image29">
|
<widget class="GtkImage" id="image69">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="stock">gtk-save-as</property>
|
<property name="stock">gtk-save-as</property>
|
||||||
<property name="icon_size">1</property>
|
<property name="icon_size">1</property>
|
||||||
@ -88,11 +89,24 @@
|
|||||||
</child>
|
</child>
|
||||||
|
|
||||||
<child>
|
<child>
|
||||||
<widget class="GtkImageMenuItem" id="quit_item">
|
<widget class="GtkImageMenuItem" id="quit">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="label">gtk-quit</property>
|
<property name="label" translatable="yes">_Quit</property>
|
||||||
<property name="use_stock">True</property>
|
<property name="use_underline">True</property>
|
||||||
<signal name="activate" handler="on_quit1_activate" last_modification_time="Wed, 31 Dec 2003 20:44:40 GMT"/>
|
<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>
|
</widget>
|
||||||
</child>
|
</child>
|
||||||
</widget>
|
</widget>
|
||||||
@ -117,7 +131,7 @@
|
|||||||
<signal name="activate" handler="on_start1_activate" last_modification_time="Thu, 04 Nov 2004 18:51:54 GMT"/>
|
<signal name="activate" handler="on_start1_activate" last_modification_time="Thu, 04 Nov 2004 18:51:54 GMT"/>
|
||||||
|
|
||||||
<child internal-child="image">
|
<child internal-child="image">
|
||||||
<widget class="GtkImage" id="image30">
|
<widget class="GtkImage" id="image71">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="stock">gtk-media-play</property>
|
<property name="stock">gtk-media-play</property>
|
||||||
<property name="icon_size">1</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"/>
|
<signal name="activate" handler="on_profile1_activate" last_modification_time="Thu, 04 Nov 2004 18:51:54 GMT"/>
|
||||||
|
|
||||||
<child internal-child="image">
|
<child internal-child="image">
|
||||||
<widget class="GtkImage" id="image31">
|
<widget class="GtkImage" id="image72">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="stock">gtk-justify-left</property>
|
<property name="stock">gtk-justify-left</property>
|
||||||
<property name="icon_size">1</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"/>
|
<signal name="activate" handler="on_reset_item_activate" last_modification_time="Fri, 05 Nov 2004 15:34:30 GMT"/>
|
||||||
|
|
||||||
<child internal-child="image">
|
<child internal-child="image">
|
||||||
<widget class="GtkImage" id="image32">
|
<widget class="GtkImage" id="image73">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="stock">gtk-clear</property>
|
<property name="stock">gtk-clear</property>
|
||||||
<property name="icon_size">1</property>
|
<property name="icon_size">1</property>
|
||||||
@ -186,11 +200,23 @@
|
|||||||
<widget class="GtkMenu" id="menuitem4_menu">
|
<widget class="GtkMenu" id="menuitem4_menu">
|
||||||
|
|
||||||
<child>
|
<child>
|
||||||
<widget class="GtkImageMenuItem" id="about_item">
|
<widget class="GtkImageMenuItem" id="about">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="label">gtk-about</property>
|
<property name="label" translatable="yes">_About</property>
|
||||||
<property name="use_stock">True</property>
|
<property name="use_underline">True</property>
|
||||||
<signal name="activate" handler="on_about1_activate" last_modification_time="Wed, 31 Dec 2003 20:44:40 GMT"/>
|
<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>
|
</widget>
|
||||||
</child>
|
</child>
|
||||||
</widget>
|
</widget>
|
||||||
@ -205,12 +231,26 @@
|
|||||||
</packing>
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<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>
|
<child>
|
||||||
<widget class="GtkHSeparator" id="hseparator1">
|
<widget class="GtkHSeparator" id="hseparator1">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
</widget>
|
</widget>
|
||||||
|
</child>
|
||||||
|
</widget>
|
||||||
<packing>
|
<packing>
|
||||||
<property name="padding">2</property>
|
<property name="padding">0</property>
|
||||||
<property name="expand">False</property>
|
<property name="expand">False</property>
|
||||||
<property name="fill">True</property>
|
<property name="fill">True</property>
|
||||||
</packing>
|
</packing>
|
||||||
@ -334,7 +374,7 @@
|
|||||||
</child>
|
</child>
|
||||||
</widget>
|
</widget>
|
||||||
<packing>
|
<packing>
|
||||||
<property name="padding">0</property>
|
<property name="padding">3</property>
|
||||||
<property name="expand">True</property>
|
<property name="expand">True</property>
|
||||||
<property name="fill">True</property>
|
<property name="fill">True</property>
|
||||||
</packing>
|
</packing>
|
||||||
@ -368,6 +408,10 @@
|
|||||||
<property name="yalign">0.5</property>
|
<property name="yalign">0.5</property>
|
||||||
<property name="xpad">6</property>
|
<property name="xpad">6</property>
|
||||||
<property name="ypad">0</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>
|
</widget>
|
||||||
</child>
|
</child>
|
||||||
</widget>
|
</widget>
|
||||||
@ -378,7 +422,7 @@
|
|||||||
</child>
|
</child>
|
||||||
</widget>
|
</widget>
|
||||||
<packing>
|
<packing>
|
||||||
<property name="padding">0</property>
|
<property name="padding">3</property>
|
||||||
<property name="expand">False</property>
|
<property name="expand">False</property>
|
||||||
<property name="fill">True</property>
|
<property name="fill">True</property>
|
||||||
</packing>
|
</packing>
|
||||||
@ -425,6 +469,9 @@
|
|||||||
<property name="rules_hint">True</property>
|
<property name="rules_hint">True</property>
|
||||||
<property name="reorderable">False</property>
|
<property name="reorderable">False</property>
|
||||||
<property name="enable_search">True</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>
|
</widget>
|
||||||
</child>
|
</child>
|
||||||
</widget>
|
</widget>
|
||||||
@ -451,6 +498,9 @@
|
|||||||
<property name="rules_hint">True</property>
|
<property name="rules_hint">True</property>
|
||||||
<property name="reorderable">False</property>
|
<property name="reorderable">False</property>
|
||||||
<property name="enable_search">True</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>
|
</widget>
|
||||||
</child>
|
</child>
|
||||||
</widget>
|
</widget>
|
||||||
@ -483,6 +533,9 @@
|
|||||||
<property name="rules_hint">True</property>
|
<property name="rules_hint">True</property>
|
||||||
<property name="reorderable">False</property>
|
<property name="reorderable">False</property>
|
||||||
<property name="enable_search">True</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>
|
</widget>
|
||||||
</child>
|
</child>
|
||||||
</widget>
|
</widget>
|
||||||
|
|||||||
Reference in New Issue
Block a user