small updates cosmetic updates cosmetic updates

Thu Jan  5 17:52:10 2006  Søren Sandmann  <sandmann@redhat.com>

	* TODO: small updates
	* sysprof.c: cosmetic updates
	* module/sysprof-module.c: cosmetic updates
This commit is contained in:
Søren Sandmann
2006-01-05 22:52:59 +00:00
committed by Søren Sandmann Pedersen
parent 3c8bde00b4
commit f6d7a34ccf
4 changed files with 22 additions and 13 deletions

View File

@ -1,3 +1,9 @@
Thu Jan 5 17:52:10 2006 Søren Sandmann <sandmann@redhat.com>
* TODO: small updates
* sysprof.c: cosmetic updates
* module/sysprof-module.c: cosmetic updates
2005-12-20 Kristian Høgsberg <krh@redhat.com> 2005-12-20 Kristian Høgsberg <krh@redhat.com>
* module/sysprof-module.c: Remove left over debug print out and * module/sysprof-module.c: Remove left over debug print out and

16
TODO
View File

@ -1,4 +1,4 @@
Before 1.0.1: Before 1.0.2:
* See if we can reproduce the problem where libraries didn't get correctly * See if we can reproduce the problem where libraries didn't get correctly
reloaded after new versions were installed. reloaded after new versions were installed.
@ -96,8 +96,8 @@ Before 1.2:
if it doesn't, load as 1.0, otherwise as whatever the version claims if it doesn't, load as 1.0, otherwise as whatever the version claims
it is. it is.
* Make provisions for forward compatibility: maybe it should be possible * Make provisions for forward compatibility: maybe it should be
to load records with more fields than specified. possible to load records with more fields than specified.
* Figure out how to make sfile.[ch] use less memory. * Figure out how to make sfile.[ch] use less memory.
@ -154,7 +154,7 @@ Before 1.2:
- See if there is a way to make it distcheck - See if there is a way to make it distcheck
- grep FIXME - not10 - grep "FIXME - not10"
- translation should be hooked up - translation should be hooked up
@ -201,9 +201,6 @@ http://www.linuxbase.org/spec/booksets/LSB-Embedded/LSB-Embedded/ehframe.html
- Charge 'self' properly to processes that don't get any stack trace at all - Charge 'self' properly to processes that don't get any stack trace at all
(probably we get that for free with stackstash reorganisation) (probably we get that for free with stackstash reorganisation)
- support more than one reader of the samples properly
- Don't generate them if noone cares
- Add ability to show more than one function at a time. Algorithm: - Add ability to show more than one function at a time. Algorithm:
Find all relevant nodes; Find all relevant nodes;
For each relevant node For each relevant node
@ -218,6 +215,7 @@ http://www.linuxbase.org/spec/booksets/LSB-Embedded/LSB-Embedded/ehframe.html
add trace to tree (leaf, interesting) add trace to tree (leaf, interesting)
- Consider adding KDE-style nested callgraph view - Consider adding KDE-style nested callgraph view
- probably need a dependency on gtk+ 2.8 (cairo) for this. - probably need a dependency on gtk+ 2.8 (cairo) for this.
- Matthias has code for something like this.
- Add support for line numbers within functions - Add support for line numbers within functions
- Possibly a special "view details" mode, assuming that - Possibly a special "view details" mode, assuming that
the details of a function are not that interesting the details of a function are not that interesting
@ -226,7 +224,6 @@ http://www.linuxbase.org/spec/booksets/LSB-Embedded/LSB-Embedded/ehframe.html
- rethink caller list, not terribly useful at the moment. Federico suggested - rethink caller list, not terribly useful at the moment. Federico suggested
listing all ancestors. listing all ancestors.
- 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.
Probably better to send a list of maps with each trace. Probably better to send a list of maps with each trace.
@ -419,6 +416,9 @@ Later:
DONE: DONE:
* support more than one reader of the samples properly
- Don't generate them if noone cares
* Correctness * Correctness
- When the module is unloaded, kill all processes blocking in read - When the module is unloaded, kill all processes blocking in read
- or block unloading until all processes have exited - or block unloading until all processes have exited

View File

@ -95,7 +95,7 @@ read_frame (void *frame_pointer, StackFrame *frame)
if (__copy_from_user_inatomic ( if (__copy_from_user_inatomic (
frame, frame_pointer, sizeof (StackFrame))) frame, frame_pointer, sizeof (StackFrame)))
return 2; return 1;
return 0; return 0;
} }

View File

@ -918,6 +918,9 @@ on_delete (GtkWidget *window,
Application *app) Application *app)
{ {
/* Workaround for http://bugzilla.gnome.org/show_bug.cgi?id=317775 /* Workaround for http://bugzilla.gnome.org/show_bug.cgi?id=317775
*
* Without it, the read callbacks can fire _after_ gtk_main_quit()
* has been called and cause stuff to be called on destroyed widgets.
*/ */
while (gtk_main_iteration ()) while (gtk_main_iteration ())
; ;
@ -1430,7 +1433,8 @@ build_gui (Application *app)
/* TreeViews */ /* TreeViews */
/* object view */ /* object view */
app->object_view = (GtkTreeView *)glade_xml_get_widget (xml, "object_view"); app->object_view =
(GtkTreeView *)glade_xml_get_widget (xml, "object_view");
gtk_tree_view_set_enable_search (app->object_view, FALSE); gtk_tree_view_set_enable_search (app->object_view, FALSE);
col = add_plain_text_column (app->object_view, _("Functions"), OBJECT_NAME); col = add_plain_text_column (app->object_view, _("Functions"), OBJECT_NAME);
add_double_format_column (app->object_view, _("Self"), OBJECT_SELF, "%.2f "); add_double_format_column (app->object_view, _("Self"), OBJECT_SELF, "%.2f ");
@ -1463,8 +1467,6 @@ build_gui (Application *app)
G_CALLBACK (on_descendants_row_expanded_or_collapsed), app); G_CALLBACK (on_descendants_row_expanded_or_collapsed), app);
gtk_tree_view_column_set_expand (col, TRUE); gtk_tree_view_column_set_expand (col, TRUE);
gtk_widget_grab_focus (GTK_WIDGET (app->object_view));
/* screenshot window */ /* screenshot window */
app->screenshot_window = glade_xml_get_widget (xml, "screenshot_window"); app->screenshot_window = glade_xml_get_widget (xml, "screenshot_window");
app->screenshot_textview = glade_xml_get_widget (xml, "screenshot_textview"); app->screenshot_textview = glade_xml_get_widget (xml, "screenshot_textview");
@ -1486,7 +1488,8 @@ build_gui (Application *app)
gtk_widget_show_all (app->main_window); gtk_widget_show_all (app->main_window);
gtk_widget_hide (app->dummy_button); gtk_widget_hide (app->dummy_button);
gtk_widget_hide (app->screenshot_window); gtk_widget_hide (app->screenshot_window);
gtk_widget_grab_focus (GTK_WIDGET (app->object_view));
queue_show_samples (app); queue_show_samples (app);
return TRUE; return TRUE;