mirror of
https://github.com/varun-r-mallya/sysprof.git
synced 2026-02-12 16:10:54 +00:00
Only build GUI when the necessary dependencies are found.
Sat Jan 14 18:24:43 2006 Soeren Sandmann <sandmann@redhat.com> * configure.ac, Makefile.am: Only build GUI when the necessary dependencies are found. * sysprof.c (compute_text_width): Remove unused variable * profile.c (build_object_list): Follow next instead of siblings.
This commit is contained in:
committed by
Søren Sandmann Pedersen
parent
9125c4e644
commit
98308836af
@ -1,3 +1,12 @@
|
|||||||
|
Sat Jan 14 18:24:43 2006 Soeren Sandmann <sandmann@redhat.com>
|
||||||
|
|
||||||
|
* configure.ac, Makefile.am: Only build GUI when the necessary
|
||||||
|
dependencies are found.
|
||||||
|
|
||||||
|
* sysprof.c (compute_text_width): Remove unused variable
|
||||||
|
|
||||||
|
* profile.c (build_object_list): Follow next instead of siblings.
|
||||||
|
|
||||||
Fri Jan 13 23:11:33 2006 Søren Sandmann <sandmann@redhat.com>
|
Fri Jan 13 23:11:33 2006 Søren Sandmann <sandmann@redhat.com>
|
||||||
|
|
||||||
* TODO: updates
|
* TODO: updates
|
||||||
|
|||||||
@ -1,7 +1,11 @@
|
|||||||
SUBDIRS = $(MODULE_SUBDIR)
|
SUBDIRS = $(MODULE_SUBDIR)
|
||||||
DIST_SUBDIRS = module
|
DIST_SUBDIRS = module
|
||||||
|
|
||||||
bin_PROGRAMS = sysprof sysprof-text
|
bin_PROGRAMS = sysprof-text
|
||||||
|
|
||||||
|
if BUILD_GUI
|
||||||
|
bin_PROGRAMS += sysprof
|
||||||
|
endif
|
||||||
|
|
||||||
SYSPROF_CORE = \
|
SYSPROF_CORE = \
|
||||||
binfile.h \
|
binfile.h \
|
||||||
@ -23,6 +27,7 @@ SYSPROF_CORE = \
|
|||||||
#
|
#
|
||||||
# GUI version
|
# GUI version
|
||||||
#
|
#
|
||||||
|
if BUILD_GUI
|
||||||
|
|
||||||
sysprof_SOURCES = \
|
sysprof_SOURCES = \
|
||||||
$(SYSPROF_CORE) \
|
$(SYSPROF_CORE) \
|
||||||
@ -37,6 +42,8 @@ sysprof_CPPFLAGS = \
|
|||||||
|
|
||||||
sysprof_LDADD = $(GUI_DEP_LIBS)
|
sysprof_LDADD = $(GUI_DEP_LIBS)
|
||||||
|
|
||||||
|
endif
|
||||||
|
|
||||||
udevdir = $(sysconfdir)/udev/rules.d
|
udevdir = $(sysconfdir)/udev/rules.d
|
||||||
dist_udev_DATA = 60-sysprof.rules
|
dist_udev_DATA = 60-sysprof.rules
|
||||||
|
|
||||||
|
|||||||
14
TODO
14
TODO
@ -20,6 +20,11 @@ Before 1.0.2:
|
|||||||
|
|
||||||
Before 1.2:
|
Before 1.2:
|
||||||
|
|
||||||
|
* Consider deleting cmdline hack in process.c and replace with something at
|
||||||
|
the symbol resolution level.
|
||||||
|
|
||||||
|
* Fix (deleted) problem.
|
||||||
|
|
||||||
* Add spew infrastructure to make remote debugging easier.
|
* Add spew infrastructure to make remote debugging easier.
|
||||||
|
|
||||||
* Make it compile and work on x86-64
|
* Make it compile and work on x86-64
|
||||||
@ -30,8 +35,6 @@ Before 1.2:
|
|||||||
the alert. This causes the start button to appear prelighted. Probably
|
the alert. This causes the start button to appear prelighted. Probably
|
||||||
just another gtk+ bug.
|
just another gtk+ bug.
|
||||||
|
|
||||||
* Don't build the GUI if gtk+ is not installed
|
|
||||||
|
|
||||||
* Find out if the first sort order of a GtkTreeView column can be changed
|
* Find out if the first sort order of a GtkTreeView column can be changed
|
||||||
programmatically.
|
programmatically.
|
||||||
|
|
||||||
@ -136,7 +139,8 @@ Before 1.2:
|
|||||||
together. well, they could be stitched together in the kernel.
|
together. well, they could be stitched together in the kernel.
|
||||||
Already done: we now take a stacktrace of the user space process
|
Already done: we now take a stacktrace of the user space process
|
||||||
when the interrupt happens in kernel mode. (Unfortunately, this
|
when the interrupt happens in kernel mode. (Unfortunately, this
|
||||||
causes lockups on many kernels).
|
causes lockups on many kernels (though I haven't seen that for
|
||||||
|
a while)).
|
||||||
|
|
||||||
We don't take any stacktraces of the kernel though. Things that
|
We don't take any stacktraces of the kernel though. Things that
|
||||||
need to be
|
need to be
|
||||||
@ -206,7 +210,7 @@ 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)
|
||||||
|
|
||||||
- Add ability to show more than one function at a time. Algorithm:
|
- Consider adding 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
|
||||||
best_so_far = relevant node
|
best_so_far = relevant node
|
||||||
@ -421,6 +425,8 @@ Later:
|
|||||||
|
|
||||||
DONE:
|
DONE:
|
||||||
|
|
||||||
|
* Don't build the GUI if gtk+ is not installed
|
||||||
|
|
||||||
* Find out why we sometimes get reports of time spent by [pid 0].
|
* Find out why we sometimes get reports of time spent by [pid 0].
|
||||||
|
|
||||||
* - Run a.out generated normally with gcc.
|
* - Run a.out generated normally with gcc.
|
||||||
|
|||||||
@ -86,11 +86,12 @@ fi
|
|||||||
core_dep="glib-2.0"
|
core_dep="glib-2.0"
|
||||||
gui_dep="gtk+-2.0 > 2.6.0 gdk-pixbuf-2.0 pangoft2 libglade-2.0"
|
gui_dep="gtk+-2.0 > 2.6.0 gdk-pixbuf-2.0 pangoft2 libglade-2.0"
|
||||||
|
|
||||||
PKG_CHECK_MODULES(CORE_DEP, $core_dep, [],
|
PKG_CHECK_MODULES(CORE_DEP, $core_dep, [], AC_MSG_ERROR([sysprof dependencies not satisfied]))
|
||||||
AC_MSG_ERROR([sysprof dependencies not satisfied]))
|
|
||||||
|
|
||||||
PKG_CHECK_MODULES(GUI_DEP, $gui_dep, [],
|
build_gui=yes
|
||||||
AC_MSG_ERROR([sysprof dependencies not satisfied]))
|
PKG_CHECK_MODULES(GUI_DEP, $gui_dep, [], build_gui=no)
|
||||||
|
|
||||||
|
AM_CONDITIONAL([BUILD_GUI], [test "$build_gui" = yes])
|
||||||
|
|
||||||
# libiberty and libbfd
|
# libiberty and libbfd
|
||||||
|
|
||||||
|
|||||||
@ -331,6 +331,8 @@ profile_create_descendants (Profile *profile,
|
|||||||
|
|
||||||
while (node)
|
while (node)
|
||||||
{
|
{
|
||||||
|
g_print ("node: %s (%d)\n", node->address, node->size);
|
||||||
|
|
||||||
if (node->toplevel)
|
if (node->toplevel)
|
||||||
stack_node_foreach_trace (node, add_trace_to_tree, &tree);
|
stack_node_foreach_trace (node, add_trace_to_tree, &tree);
|
||||||
|
|
||||||
@ -473,7 +475,7 @@ build_object_list (StackNode *node, gpointer data)
|
|||||||
obj->total = compute_total (node);
|
obj->total = compute_total (node);
|
||||||
|
|
||||||
obj->self = 0;
|
obj->self = 0;
|
||||||
for (n = node; n != NULL; n = n->siblings)
|
for (n = node; n != NULL; n = n->next)
|
||||||
obj->self += n->size;
|
obj->self += n->size;
|
||||||
|
|
||||||
*objects = g_list_prepend (*objects, obj);
|
*objects = g_list_prepend (*objects, obj);
|
||||||
|
|||||||
@ -30,7 +30,10 @@ typedef struct ProfileCaller ProfileCaller;
|
|||||||
|
|
||||||
struct ProfileObject
|
struct ProfileObject
|
||||||
{
|
{
|
||||||
char * name; /* identifies this object uniquely */
|
char * name; /* identifies this object uniquely
|
||||||
|
* (the pointer itself, not the
|
||||||
|
* string)
|
||||||
|
*/
|
||||||
|
|
||||||
guint total; /* sum of all toplevel totals */
|
guint total; /* sum of all toplevel totals */
|
||||||
guint self; /* sum of all selfs */
|
guint self; /* sum of all selfs */
|
||||||
|
|||||||
Reference in New Issue
Block a user