From a4f37ccd6b1ec6adc776411603ea59c4253a77e1 Mon Sep 17 00:00:00 2001 From: peterho Date: Sun, 9 Oct 2005 01:28:50 +0000 Subject: [PATCH] added diskperformance plugin git-svn-id: http://ltt.polymtl.ca/svn@1294 04897980-b3bd-0310-b5e0-8ef037075253 --- ltt/branches/poly/configure.in | 1 + .../poly/lttv/modules/gui/Makefile.am | 3 +- .../diskperformance/.deps/diskperformance.Plo | 1044 +++++++++++++++++ .../.deps/libsysteminfo.la.Plo | 1 + .../modules/gui/diskperformance/Makefile.am | 38 + .../gui/diskperformance/diskperformance.c | 638 ++++++++++ .../hDiskPerformanceInsert.xpm | 27 + .../modules/gui/diskperformance/liste.txt | 3 + .../lttv/modules/gui/interrupts/interrupts.c | 4 +- 9 files changed, 1756 insertions(+), 3 deletions(-) create mode 100644 ltt/branches/poly/lttv/modules/gui/diskperformance/.deps/diskperformance.Plo create mode 100644 ltt/branches/poly/lttv/modules/gui/diskperformance/.deps/libsysteminfo.la.Plo create mode 100644 ltt/branches/poly/lttv/modules/gui/diskperformance/Makefile.am create mode 100644 ltt/branches/poly/lttv/modules/gui/diskperformance/diskperformance.c create mode 100644 ltt/branches/poly/lttv/modules/gui/diskperformance/hDiskPerformanceInsert.xpm create mode 100644 ltt/branches/poly/lttv/modules/gui/diskperformance/liste.txt diff --git a/ltt/branches/poly/configure.in b/ltt/branches/poly/configure.in index 2414835b..6026c7f0 100644 --- a/ltt/branches/poly/configure.in +++ b/ltt/branches/poly/configure.in @@ -116,6 +116,7 @@ AC_CONFIG_FILES([Makefile lttv/modules/gui/Makefile lttv/modules/gui/lttvwindow/Makefile lttv/modules/gui/interrupts/Makefile + lttv/modules/gui/diskperformance/Makefile lttv/modules/gui/lttvwindow/lttvwindow/Makefile lttv/modules/gui/lttvwindow/pixmaps/Makefile lttv/modules/gui/controlflow/Makefile diff --git a/ltt/branches/poly/lttv/modules/gui/Makefile.am b/ltt/branches/poly/lttv/modules/gui/Makefile.am index 55281fca..ee483f4b 100644 --- a/ltt/branches/poly/lttv/modules/gui/Makefile.am +++ b/ltt/branches/poly/lttv/modules/gui/Makefile.am @@ -6,6 +6,7 @@ # WARNING : subdirs order is important : mainWin depends on API -SUBDIRS = lttvwindow controlflow detailedevents statistics filter tracecontrol interrupts +SUBDIRS = lttvwindow controlflow detailedevents statistics filter tracecontrol interrupts diskperformance + diff --git a/ltt/branches/poly/lttv/modules/gui/diskperformance/.deps/diskperformance.Plo b/ltt/branches/poly/lttv/modules/gui/diskperformance/.deps/diskperformance.Plo new file mode 100644 index 00000000..6f889e1f --- /dev/null +++ b/ltt/branches/poly/lttv/modules/gui/diskperformance/.deps/diskperformance.Plo @@ -0,0 +1,1044 @@ +diskperformance.lo diskperformance.o: diskperformance.c \ + /usr/include/math.h /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h /usr/include/bits/huge_val.h \ + /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h \ + /usr/include/bits/mathinline.h /usr/include/glib-2.0/glib.h \ + /usr/include/glib-2.0/glib/galloca.h \ + /usr/include/glib-2.0/glib/gtypes.h \ + /usr/lib/glib-2.0/include/glibconfig.h \ + /usr/include/glib-2.0/glib/gmacros.h \ + /usr/lib/gcc/i386-redhat-linux/3.4.2/include/stddef.h \ + /usr/lib/gcc/i386-redhat-linux/3.4.2/include/limits.h \ + /usr/lib/gcc/i386-redhat-linux/3.4.2/include/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/bits/posix2_lim.h \ + /usr/lib/gcc/i386-redhat-linux/3.4.2/include/float.h \ + /usr/include/glib-2.0/glib/garray.h \ + /usr/include/glib-2.0/glib/gasyncqueue.h \ + /usr/include/glib-2.0/glib/gthread.h \ + /usr/include/glib-2.0/glib/gerror.h /usr/include/glib-2.0/glib/gquark.h \ + /usr/include/glib-2.0/glib/gatomic.h \ + /usr/include/glib-2.0/glib/gbacktrace.h \ + /usr/include/glib-2.0/glib/gcache.h /usr/include/glib-2.0/glib/glist.h \ + /usr/include/glib-2.0/glib/gmem.h \ + /usr/include/glib-2.0/glib/gcompletion.h \ + /usr/include/glib-2.0/glib/gconvert.h \ + /usr/include/glib-2.0/glib/gdataset.h \ + /usr/include/glib-2.0/glib/gdate.h /usr/include/glib-2.0/glib/gdir.h \ + /usr/include/glib-2.0/glib/gfileutils.h \ + /usr/include/glib-2.0/glib/ghash.h /usr/include/glib-2.0/glib/ghook.h \ + /usr/include/glib-2.0/glib/giochannel.h \ + /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gslist.h \ + /usr/include/glib-2.0/glib/gstring.h \ + /usr/include/glib-2.0/glib/gunicode.h \ + /usr/include/glib-2.0/glib/gutils.h \ + /usr/lib/gcc/i386-redhat-linux/3.4.2/include/stdarg.h \ + /usr/include/glib-2.0/glib/gmarkup.h \ + /usr/include/glib-2.0/glib/gmessages.h \ + /usr/include/glib-2.0/glib/gnode.h \ + /usr/include/glib-2.0/glib/gpattern.h \ + /usr/include/glib-2.0/glib/gprimes.h \ + /usr/include/glib-2.0/glib/gqsort.h /usr/include/glib-2.0/glib/gqueue.h \ + /usr/include/glib-2.0/glib/grand.h /usr/include/glib-2.0/glib/grel.h \ + /usr/include/glib-2.0/glib/gscanner.h \ + /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gspawn.h \ + /usr/include/glib-2.0/glib/gstrfuncs.h \ + /usr/include/glib-2.0/glib/gthreadpool.h \ + /usr/include/glib-2.0/glib/gtimer.h /usr/include/glib-2.0/glib/gtree.h \ + /usr/include/gtk-2.0/gtk/gtk.h /usr/include/gtk-2.0/gdk/gdk.h \ + /usr/include/gtk-2.0/gdk/gdkcolor.h /usr/include/gtk-2.0/gdk/gdktypes.h \ + /usr/include/pango-1.0/pango/pango.h \ + /usr/include/pango-1.0/pango/pango-attributes.h \ + /usr/include/pango-1.0/pango/pango-font.h \ + /usr/include/pango-1.0/pango/pango-coverage.h \ + /usr/include/pango-1.0/pango/pango-types.h \ + /usr/include/glib-2.0/glib-object.h \ + /usr/include/glib-2.0/gobject/gboxed.h \ + /usr/include/glib-2.0/gobject/gtype.h \ + /usr/include/glib-2.0/gobject/genums.h \ + /usr/include/glib-2.0/gobject/gobject.h \ + /usr/include/glib-2.0/gobject/gvalue.h \ + /usr/include/glib-2.0/gobject/gparam.h \ + /usr/include/glib-2.0/gobject/gclosure.h \ + /usr/include/glib-2.0/gobject/gsignal.h \ + /usr/include/glib-2.0/gobject/gmarshal.h \ + /usr/include/glib-2.0/gobject/gparamspecs.h \ + /usr/include/glib-2.0/gobject/gsourceclosure.h \ + /usr/include/glib-2.0/gobject/gtypemodule.h \ + /usr/include/glib-2.0/gobject/gtypeplugin.h \ + /usr/include/glib-2.0/gobject/gvaluearray.h \ + /usr/include/glib-2.0/gobject/gvaluetypes.h \ + /usr/include/pango-1.0/pango/pango-break.h \ + /usr/include/pango-1.0/pango/pango-item.h \ + /usr/include/pango-1.0/pango/pango-context.h \ + /usr/include/pango-1.0/pango/pango-fontmap.h \ + /usr/include/pango-1.0/pango/pango-fontset.h \ + /usr/include/pango-1.0/pango/pango-engine.h \ + /usr/include/pango-1.0/pango/pango-glyph.h \ + /usr/include/pango-1.0/pango/pango-script.h \ + /usr/include/pango-1.0/pango/pango-enum-types.h \ + /usr/include/pango-1.0/pango/pango-layout.h \ + /usr/include/pango-1.0/pango/pango-glyph-item.h \ + /usr/include/pango-1.0/pango/pango-tabs.h \ + /usr/lib/gtk-2.0/include/gdkconfig.h \ + /usr/include/gtk-2.0/gdk/gdkcursor.h \ + /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf.h \ + /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-features.h \ + /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-loader.h \ + /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h \ + /usr/include/gtk-2.0/gdk/gdkdisplay.h \ + /usr/include/gtk-2.0/gdk/gdkevents.h /usr/include/gtk-2.0/gdk/gdkdnd.h \ + /usr/include/gtk-2.0/gdk/gdkinput.h \ + /usr/include/gtk-2.0/gdk/gdkdrawable.h /usr/include/gtk-2.0/gdk/gdkgc.h \ + /usr/include/gtk-2.0/gdk/gdkrgb.h \ + /usr/include/gtk-2.0/gdk/gdkenumtypes.h \ + /usr/include/gtk-2.0/gdk/gdkfont.h /usr/include/gtk-2.0/gdk/gdkimage.h \ + /usr/include/gtk-2.0/gdk/gdkkeys.h \ + /usr/include/gtk-2.0/gdk/gdkdisplaymanager.h \ + /usr/include/gtk-2.0/gdk/gdkpango.h \ + /usr/include/gtk-2.0/gdk/gdkpixbuf.h \ + /usr/include/gtk-2.0/gdk/gdkpixmap.h \ + /usr/include/gtk-2.0/gdk/gdkproperty.h \ + /usr/include/gtk-2.0/gdk/gdkregion.h \ + /usr/include/gtk-2.0/gdk/gdkscreen.h \ + /usr/include/gtk-2.0/gdk/gdkselection.h \ + /usr/include/gtk-2.0/gdk/gdkspawn.h \ + /usr/include/gtk-2.0/gdk/gdkvisual.h \ + /usr/include/gtk-2.0/gdk/gdkwindow.h \ + /usr/include/gtk-2.0/gtk/gtkaccelgroup.h \ + /usr/include/gtk-2.0/gtk/gtkenums.h \ + /usr/include/gtk-2.0/gtk/gtkaccellabel.h \ + /usr/include/gtk-2.0/gtk/gtklabel.h /usr/include/gtk-2.0/gtk/gtkmisc.h \ + /usr/include/gtk-2.0/gtk/gtkwidget.h \ + /usr/include/gtk-2.0/gtk/gtkobject.h \ + /usr/include/gtk-2.0/gtk/gtktypeutils.h \ + /usr/include/gtk-2.0/gtk/gtktypebuiltins.h \ + /usr/include/gtk-2.0/gtk/gtkdebug.h \ + /usr/include/gtk-2.0/gtk/gtkadjustment.h \ + /usr/include/gtk-2.0/gtk/gtkstyle.h \ + /usr/include/gtk-2.0/gtk/gtksettings.h /usr/include/gtk-2.0/gtk/gtkrc.h \ + /usr/include/atk-1.0/atk/atkobject.h \ + /usr/include/atk-1.0/atk/atkstate.h \ + /usr/include/atk-1.0/atk/atkrelationtype.h \ + /usr/include/gtk-2.0/gtk/gtkwindow.h /usr/include/gtk-2.0/gtk/gtkbin.h \ + /usr/include/gtk-2.0/gtk/gtkcontainer.h \ + /usr/include/gtk-2.0/gtk/gtkmenu.h \ + /usr/include/gtk-2.0/gtk/gtkmenushell.h \ + /usr/include/gtk-2.0/gtk/gtkaccelmap.h \ + /usr/include/gtk-2.0/gtk/gtkaccessible.h /usr/include/atk-1.0/atk/atk.h \ + /usr/include/atk-1.0/atk/atkaction.h \ + /usr/include/atk-1.0/atk/atkcomponent.h \ + /usr/include/atk-1.0/atk/atkutil.h \ + /usr/include/atk-1.0/atk/atkdocument.h \ + /usr/include/atk-1.0/atk/atkeditabletext.h \ + /usr/include/atk-1.0/atk/atktext.h \ + /usr/include/atk-1.0/atk/atkgobjectaccessible.h \ + /usr/include/atk-1.0/atk/atkhyperlink.h \ + /usr/include/atk-1.0/atk/atkhypertext.h \ + /usr/include/atk-1.0/atk/atkimage.h \ + /usr/include/atk-1.0/atk/atknoopobject.h \ + /usr/include/atk-1.0/atk/atknoopobjectfactory.h \ + /usr/include/atk-1.0/atk/atkobjectfactory.h \ + /usr/include/atk-1.0/atk/atkregistry.h \ + /usr/include/atk-1.0/atk/atkobjectfactory.h \ + /usr/include/atk-1.0/atk/atkrelation.h \ + /usr/include/atk-1.0/atk/atkrelationset.h \ + /usr/include/atk-1.0/atk/atkselection.h \ + /usr/include/atk-1.0/atk/atkstateset.h \ + /usr/include/atk-1.0/atk/atkstreamablecontent.h \ + /usr/include/atk-1.0/atk/atktable.h /usr/include/atk-1.0/atk/atkvalue.h \ + /usr/include/gtk-2.0/gtk/gtkaction.h \ + /usr/include/gtk-2.0/gtk/gtkactiongroup.h \ + /usr/include/gtk-2.0/gtk/gtkitemfactory.h \ + /usr/include/gtk-2.0/gtk/gtkalignment.h \ + /usr/include/gtk-2.0/gtk/gtkarrow.h \ + /usr/include/gtk-2.0/gtk/gtkaspectframe.h \ + /usr/include/gtk-2.0/gtk/gtkframe.h /usr/include/gtk-2.0/gtk/gtkbbox.h \ + /usr/include/gtk-2.0/gtk/gtkbox.h \ + /usr/include/gtk-2.0/gtk/gtkbindings.h \ + /usr/include/gtk-2.0/gtk/gtkbutton.h \ + /usr/include/gtk-2.0/gtk/gtkcalendar.h \ + /usr/include/gtk-2.0/gtk/gtksignal.h \ + /usr/include/gtk-2.0/gtk/gtkmarshal.h \ + /usr/include/gtk-2.0/gtk/gtkcelllayout.h \ + /usr/include/gtk-2.0/gtk/gtkcellrenderer.h \ + /usr/include/gtk-2.0/gtk/gtkcelleditable.h \ + /usr/include/gtk-2.0/gtk/gtktreeviewcolumn.h \ + /usr/include/gtk-2.0/gtk/gtktreemodel.h \ + /usr/include/gtk-2.0/gtk/gtktreesortable.h \ + /usr/include/gtk-2.0/gtk/gtkcellrendererpixbuf.h \ + /usr/include/gtk-2.0/gtk/gtkcellrenderertext.h \ + /usr/include/gtk-2.0/gtk/gtkcellrenderertoggle.h \ + /usr/include/gtk-2.0/gtk/gtkcheckbutton.h \ + /usr/include/gtk-2.0/gtk/gtktogglebutton.h \ + /usr/include/gtk-2.0/gtk/gtkcheckmenuitem.h \ + /usr/include/gtk-2.0/gtk/gtkmenuitem.h \ + /usr/include/gtk-2.0/gtk/gtkitem.h \ + /usr/include/gtk-2.0/gtk/gtkclipboard.h \ + /usr/include/gtk-2.0/gtk/gtkselection.h \ + /usr/include/gtk-2.0/gtk/gtkclist.h \ + /usr/include/gtk-2.0/gtk/gtkhscrollbar.h \ + /usr/include/gtk-2.0/gtk/gtkscrollbar.h \ + /usr/include/gtk-2.0/gtk/gtkrange.h \ + /usr/include/gtk-2.0/gtk/gtkvscrollbar.h \ + /usr/include/gtk-2.0/gtk/gtkcolorbutton.h \ + /usr/include/gtk-2.0/gtk/gtkcolorsel.h \ + /usr/include/gtk-2.0/gtk/gtkdialog.h /usr/include/gtk-2.0/gtk/gtkvbox.h \ + /usr/include/gtk-2.0/gtk/gtkcolorseldialog.h \ + /usr/include/gtk-2.0/gtk/gtkcombo.h /usr/include/gtk-2.0/gtk/gtkhbox.h \ + /usr/include/gtk-2.0/gtk/gtkcombobox.h \ + /usr/include/gtk-2.0/gtk/gtktreeview.h \ + /usr/include/gtk-2.0/gtk/gtkdnd.h \ + /usr/include/gtk-2.0/gtk/gtkcomboboxentry.h \ + /usr/include/gtk-2.0/gtk/gtkctree.h /usr/include/gtk-2.0/gtk/gtkcurve.h \ + /usr/include/gtk-2.0/gtk/gtkdrawingarea.h \ + /usr/include/gtk-2.0/gtk/gtkeditable.h \ + /usr/include/gtk-2.0/gtk/gtkentry.h \ + /usr/include/gtk-2.0/gtk/gtkimcontext.h \ + /usr/include/gtk-2.0/gtk/gtkentrycompletion.h \ + /usr/include/gtk-2.0/gtk/gtkliststore.h \ + /usr/include/gtk-2.0/gtk/gtktreemodelfilter.h \ + /usr/include/gtk-2.0/gtk/gtkeventbox.h \ + /usr/include/gtk-2.0/gtk/gtkexpander.h \ + /usr/include/gtk-2.0/gtk/gtkfilesel.h \ + /usr/include/gtk-2.0/gtk/gtkfixed.h \ + /usr/include/gtk-2.0/gtk/gtkfilechooserdialog.h \ + /usr/include/gtk-2.0/gtk/gtkfilechooser.h \ + /usr/include/gtk-2.0/gtk/gtkfilefilter.h \ + /usr/include/gtk-2.0/gtk/gtkfilechooserwidget.h \ + /usr/include/gtk-2.0/gtk/gtkfontbutton.h \ + /usr/include/gtk-2.0/gtk/gtkfontsel.h \ + /usr/include/gtk-2.0/gtk/gtkgamma.h /usr/include/gtk-2.0/gtk/gtkgc.h \ + /usr/include/gtk-2.0/gtk/gtkhandlebox.h \ + /usr/include/gtk-2.0/gtk/gtkhbbox.h \ + /usr/include/gtk-2.0/gtk/gtkhpaned.h \ + /usr/include/gtk-2.0/gtk/gtkpaned.h \ + /usr/include/gtk-2.0/gtk/gtkhruler.h \ + /usr/include/gtk-2.0/gtk/gtkruler.h \ + /usr/include/gtk-2.0/gtk/gtkhscale.h \ + /usr/include/gtk-2.0/gtk/gtkscale.h \ + /usr/include/gtk-2.0/gtk/gtkhseparator.h \ + /usr/include/gtk-2.0/gtk/gtkseparator.h \ + /usr/include/gtk-2.0/gtk/gtkiconfactory.h \ + /usr/include/gtk-2.0/gtk/gtkicontheme.h \ + /usr/include/gtk-2.0/gtk/gtkimage.h \ + /usr/include/gtk-2.0/gtk/gtkimagemenuitem.h \ + /usr/include/gtk-2.0/gtk/gtkimcontextsimple.h \ + /usr/include/gtk-2.0/gtk/gtkimmulticontext.h \ + /usr/include/gtk-2.0/gtk/gtkinputdialog.h \ + /usr/include/gtk-2.0/gtk/gtkinvisible.h \ + /usr/include/gtk-2.0/gtk/gtklayout.h /usr/include/gtk-2.0/gtk/gtklist.h \ + /usr/include/gtk-2.0/gtk/gtklistitem.h \ + /usr/include/gtk-2.0/gtk/gtkmain.h \ + /usr/include/gtk-2.0/gtk/gtkmenubar.h \ + /usr/include/gtk-2.0/gtk/gtkmessagedialog.h \ + /usr/include/gtk-2.0/gtk/gtknotebook.h \ + /usr/include/gtk-2.0/gtk/gtkoldeditable.h \ + /usr/include/gtk-2.0/gtk/gtkoptionmenu.h \ + /usr/include/gtk-2.0/gtk/gtkpixmap.h /usr/include/gtk-2.0/gtk/gtkplug.h \ + /usr/include/gtk-2.0/gtk/gtksocket.h \ + /usr/include/gtk-2.0/gtk/gtkpreview.h \ + /usr/include/gtk-2.0/gtk/gtkprogress.h \ + /usr/include/gtk-2.0/gtk/gtkprogressbar.h \ + /usr/include/gtk-2.0/gtk/gtkradioaction.h \ + /usr/include/gtk-2.0/gtk/gtktoggleaction.h \ + /usr/include/gtk-2.0/gtk/gtkradiobutton.h \ + /usr/include/gtk-2.0/gtk/gtkradiomenuitem.h \ + /usr/include/gtk-2.0/gtk/gtkradiotoolbutton.h \ + /usr/include/gtk-2.0/gtk/gtktoggletoolbutton.h \ + /usr/include/gtk-2.0/gtk/gtktoolbutton.h \ + /usr/include/gtk-2.0/gtk/gtktoolitem.h \ + /usr/include/gtk-2.0/gtk/gtktooltips.h \ + /usr/include/gtk-2.0/gtk/gtkscrolledwindow.h \ + /usr/include/gtk-2.0/gtk/gtkviewport.h \ + /usr/include/gtk-2.0/gtk/gtkseparatormenuitem.h \ + /usr/include/gtk-2.0/gtk/gtkseparatortoolitem.h \ + /usr/include/gtk-2.0/gtk/gtksizegroup.h \ + /usr/include/gtk-2.0/gtk/gtkspinbutton.h \ + /usr/include/gtk-2.0/gtk/gtkstatusbar.h \ + /usr/include/gtk-2.0/gtk/gtkstock.h /usr/include/gtk-2.0/gtk/gtktable.h \ + /usr/include/gtk-2.0/gtk/gtktearoffmenuitem.h \ + /usr/include/gtk-2.0/gtk/gtktext.h \ + /usr/include/gtk-2.0/gtk/gtktextbuffer.h \ + /usr/include/gtk-2.0/gtk/gtktexttagtable.h \ + /usr/include/gtk-2.0/gtk/gtktexttag.h \ + /usr/include/gtk-2.0/gtk/gtktextiter.h \ + /usr/include/gtk-2.0/gtk/gtktextchild.h \ + /usr/include/gtk-2.0/gtk/gtktextmark.h \ + /usr/include/gtk-2.0/gtk/gtktextview.h \ + /usr/include/gtk-2.0/gtk/gtktipsquery.h \ + /usr/include/gtk-2.0/gtk/gtktoggletoolbutton.h \ + /usr/include/gtk-2.0/gtk/gtktoolbar.h \ + /usr/include/gtk-2.0/gtk/gtktoolbutton.h \ + /usr/include/gtk-2.0/gtk/gtktoolitem.h \ + /usr/include/gtk-2.0/gtk/gtktree.h \ + /usr/include/gtk-2.0/gtk/gtktreednd.h \ + /usr/include/gtk-2.0/gtk/gtktreeitem.h \ + /usr/include/gtk-2.0/gtk/gtktreemodelsort.h \ + /usr/include/gtk-2.0/gtk/gtktreeselection.h \ + /usr/include/gtk-2.0/gtk/gtktreestore.h \ + /usr/include/gtk-2.0/gtk/gtkuimanager.h \ + /usr/include/gtk-2.0/gtk/gtkvbbox.h \ + /usr/include/gtk-2.0/gtk/gtkversion.h \ + /usr/include/gtk-2.0/gtk/gtkvpaned.h \ + /usr/include/gtk-2.0/gtk/gtkvruler.h \ + /usr/include/gtk-2.0/gtk/gtkvscale.h \ + /usr/include/gtk-2.0/gtk/gtkvseparator.h /usr/include/stdio.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h /usr/include/bits/stdio_lim.h \ + /usr/include/bits/sys_errlist.h /usr/include/bits/stdio.h \ + /usr/include/stdlib.h /usr/include/sys/types.h /usr/include/time.h \ + /usr/include/endian.h /usr/include/bits/endian.h \ + /usr/include/sys/select.h /usr/include/bits/select.h \ + /usr/include/bits/sigset.h /usr/include/bits/time.h \ + /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \ + /usr/include/bits/sched.h /usr/include/alloca.h /usr/include/string.h \ + /usr/include/bits/string.h /usr/include/bits/string2.h \ + ../../../../ltt/ltt.h ../../../../ltt/time.h ../../../../ltt/compiler.h \ + ../../../../ltt/event.h ../../../../ltt/type.h ../../../../ltt/trace.h \ + ../../../../ltt/facility.h ../../../../lttv/lttv/module.h \ + ../../../../lttv/lttv/hook.h ../../../../lttv/lttv/tracecontext.h \ + ../../../../lttv/lttv/traceset.h ../../../../lttv/lttv/attribute.h \ + ../../../../lttv/lttv/iattribute.h ../../../../lttv/lttv/state.h \ + ../../../../lttv/lttv/filter.h \ + ../../../../lttv/modules/gui/lttvwindow/lttvwindow/lttvwindow.h \ + ../../../../lttv/lttv/stats.h \ + ../../../../lttv/modules/gui/lttvwindow/lttvwindow/mainwindow.h \ + hDiskPerformanceInsert.xpm + +/usr/include/math.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/gnu/stubs.h: + +/usr/include/bits/huge_val.h: + +/usr/include/bits/mathdef.h: + +/usr/include/bits/mathcalls.h: + +/usr/include/bits/mathinline.h: + +/usr/include/glib-2.0/glib.h: + +/usr/include/glib-2.0/glib/galloca.h: + +/usr/include/glib-2.0/glib/gtypes.h: + +/usr/lib/glib-2.0/include/glibconfig.h: + +/usr/include/glib-2.0/glib/gmacros.h: + +/usr/lib/gcc/i386-redhat-linux/3.4.2/include/stddef.h: + +/usr/lib/gcc/i386-redhat-linux/3.4.2/include/limits.h: + +/usr/lib/gcc/i386-redhat-linux/3.4.2/include/syslimits.h: + +/usr/include/limits.h: + +/usr/include/bits/posix1_lim.h: + +/usr/include/bits/local_lim.h: + +/usr/include/linux/limits.h: + +/usr/include/bits/posix2_lim.h: + +/usr/lib/gcc/i386-redhat-linux/3.4.2/include/float.h: + +/usr/include/glib-2.0/glib/garray.h: + +/usr/include/glib-2.0/glib/gasyncqueue.h: + +/usr/include/glib-2.0/glib/gthread.h: + +/usr/include/glib-2.0/glib/gerror.h: + +/usr/include/glib-2.0/glib/gquark.h: + +/usr/include/glib-2.0/glib/gatomic.h: + +/usr/include/glib-2.0/glib/gbacktrace.h: + +/usr/include/glib-2.0/glib/gcache.h: + +/usr/include/glib-2.0/glib/glist.h: + +/usr/include/glib-2.0/glib/gmem.h: + +/usr/include/glib-2.0/glib/gcompletion.h: + +/usr/include/glib-2.0/glib/gconvert.h: + +/usr/include/glib-2.0/glib/gdataset.h: + +/usr/include/glib-2.0/glib/gdate.h: + +/usr/include/glib-2.0/glib/gdir.h: + +/usr/include/glib-2.0/glib/gfileutils.h: + +/usr/include/glib-2.0/glib/ghash.h: + +/usr/include/glib-2.0/glib/ghook.h: + +/usr/include/glib-2.0/glib/giochannel.h: + +/usr/include/glib-2.0/glib/gmain.h: + +/usr/include/glib-2.0/glib/gslist.h: + +/usr/include/glib-2.0/glib/gstring.h: + +/usr/include/glib-2.0/glib/gunicode.h: + +/usr/include/glib-2.0/glib/gutils.h: + +/usr/lib/gcc/i386-redhat-linux/3.4.2/include/stdarg.h: + +/usr/include/glib-2.0/glib/gmarkup.h: + +/usr/include/glib-2.0/glib/gmessages.h: + +/usr/include/glib-2.0/glib/gnode.h: + +/usr/include/glib-2.0/glib/gpattern.h: + +/usr/include/glib-2.0/glib/gprimes.h: + +/usr/include/glib-2.0/glib/gqsort.h: + +/usr/include/glib-2.0/glib/gqueue.h: + +/usr/include/glib-2.0/glib/grand.h: + +/usr/include/glib-2.0/glib/grel.h: + +/usr/include/glib-2.0/glib/gscanner.h: + +/usr/include/glib-2.0/glib/gshell.h: + +/usr/include/glib-2.0/glib/gspawn.h: + +/usr/include/glib-2.0/glib/gstrfuncs.h: + +/usr/include/glib-2.0/glib/gthreadpool.h: + +/usr/include/glib-2.0/glib/gtimer.h: + +/usr/include/glib-2.0/glib/gtree.h: + +/usr/include/gtk-2.0/gtk/gtk.h: + +/usr/include/gtk-2.0/gdk/gdk.h: + +/usr/include/gtk-2.0/gdk/gdkcolor.h: + +/usr/include/gtk-2.0/gdk/gdktypes.h: + +/usr/include/pango-1.0/pango/pango.h: + +/usr/include/pango-1.0/pango/pango-attributes.h: + +/usr/include/pango-1.0/pango/pango-font.h: + +/usr/include/pango-1.0/pango/pango-coverage.h: + +/usr/include/pango-1.0/pango/pango-types.h: + +/usr/include/glib-2.0/glib-object.h: + +/usr/include/glib-2.0/gobject/gboxed.h: + +/usr/include/glib-2.0/gobject/gtype.h: + +/usr/include/glib-2.0/gobject/genums.h: + +/usr/include/glib-2.0/gobject/gobject.h: + +/usr/include/glib-2.0/gobject/gvalue.h: + +/usr/include/glib-2.0/gobject/gparam.h: + +/usr/include/glib-2.0/gobject/gclosure.h: + +/usr/include/glib-2.0/gobject/gsignal.h: + +/usr/include/glib-2.0/gobject/gmarshal.h: + +/usr/include/glib-2.0/gobject/gparamspecs.h: + +/usr/include/glib-2.0/gobject/gsourceclosure.h: + +/usr/include/glib-2.0/gobject/gtypemodule.h: + +/usr/include/glib-2.0/gobject/gtypeplugin.h: + +/usr/include/glib-2.0/gobject/gvaluearray.h: + +/usr/include/glib-2.0/gobject/gvaluetypes.h: + +/usr/include/pango-1.0/pango/pango-break.h: + +/usr/include/pango-1.0/pango/pango-item.h: + +/usr/include/pango-1.0/pango/pango-context.h: + +/usr/include/pango-1.0/pango/pango-fontmap.h: + +/usr/include/pango-1.0/pango/pango-fontset.h: + +/usr/include/pango-1.0/pango/pango-engine.h: + +/usr/include/pango-1.0/pango/pango-glyph.h: + +/usr/include/pango-1.0/pango/pango-script.h: + +/usr/include/pango-1.0/pango/pango-enum-types.h: + +/usr/include/pango-1.0/pango/pango-layout.h: + +/usr/include/pango-1.0/pango/pango-glyph-item.h: + +/usr/include/pango-1.0/pango/pango-tabs.h: + +/usr/lib/gtk-2.0/include/gdkconfig.h: + +/usr/include/gtk-2.0/gdk/gdkcursor.h: + +/usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf.h: + +/usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-features.h: + +/usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-loader.h: + +/usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h: + +/usr/include/gtk-2.0/gdk/gdkdisplay.h: + +/usr/include/gtk-2.0/gdk/gdkevents.h: + +/usr/include/gtk-2.0/gdk/gdkdnd.h: + +/usr/include/gtk-2.0/gdk/gdkinput.h: + +/usr/include/gtk-2.0/gdk/gdkdrawable.h: + +/usr/include/gtk-2.0/gdk/gdkgc.h: + +/usr/include/gtk-2.0/gdk/gdkrgb.h: + +/usr/include/gtk-2.0/gdk/gdkenumtypes.h: + +/usr/include/gtk-2.0/gdk/gdkfont.h: + +/usr/include/gtk-2.0/gdk/gdkimage.h: + +/usr/include/gtk-2.0/gdk/gdkkeys.h: + +/usr/include/gtk-2.0/gdk/gdkdisplaymanager.h: + +/usr/include/gtk-2.0/gdk/gdkpango.h: + +/usr/include/gtk-2.0/gdk/gdkpixbuf.h: + +/usr/include/gtk-2.0/gdk/gdkpixmap.h: + +/usr/include/gtk-2.0/gdk/gdkproperty.h: + +/usr/include/gtk-2.0/gdk/gdkregion.h: + +/usr/include/gtk-2.0/gdk/gdkscreen.h: + +/usr/include/gtk-2.0/gdk/gdkselection.h: + +/usr/include/gtk-2.0/gdk/gdkspawn.h: + +/usr/include/gtk-2.0/gdk/gdkvisual.h: + +/usr/include/gtk-2.0/gdk/gdkwindow.h: + +/usr/include/gtk-2.0/gtk/gtkaccelgroup.h: + +/usr/include/gtk-2.0/gtk/gtkenums.h: + +/usr/include/gtk-2.0/gtk/gtkaccellabel.h: + +/usr/include/gtk-2.0/gtk/gtklabel.h: + +/usr/include/gtk-2.0/gtk/gtkmisc.h: + +/usr/include/gtk-2.0/gtk/gtkwidget.h: + +/usr/include/gtk-2.0/gtk/gtkobject.h: + +/usr/include/gtk-2.0/gtk/gtktypeutils.h: + +/usr/include/gtk-2.0/gtk/gtktypebuiltins.h: + +/usr/include/gtk-2.0/gtk/gtkdebug.h: + +/usr/include/gtk-2.0/gtk/gtkadjustment.h: + +/usr/include/gtk-2.0/gtk/gtkstyle.h: + +/usr/include/gtk-2.0/gtk/gtksettings.h: + +/usr/include/gtk-2.0/gtk/gtkrc.h: + +/usr/include/atk-1.0/atk/atkobject.h: + +/usr/include/atk-1.0/atk/atkstate.h: + +/usr/include/atk-1.0/atk/atkrelationtype.h: + +/usr/include/gtk-2.0/gtk/gtkwindow.h: + +/usr/include/gtk-2.0/gtk/gtkbin.h: + +/usr/include/gtk-2.0/gtk/gtkcontainer.h: + +/usr/include/gtk-2.0/gtk/gtkmenu.h: + +/usr/include/gtk-2.0/gtk/gtkmenushell.h: + +/usr/include/gtk-2.0/gtk/gtkaccelmap.h: + +/usr/include/gtk-2.0/gtk/gtkaccessible.h: + +/usr/include/atk-1.0/atk/atk.h: + +/usr/include/atk-1.0/atk/atkaction.h: + +/usr/include/atk-1.0/atk/atkcomponent.h: + +/usr/include/atk-1.0/atk/atkutil.h: + +/usr/include/atk-1.0/atk/atkdocument.h: + +/usr/include/atk-1.0/atk/atkeditabletext.h: + +/usr/include/atk-1.0/atk/atktext.h: + +/usr/include/atk-1.0/atk/atkgobjectaccessible.h: + +/usr/include/atk-1.0/atk/atkhyperlink.h: + +/usr/include/atk-1.0/atk/atkhypertext.h: + +/usr/include/atk-1.0/atk/atkimage.h: + +/usr/include/atk-1.0/atk/atknoopobject.h: + +/usr/include/atk-1.0/atk/atknoopobjectfactory.h: + +/usr/include/atk-1.0/atk/atkobjectfactory.h: + +/usr/include/atk-1.0/atk/atkregistry.h: + +/usr/include/atk-1.0/atk/atkobjectfactory.h: + +/usr/include/atk-1.0/atk/atkrelation.h: + +/usr/include/atk-1.0/atk/atkrelationset.h: + +/usr/include/atk-1.0/atk/atkselection.h: + +/usr/include/atk-1.0/atk/atkstateset.h: + +/usr/include/atk-1.0/atk/atkstreamablecontent.h: + +/usr/include/atk-1.0/atk/atktable.h: + +/usr/include/atk-1.0/atk/atkvalue.h: + +/usr/include/gtk-2.0/gtk/gtkaction.h: + +/usr/include/gtk-2.0/gtk/gtkactiongroup.h: + +/usr/include/gtk-2.0/gtk/gtkitemfactory.h: + +/usr/include/gtk-2.0/gtk/gtkalignment.h: + +/usr/include/gtk-2.0/gtk/gtkarrow.h: + +/usr/include/gtk-2.0/gtk/gtkaspectframe.h: + +/usr/include/gtk-2.0/gtk/gtkframe.h: + +/usr/include/gtk-2.0/gtk/gtkbbox.h: + +/usr/include/gtk-2.0/gtk/gtkbox.h: + +/usr/include/gtk-2.0/gtk/gtkbindings.h: + +/usr/include/gtk-2.0/gtk/gtkbutton.h: + +/usr/include/gtk-2.0/gtk/gtkcalendar.h: + +/usr/include/gtk-2.0/gtk/gtksignal.h: + +/usr/include/gtk-2.0/gtk/gtkmarshal.h: + +/usr/include/gtk-2.0/gtk/gtkcelllayout.h: + +/usr/include/gtk-2.0/gtk/gtkcellrenderer.h: + +/usr/include/gtk-2.0/gtk/gtkcelleditable.h: + +/usr/include/gtk-2.0/gtk/gtktreeviewcolumn.h: + +/usr/include/gtk-2.0/gtk/gtktreemodel.h: + +/usr/include/gtk-2.0/gtk/gtktreesortable.h: + +/usr/include/gtk-2.0/gtk/gtkcellrendererpixbuf.h: + +/usr/include/gtk-2.0/gtk/gtkcellrenderertext.h: + +/usr/include/gtk-2.0/gtk/gtkcellrenderertoggle.h: + +/usr/include/gtk-2.0/gtk/gtkcheckbutton.h: + +/usr/include/gtk-2.0/gtk/gtktogglebutton.h: + +/usr/include/gtk-2.0/gtk/gtkcheckmenuitem.h: + +/usr/include/gtk-2.0/gtk/gtkmenuitem.h: + +/usr/include/gtk-2.0/gtk/gtkitem.h: + +/usr/include/gtk-2.0/gtk/gtkclipboard.h: + +/usr/include/gtk-2.0/gtk/gtkselection.h: + +/usr/include/gtk-2.0/gtk/gtkclist.h: + +/usr/include/gtk-2.0/gtk/gtkhscrollbar.h: + +/usr/include/gtk-2.0/gtk/gtkscrollbar.h: + +/usr/include/gtk-2.0/gtk/gtkrange.h: + +/usr/include/gtk-2.0/gtk/gtkvscrollbar.h: + +/usr/include/gtk-2.0/gtk/gtkcolorbutton.h: + +/usr/include/gtk-2.0/gtk/gtkcolorsel.h: + +/usr/include/gtk-2.0/gtk/gtkdialog.h: + +/usr/include/gtk-2.0/gtk/gtkvbox.h: + +/usr/include/gtk-2.0/gtk/gtkcolorseldialog.h: + +/usr/include/gtk-2.0/gtk/gtkcombo.h: + +/usr/include/gtk-2.0/gtk/gtkhbox.h: + +/usr/include/gtk-2.0/gtk/gtkcombobox.h: + +/usr/include/gtk-2.0/gtk/gtktreeview.h: + +/usr/include/gtk-2.0/gtk/gtkdnd.h: + +/usr/include/gtk-2.0/gtk/gtkcomboboxentry.h: + +/usr/include/gtk-2.0/gtk/gtkctree.h: + +/usr/include/gtk-2.0/gtk/gtkcurve.h: + +/usr/include/gtk-2.0/gtk/gtkdrawingarea.h: + +/usr/include/gtk-2.0/gtk/gtkeditable.h: + +/usr/include/gtk-2.0/gtk/gtkentry.h: + +/usr/include/gtk-2.0/gtk/gtkimcontext.h: + +/usr/include/gtk-2.0/gtk/gtkentrycompletion.h: + +/usr/include/gtk-2.0/gtk/gtkliststore.h: + +/usr/include/gtk-2.0/gtk/gtktreemodelfilter.h: + +/usr/include/gtk-2.0/gtk/gtkeventbox.h: + +/usr/include/gtk-2.0/gtk/gtkexpander.h: + +/usr/include/gtk-2.0/gtk/gtkfilesel.h: + +/usr/include/gtk-2.0/gtk/gtkfixed.h: + +/usr/include/gtk-2.0/gtk/gtkfilechooserdialog.h: + +/usr/include/gtk-2.0/gtk/gtkfilechooser.h: + +/usr/include/gtk-2.0/gtk/gtkfilefilter.h: + +/usr/include/gtk-2.0/gtk/gtkfilechooserwidget.h: + +/usr/include/gtk-2.0/gtk/gtkfontbutton.h: + +/usr/include/gtk-2.0/gtk/gtkfontsel.h: + +/usr/include/gtk-2.0/gtk/gtkgamma.h: + +/usr/include/gtk-2.0/gtk/gtkgc.h: + +/usr/include/gtk-2.0/gtk/gtkhandlebox.h: + +/usr/include/gtk-2.0/gtk/gtkhbbox.h: + +/usr/include/gtk-2.0/gtk/gtkhpaned.h: + +/usr/include/gtk-2.0/gtk/gtkpaned.h: + +/usr/include/gtk-2.0/gtk/gtkhruler.h: + +/usr/include/gtk-2.0/gtk/gtkruler.h: + +/usr/include/gtk-2.0/gtk/gtkhscale.h: + +/usr/include/gtk-2.0/gtk/gtkscale.h: + +/usr/include/gtk-2.0/gtk/gtkhseparator.h: + +/usr/include/gtk-2.0/gtk/gtkseparator.h: + +/usr/include/gtk-2.0/gtk/gtkiconfactory.h: + +/usr/include/gtk-2.0/gtk/gtkicontheme.h: + +/usr/include/gtk-2.0/gtk/gtkimage.h: + +/usr/include/gtk-2.0/gtk/gtkimagemenuitem.h: + +/usr/include/gtk-2.0/gtk/gtkimcontextsimple.h: + +/usr/include/gtk-2.0/gtk/gtkimmulticontext.h: + +/usr/include/gtk-2.0/gtk/gtkinputdialog.h: + +/usr/include/gtk-2.0/gtk/gtkinvisible.h: + +/usr/include/gtk-2.0/gtk/gtklayout.h: + +/usr/include/gtk-2.0/gtk/gtklist.h: + +/usr/include/gtk-2.0/gtk/gtklistitem.h: + +/usr/include/gtk-2.0/gtk/gtkmain.h: + +/usr/include/gtk-2.0/gtk/gtkmenubar.h: + +/usr/include/gtk-2.0/gtk/gtkmessagedialog.h: + +/usr/include/gtk-2.0/gtk/gtknotebook.h: + +/usr/include/gtk-2.0/gtk/gtkoldeditable.h: + +/usr/include/gtk-2.0/gtk/gtkoptionmenu.h: + +/usr/include/gtk-2.0/gtk/gtkpixmap.h: + +/usr/include/gtk-2.0/gtk/gtkplug.h: + +/usr/include/gtk-2.0/gtk/gtksocket.h: + +/usr/include/gtk-2.0/gtk/gtkpreview.h: + +/usr/include/gtk-2.0/gtk/gtkprogress.h: + +/usr/include/gtk-2.0/gtk/gtkprogressbar.h: + +/usr/include/gtk-2.0/gtk/gtkradioaction.h: + +/usr/include/gtk-2.0/gtk/gtktoggleaction.h: + +/usr/include/gtk-2.0/gtk/gtkradiobutton.h: + +/usr/include/gtk-2.0/gtk/gtkradiomenuitem.h: + +/usr/include/gtk-2.0/gtk/gtkradiotoolbutton.h: + +/usr/include/gtk-2.0/gtk/gtktoggletoolbutton.h: + +/usr/include/gtk-2.0/gtk/gtktoolbutton.h: + +/usr/include/gtk-2.0/gtk/gtktoolitem.h: + +/usr/include/gtk-2.0/gtk/gtktooltips.h: + +/usr/include/gtk-2.0/gtk/gtkscrolledwindow.h: + +/usr/include/gtk-2.0/gtk/gtkviewport.h: + +/usr/include/gtk-2.0/gtk/gtkseparatormenuitem.h: + +/usr/include/gtk-2.0/gtk/gtkseparatortoolitem.h: + +/usr/include/gtk-2.0/gtk/gtksizegroup.h: + +/usr/include/gtk-2.0/gtk/gtkspinbutton.h: + +/usr/include/gtk-2.0/gtk/gtkstatusbar.h: + +/usr/include/gtk-2.0/gtk/gtkstock.h: + +/usr/include/gtk-2.0/gtk/gtktable.h: + +/usr/include/gtk-2.0/gtk/gtktearoffmenuitem.h: + +/usr/include/gtk-2.0/gtk/gtktext.h: + +/usr/include/gtk-2.0/gtk/gtktextbuffer.h: + +/usr/include/gtk-2.0/gtk/gtktexttagtable.h: + +/usr/include/gtk-2.0/gtk/gtktexttag.h: + +/usr/include/gtk-2.0/gtk/gtktextiter.h: + +/usr/include/gtk-2.0/gtk/gtktextchild.h: + +/usr/include/gtk-2.0/gtk/gtktextmark.h: + +/usr/include/gtk-2.0/gtk/gtktextview.h: + +/usr/include/gtk-2.0/gtk/gtktipsquery.h: + +/usr/include/gtk-2.0/gtk/gtktoggletoolbutton.h: + +/usr/include/gtk-2.0/gtk/gtktoolbar.h: + +/usr/include/gtk-2.0/gtk/gtktoolbutton.h: + +/usr/include/gtk-2.0/gtk/gtktoolitem.h: + +/usr/include/gtk-2.0/gtk/gtktree.h: + +/usr/include/gtk-2.0/gtk/gtktreednd.h: + +/usr/include/gtk-2.0/gtk/gtktreeitem.h: + +/usr/include/gtk-2.0/gtk/gtktreemodelsort.h: + +/usr/include/gtk-2.0/gtk/gtktreeselection.h: + +/usr/include/gtk-2.0/gtk/gtktreestore.h: + +/usr/include/gtk-2.0/gtk/gtkuimanager.h: + +/usr/include/gtk-2.0/gtk/gtkvbbox.h: + +/usr/include/gtk-2.0/gtk/gtkversion.h: + +/usr/include/gtk-2.0/gtk/gtkvpaned.h: + +/usr/include/gtk-2.0/gtk/gtkvruler.h: + +/usr/include/gtk-2.0/gtk/gtkvscale.h: + +/usr/include/gtk-2.0/gtk/gtkvseparator.h: + +/usr/include/stdio.h: + +/usr/include/bits/types.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/include/bits/wchar.h: + +/usr/include/gconv.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/stdlib.h: + +/usr/include/sys/types.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/sched.h: + +/usr/include/alloca.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +../../../../ltt/ltt.h: + +../../../../ltt/time.h: + +../../../../ltt/compiler.h: + +../../../../ltt/event.h: + +../../../../ltt/type.h: + +../../../../ltt/trace.h: + +../../../../ltt/facility.h: + +../../../../lttv/lttv/module.h: + +../../../../lttv/lttv/hook.h: + +../../../../lttv/lttv/tracecontext.h: + +../../../../lttv/lttv/traceset.h: + +../../../../lttv/lttv/attribute.h: + +../../../../lttv/lttv/iattribute.h: + +../../../../lttv/lttv/state.h: + +../../../../lttv/lttv/filter.h: + +../../../../lttv/modules/gui/lttvwindow/lttvwindow/lttvwindow.h: + +../../../../lttv/lttv/stats.h: + +../../../../lttv/modules/gui/lttvwindow/lttvwindow/mainwindow.h: + +hDiskPerformanceInsert.xpm: diff --git a/ltt/branches/poly/lttv/modules/gui/diskperformance/.deps/libsysteminfo.la.Plo b/ltt/branches/poly/lttv/modules/gui/diskperformance/.deps/libsysteminfo.la.Plo new file mode 100644 index 00000000..9ce06a81 --- /dev/null +++ b/ltt/branches/poly/lttv/modules/gui/diskperformance/.deps/libsysteminfo.la.Plo @@ -0,0 +1 @@ +# dummy diff --git a/ltt/branches/poly/lttv/modules/gui/diskperformance/Makefile.am b/ltt/branches/poly/lttv/modules/gui/diskperformance/Makefile.am new file mode 100644 index 00000000..3396bc6a --- /dev/null +++ b/ltt/branches/poly/lttv/modules/gui/diskperformance/Makefile.am @@ -0,0 +1,38 @@ +# This file is part of the Linux Trace Toolkit viewer +# Copyright (C) 2003-2004 Mathieu Desnoyers +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License Version 2 as +# published by the Free Software Foundation; +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, +# MA 02111-1307, USA. + + + +# +# Makefile for LTT New generation user interface : plugins. +# +# Created by Mathieu Desnoyers on May 6, 2003 +# + +AM_CFLAGS = $(GLIB_CFLAGS) +AM_CFLAGS += $(GTK_CFLAGS) +LIBS += $(GLIB_LIBS) +LIBS += $(GTK_LIBS) -L${top_srcdir}/lttv/modules/gui/lttvwindow/lttvwindow -llttvwindow + +libdir = ${lttvplugindir} + +lib_LTLIBRARIES = libdiskperformance.la +libdiskperformance_la_LDFLAGS = -module +libdiskperformance_la_SOURCES = diskperformance.c + +EXTRA_DIST = \ + hDiskPerformanceInsert.xpm diff --git a/ltt/branches/poly/lttv/modules/gui/diskperformance/diskperformance.c b/ltt/branches/poly/lttv/modules/gui/diskperformance/diskperformance.c new file mode 100644 index 00000000..cee71c65 --- /dev/null +++ b/ltt/branches/poly/lttv/modules/gui/diskperformance/diskperformance.c @@ -0,0 +1,638 @@ +/* This file is part of the Linux Trace Toolkit viewer + * Copyright (C) 2005 Peter Ho + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License Version 2 as + * published by the Free Software Foundation; + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, + * MA 02111-1307, USA. + */ + + +#include + +#include +#include +#include + +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "hDiskPerformanceInsert.xpm" + + +#define g_info(format...) g_log (G_LOG_DOMAIN, G_LOG_LEVEL_INFO, format) +#define g_debug(format...) g_log (G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, format) +#define NO_ITEMS 0 + +enum{ + DISKNAME_COLUMN, + BYTES_RD_COLUMN, + BYTES_RD_SEC_COLUMN, + NUM_RD_COLUMN, + BYTES_WR_COLUMN, + BYTES_WR_SEC_COLUMN, + NUM_WR_COLUMN, + N_COLUMNS +}; +enum operation_t { + LTTV_READ_OPERATION = 1, + LTTV_WRITE_OPERATION +}; + +typedef struct _DiskPerformanceData { + + Tab * tab; + LttvHooks * event_hooks; + LttvHooks * hooks_trace_after; + LttvHooks * hooks_trace_before; + TimeWindow time_window; // time window + + GtkWidget * scroll_win; + /* Model containing list data */ + GtkListStore *store_m; + GtkWidget *hbox_v; + /* Widget to display the data in a columned list */ + GtkWidget *tree_v; + /* Selection handler */ + GtkTreeSelection *select_c; + + GArray *disk_array; + +} DiskPerformanceData; + + +typedef struct _lttv_block { + guint major_number; + guint minor_number; + guint size; +} lttv_block; + +typedef struct _lttv_total_block { + char diskname[10]; + guint64 total_bytes_read; + guint num_read_operations; + guint64 total_bytes_written; + guint num_write_operations; + +} lttv_total_block; + +GSList *g_disk_data_list = NULL ; + +DiskPerformanceData *disk_performance_data(Tab *tab); +static void disk_destroy_walk(gpointer data, gpointer user_data); +static gboolean parse_event(void *hook_data, void *call_data); +static gboolean disk_show(void *hook_data, void *call_data); +static gboolean trace_header(void *hook_data, void *call_data); +static gboolean disk_update_time_window(void * hook_data, void * call_data); +static void tree_v_size_allocate_cb (GtkWidget *widget, GtkAllocation *alloc, gpointer data); +static void tree_v_size_request_cb (GtkWidget *widget, GtkRequisition *requisition, gpointer data); +static void tree_v_cursor_changed_cb (GtkWidget *widget, gpointer data); +static void tree_v_move_cursor_cb (GtkWidget *widget, GtkMovementStep arg1, gint arg2, gpointer data); +static void tree_selection_changed_cb (GtkTreeSelection *selection, gpointer data); +static void request_event( DiskPerformanceData *disk_performance); +void gui_disperformance_free(DiskPerformanceData *event_viewer_data); +static void get_event_detail(LttEvent *e, LttField *f, GString * s, lttv_block* disk_data); +static char * major_minor_to_diskname( lttv_block* disk_data); +static void sum_data(char* diskname, guint size, enum operation_t opt, GArray *disk_array); + +GtkWidget *disk_performance(Tab * tab){ + + DiskPerformanceData* disk_data = disk_performance_data(tab); + if(disk_data) + return disk_data->hbox_v; + else + return NULL; + +} + +DiskPerformanceData *disk_performance_data(Tab *tab){ + + LttTime end; + GtkTreeViewColumn *column; + GtkCellRenderer *renderer; + DiskPerformanceData* disk_data = g_new(DiskPerformanceData,1) ; + + g_info("enter disk_performance_data \n"); + + disk_data->tab = tab; + disk_data->time_window = lttvwindow_get_time_window(tab); + + disk_data->disk_array = g_array_new(FALSE, FALSE, sizeof(lttv_total_block )); + + lttvwindow_register_time_window_notify(tab, + disk_update_time_window, + disk_data); + + disk_data->scroll_win = gtk_scrolled_window_new (NULL, NULL); + gtk_widget_show (disk_data->scroll_win); + gtk_scrolled_window_set_policy( + GTK_SCROLLED_WINDOW(disk_data->scroll_win), + GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC/*GTK_POLICY_NEVER*/); + + + /* Create a model for storing the data list */ + disk_data->store_m = gtk_list_store_new ( + N_COLUMNS, /* Total number of columns */ + G_TYPE_STRING, /* Diskname */ // to change from INT to string later + G_TYPE_INT64, /* Bytes read */ + G_TYPE_INT64, /* Bytes read/sec */ + G_TYPE_INT, + G_TYPE_INT64, /* bytes written */ + G_TYPE_INT64, /* bytes written/sec */ + G_TYPE_INT + ); + + disk_data->tree_v = gtk_tree_view_new_with_model (GTK_TREE_MODEL (disk_data->store_m)); + + g_signal_connect (G_OBJECT (disk_data->tree_v), "size-allocate", + G_CALLBACK (tree_v_size_allocate_cb), + disk_data); + g_signal_connect (G_OBJECT (disk_data->tree_v), "size-request", + G_CALLBACK (tree_v_size_request_cb), + disk_data); + g_signal_connect (G_OBJECT (disk_data->tree_v), "cursor-changed", + G_CALLBACK (tree_v_cursor_changed_cb), + disk_data); + g_signal_connect (G_OBJECT (disk_data->tree_v), "move-cursor", + G_CALLBACK (tree_v_move_cursor_cb), + disk_data); + + g_object_unref (G_OBJECT (disk_data->store_m)); + + renderer = gtk_cell_renderer_text_new (); + column = gtk_tree_view_column_new_with_attributes ("DiskName", + renderer, + "text", DISKNAME_COLUMN, + NULL); + gtk_tree_view_column_set_alignment (column, 0.0); + gtk_tree_view_column_set_fixed_width (column, 45); + gtk_tree_view_append_column (GTK_TREE_VIEW (disk_data->tree_v), column); + + renderer = gtk_cell_renderer_text_new (); + column = gtk_tree_view_column_new_with_attributes ("BytesRead", + renderer, + "text", BYTES_RD_COLUMN, + NULL); + gtk_tree_view_column_set_alignment (column, 0.0); + gtk_tree_view_column_set_fixed_width (column, 220); + gtk_tree_view_append_column (GTK_TREE_VIEW (disk_data->tree_v), column); + + renderer = gtk_cell_renderer_text_new (); + column = gtk_tree_view_column_new_with_attributes ("BytesRead/sec", + renderer, + "text", BYTES_RD_SEC_COLUMN, + NULL); + gtk_tree_view_column_set_alignment (column, 1.0); + gtk_tree_view_column_set_fixed_width (column, 220); + gtk_tree_view_append_column (GTK_TREE_VIEW (disk_data->tree_v), column); + + renderer = gtk_cell_renderer_text_new (); + column = gtk_tree_view_column_new_with_attributes ("NumReadOperations", + renderer, + "text",NUM_RD_COLUMN, + NULL); + gtk_tree_view_column_set_alignment (column, 1.0); + gtk_tree_view_column_set_fixed_width (column, 220); + gtk_tree_view_append_column (GTK_TREE_VIEW (disk_data->tree_v), column); + + renderer = gtk_cell_renderer_text_new (); + column = gtk_tree_view_column_new_with_attributes ("BytesWritten", + renderer, + "text", BYTES_WR_COLUMN, + NULL); + gtk_tree_view_column_set_alignment (column, 0.0); + gtk_tree_view_column_set_fixed_width (column, 145); + gtk_tree_view_append_column (GTK_TREE_VIEW (disk_data->tree_v), column); + + renderer = gtk_cell_renderer_text_new (); + column = gtk_tree_view_column_new_with_attributes ("BytesWritten/sec", + renderer, + "text", BYTES_WR_SEC_COLUMN, + NULL); + gtk_tree_view_column_set_alignment (column, 1.0); + gtk_tree_view_column_set_fixed_width (column, 220); + gtk_tree_view_append_column (GTK_TREE_VIEW (disk_data->tree_v), column); + + renderer = gtk_cell_renderer_text_new (); + column = gtk_tree_view_column_new_with_attributes ("NumWriteOperations", + renderer, + "text",NUM_WR_COLUMN, + NULL); + gtk_tree_view_column_set_alignment (column, 0.0); + gtk_tree_view_column_set_fixed_width (column, 145); + gtk_tree_view_append_column (GTK_TREE_VIEW (disk_data->tree_v), column); + + disk_data->select_c = gtk_tree_view_get_selection (GTK_TREE_VIEW (disk_data->tree_v)); + gtk_tree_selection_set_mode (disk_data->select_c, GTK_SELECTION_SINGLE); + g_signal_connect (G_OBJECT (disk_data->select_c), "changed", + G_CALLBACK (tree_selection_changed_cb), + disk_data); + + gtk_container_add (GTK_CONTAINER (disk_data->scroll_win), disk_data->tree_v); + + disk_data->hbox_v = gtk_hbox_new(0, 0); + gtk_box_pack_start(GTK_BOX(disk_data->hbox_v), disk_data->scroll_win, TRUE, TRUE, 0); + + gtk_widget_show(disk_data->hbox_v); + gtk_widget_show(disk_data->tree_v); + + + g_disk_data_list = g_slist_append(g_disk_data_list, disk_data); + g_object_set_data_full(G_OBJECT(disk_data->hbox_v), + "disk_data", + disk_data, + (GDestroyNotify)gui_disperformance_free); + + request_event(disk_data); + return disk_data; +} + + +static gboolean disk_show(void *hook_data, void *call_data){ + + guint i; + lttv_total_block element; + GtkTreeIter iter; + LttTime time_interval; + guint64 time_interval_64; + guint64 temp_variable; + guint64 bytes_read_per_sec, bytes_written_per_sec; + g_info(" diskperformance: disk_show() \n"); + DiskPerformanceData *disk_performance = (DiskPerformanceData *)hook_data; + GArray *disk_array = disk_performance->disk_array; + time_interval = ltt_time_sub(disk_performance->time_window.end_time, disk_performance->time_window.start_time); + + time_interval_64 = time_interval.tv_sec; + time_interval_64 *= NANOSECONDS_PER_SECOND; + time_interval_64 += time_interval.tv_nsec; + gtk_list_store_clear(disk_performance->store_m); + for(i = 0; i < disk_array->len; i++){ + + element = g_array_index(disk_array,lttv_total_block,i); + temp_variable = element.total_bytes_read * NANOSECONDS_PER_SECOND; + bytes_read_per_sec = (guint64) temp_variable / time_interval_64; + + temp_variable = element.total_bytes_written * NANOSECONDS_PER_SECOND; + bytes_written_per_sec = (guint64) temp_variable / time_interval_64; + + gtk_list_store_append (disk_performance->store_m, &iter); + gtk_list_store_set (disk_performance->store_m, &iter, + DISKNAME_COLUMN, element.diskname, + BYTES_RD_COLUMN, element.total_bytes_read, + BYTES_RD_SEC_COLUMN,bytes_read_per_sec, + NUM_RD_COLUMN, element.num_read_operations, + BYTES_WR_COLUMN, element.total_bytes_written, + BYTES_WR_SEC_COLUMN, bytes_written_per_sec, + NUM_WR_COLUMN, element.num_write_operations, + -1); + + } + if(disk_performance->disk_array->len) + g_array_remove_range (disk_performance->disk_array,0,disk_performance->disk_array->len); + return FALSE; +} + +static gboolean trace_header(void *hook_data, void *call_data){ + return FALSE; +} + +void request_event(DiskPerformanceData *disk_performance){ + + disk_performance->event_hooks = lttv_hooks_new(); + lttv_hooks_add(disk_performance->event_hooks, parse_event, disk_performance, LTTV_PRIO_DEFAULT); + + disk_performance->hooks_trace_after = lttv_hooks_new(); + lttv_hooks_add(disk_performance->hooks_trace_after, disk_show, disk_performance, LTTV_PRIO_DEFAULT); + + disk_performance->hooks_trace_before = lttv_hooks_new(); + lttv_hooks_add(disk_performance->hooks_trace_before, trace_header, disk_performance, LTTV_PRIO_DEFAULT); + + EventsRequest *events_request = g_new(EventsRequest, 1); + events_request->owner = disk_performance; + events_request->viewer_data = disk_performance; + events_request->servicing = FALSE; + events_request->start_time = disk_performance->time_window.start_time; + events_request->start_position = NULL; + events_request->stop_flag = FALSE; + events_request->end_time = disk_performance->time_window.end_time; + events_request->num_events = G_MAXUINT; + events_request->end_position = NULL; + events_request->trace = 0; + events_request->hooks = NULL; + events_request->before_chunk_traceset = NULL; + events_request->before_chunk_trace = disk_performance->hooks_trace_before; + events_request->before_chunk_tracefile= NULL; + events_request->event = disk_performance->event_hooks; + events_request->event_by_id = NULL; + events_request->after_chunk_tracefile = NULL; + events_request->after_chunk_trace = NULL; + events_request->after_chunk_traceset = NULL; + events_request->before_request = NULL; + events_request->after_request = disk_performance->hooks_trace_after; + + lttvwindow_events_request(disk_performance->tab, events_request); + +} + +static gboolean disk_update_time_window(void * hook_data, void * call_data){ + + DiskPerformanceData *disk_performance = (DiskPerformanceData *) hook_data; + const TimeWindowNotifyData *time_window_nofify_data = ((const TimeWindowNotifyData *)call_data); + disk_performance->time_window = *time_window_nofify_data->new_time_window; + /* + printf("end_time: %ld.%ld\n", disk_performance->time_window.end_time.tv_sec,disk_performance->time_window.end_time.tv_nsec); + */ + Tab *tab = disk_performance->tab; + lttvwindow_events_request_remove_all(tab, disk_performance); + request_event( disk_performance); + + + return FALSE; +} + +void tree_v_size_allocate_cb (GtkWidget *widget, GtkAllocation *alloc, gpointer data){ + g_info("enter tree_v_size_allocate_cb\n"); +} + +void tree_v_size_request_cb (GtkWidget *widget, GtkRequisition *requisition, gpointer data){ + +} + +static void tree_v_cursor_changed_cb (GtkWidget *widget, gpointer data){ + +} + +static void tree_v_move_cursor_cb (GtkWidget *widget, GtkMovementStep arg1, gint arg2, gpointer data){ +} +static void tree_selection_changed_cb (GtkTreeSelection *selection, gpointer data){ + +} +void gui_disperformance_free(DiskPerformanceData *eventdata){ + Tab *tab = eventdata->tab; + g_info("disperformance.c : gui_disperformance_free, %p", eventdata); + g_info("%p, %p", eventdata, tab); + if(tab != NULL) + { + g_array_free (eventdata->disk_array, TRUE); + + lttvwindow_unregister_time_window_notify(tab, + disk_update_time_window, + eventdata); + + lttvwindow_events_request_remove_all(eventdata->tab, + eventdata); + g_disk_data_list = g_slist_remove(g_disk_data_list, eventdata); + } + g_free(eventdata); + g_info("disperformance.c : gui_disperformance_free end, %p", eventdata); +} + + +static char * major_minor_to_diskname( lttv_block* disk_data){ + if (disk_data->major_number == 3 && disk_data->minor_number == 0) + return "hda"; + if (disk_data->major_number == 4 && disk_data->minor_number == 0) + return "hdb"; +} + + +static void sum_data(char* diskname, guint size, enum operation_t operation, GArray *disk_array){ + + lttv_total_block data; + lttv_total_block *element; + guint i; + gboolean notFound = FALSE; + + memset ((void*)&data, 0,sizeof(lttv_total_block)); + + if(disk_array->len == NO_ITEMS){ + strcpy(data.diskname, diskname); + if(operation == LTTV_READ_OPERATION){ + data.total_bytes_read = size; + data.num_read_operations++; + } + else{ + data.total_bytes_written = size; + data.num_write_operations ++; + } + g_array_append_val (disk_array, data); + } + else{ + for(i = 0; i < disk_array->len; i++){ + element = &g_array_index(disk_array,lttv_total_block,i); + if(strcmp(element->diskname,diskname) == 0){ + if(operation == LTTV_READ_OPERATION){ + element->num_read_operations++; + element->total_bytes_read += size; + } + else{ + element->num_write_operations ++; + element->total_bytes_written += size; + } + notFound = TRUE; + } + } + if(!notFound){ + strcpy(data.diskname, diskname); + if(operation == LTTV_READ_OPERATION){ + data.total_bytes_read = size; + data.num_read_operations ++; + } + else{ + data.total_bytes_written = size; + data.num_write_operations ++; + } + g_array_append_val (disk_array, data); + } + } +} + +static void get_event_detail(LttEvent *e, LttField *f, GString * s, lttv_block* disk_data){ + LttType *type; + LttField *element; + //char *name; + GQuark name; + int nb, i; + static int count; + type = ltt_field_type(f); + switch(ltt_type_class(type)) { + case LTT_INT: + g_string_append_printf(s, " %ld", ltt_event_get_long_int(e,f)); + break; + + case LTT_UINT: + g_string_append_printf(s, " %lu", ltt_event_get_long_unsigned(e,f)); + break; + + case LTT_FLOAT: + g_string_append_printf(s, " %g", ltt_event_get_double(e,f)); + break; + + case LTT_STRING: + g_string_append_printf(s, " \"%s\"", ltt_event_get_string(e,f)); + break; + + case LTT_ENUM: + g_string_append_printf(s, " %s", ltt_enum_string_get(type, + ltt_event_get_unsigned(e,f)-1)); + break; + + case LTT_ARRAY: + case LTT_SEQUENCE: + g_string_append_printf(s, " {"); + nb = ltt_event_field_element_number(e,f); + element = ltt_field_element(f); + for(i = 0 ; i < nb ; i++) { + ltt_event_field_element_select(e,f,i); + get_event_detail(e, element, s, disk_data); + } + g_string_append_printf(s, " }"); + break; + + case LTT_STRUCT: + g_string_append_printf(s, " {"); + nb = ltt_type_member_number(type); + for(i = 0 ; i < nb ; i++) { + element = ltt_field_member(f,i); + ltt_type_member_type(type, i, &name); + g_string_append_printf(s, " %s = ", name); + if(i== 0) + disk_data->major_number = ltt_event_get_long_unsigned(e, element); + if(i== 1) + disk_data->minor_number = ltt_event_get_long_unsigned(e, element); + if(i==2) + disk_data->size = ltt_event_get_long_unsigned(e, element); + } + g_string_append_printf(s, " }"); + break; + + case LTT_UNION: + g_string_append_printf(s, " {"); + nb = ltt_type_member_number(type); + for(i = 0 ; i < nb ; i++) { + element = ltt_field_member(f,i); + ltt_type_member_type(type, i, &name); + g_string_append_printf(s, " %s = ", name); + get_event_detail(e, element, s, disk_data); + } + g_string_append_printf(s, " }"); + break; + + } + +} + + +gboolean parse_event(void *hook_data, void *call_data){ + + static LttTime time_entry, previous_time, event_time; + LttEvent *e; + LttField *field; + LttEventType *event_type; + gint i; + unsigned cpu_id; + lttv_block block_read, block_write; + char *diskname; + + gboolean notFound = FALSE; + DiskPerformanceData * disk_performance = (DiskPerformanceData *)hook_data; + GArray *disk_array = disk_performance->disk_array; // pho + LttvTracefileContext *tfc = (LttvTracefileContext *)call_data; + LttvTracefileState *tfs = (LttvTracefileState *)call_data; + + //e = tfc->e; + e = ltt_tracefile_get_event(tfc->tf); + previous_time = event_time; + field = ltt_event_field(e); + event_time = ltt_event_time(e); + event_type = ltt_event_eventtype(e); + cpu_id = ltt_event_cpu_id(e); + GString * detail_event = g_string_new(""); + + if ((ltt_time_compare(event_time,disk_performance->time_window.start_time) == TRUE) && + (ltt_time_compare(disk_performance->time_window.end_time,event_time) == TRUE)){ + if (strcmp( g_quark_to_string(ltt_eventtype_name(event_type)),"block_read") == 0) { + get_event_detail(e, field, detail_event, &block_read); + diskname = major_minor_to_diskname(&block_read); + sum_data(diskname, block_read.size,LTTV_READ_OPERATION, disk_array); + + } + if (strcmp( g_quark_to_string(ltt_eventtype_name(event_type)),"block_write") == 0) { + get_event_detail(e, field, detail_event, &block_write); + diskname = major_minor_to_diskname(&block_write); + sum_data(diskname, block_write.size,LTTV_WRITE_OPERATION, disk_array); + } + + } + g_string_free(detail_event, TRUE); + return FALSE; +} + + +void disk_destructor_full(DiskPerformanceData *disk_data) +{ + + if(GTK_IS_WIDGET(disk_data->hbox_v)) + gtk_widget_destroy(disk_data->hbox_v); + +} + +static void disk_destroy_walk(gpointer data, gpointer user_data) +{ + g_info("Walk destroy GUI disk performance Viewer"); + disk_destructor_full((DiskPerformanceData*)data); +} + +static void init() +{ + + g_info("Init diskPerformance.c"); + + lttvwindow_register_constructor("diskperformance", + "/", + "Insert Disk Performance", + hDiskPerformanceInsert_xpm, + "Insert Disk Performance", + disk_performance); + +} + + +static void destroy() +{ + g_info("Destroy diskPerformance"); + g_slist_foreach(g_disk_data_list, disk_destroy_walk, NULL ); + g_slist_free(g_disk_data_list); + + lttvwindow_unregister_constructor(disk_performance); + +} + + +LTTV_MODULE("diskperformance", "disk info view", \ + "Produce disk I/O performance", \ + init, destroy, "lttvwindow") + diff --git a/ltt/branches/poly/lttv/modules/gui/diskperformance/hDiskPerformanceInsert.xpm b/ltt/branches/poly/lttv/modules/gui/diskperformance/hDiskPerformanceInsert.xpm new file mode 100644 index 00000000..5eb65b51 --- /dev/null +++ b/ltt/branches/poly/lttv/modules/gui/diskperformance/hDiskPerformanceInsert.xpm @@ -0,0 +1,27 @@ +/* XPM */ +static char * hDiskPerformanceInsert_xpm[] = { +"22 22 2 1", +" c None", +". c #800080", +" ", +" ", +" .......... ", +" ............. ", +" .. .. ", +" .. .. ", +" .. .. ", +" .. .. ", +" .. .. ", +" .. .. ", +" .. .. ", +" .. .. ", +" .. .. ", +" .. .. ", +" .. .. ", +" .. .. ", +" .. .. ", +" .. .. ", +" ............. ", +" .......... ", +" ", +" "}; diff --git a/ltt/branches/poly/lttv/modules/gui/diskperformance/liste.txt b/ltt/branches/poly/lttv/modules/gui/diskperformance/liste.txt new file mode 100644 index 00000000..20bb40b0 --- /dev/null +++ b/ltt/branches/poly/lttv/modules/gui/diskperformance/liste.txt @@ -0,0 +1,3 @@ +3 0 hda +4 0 hdb +6 0 hdc diff --git a/ltt/branches/poly/lttv/modules/gui/interrupts/interrupts.c b/ltt/branches/poly/lttv/modules/gui/interrupts/interrupts.c index a4d8896f..1afe46a3 100644 --- a/ltt/branches/poly/lttv/modules/gui/interrupts/interrupts.c +++ b/ltt/branches/poly/lttv/modules/gui/interrupts/interrupts.c @@ -390,7 +390,7 @@ gboolean parse_event(void *hook_data, void *call_data){ LttvTracefileContext *tfc = (LttvTracefileContext *)call_data; LttvTracefileState *tfs = (LttvTracefileState *)call_data; //e = tfc->e; - e= e = ltt_tracefile_get_event(tfc->tf); + e = ltt_tracefile_get_event(tfc->tf); field = ltt_event_field(e); event_time = ltt_event_time(e); @@ -481,7 +481,7 @@ static void init() { hInterruptsInsert_xpm, "Insert Interrupts View", interrupts); - printf("out: init()\n"); + } void interrupt_destroy_walk(gpointer data, gpointer user_data){ -- 2.34.1