Merge branch 'collectd-4.2' into collectd-4.3
authorFlorian Forster <sifnfors@informatik.stud.uni-erlangen.de>
Tue, 22 Apr 2008 11:11:46 +0000 (13:11 +0200)
committerFlorian Forster <sifnfors@informatik.stud.uni-erlangen.de>
Tue, 22 Apr 2008 11:11:46 +0000 (13:11 +0200)
Conflicts:

ChangeLog
version-gen.sh

1  2 
ChangeLog
configure.in
contrib/migrate-3-4.px

diff --combined ChangeLog
+++ b/ChangeLog
@@@ -1,64 -1,15 +1,76 @@@
 +2008-03-29, Version 4.3.2
 +      * collectd: Fix configuration of the `FailureMax', `WarningMax', and
 +        `Persist' threshold options.
 +      * collectd: Fix handling of missing values in the global value cache.
 +      * collectd: Improved error messages when parsing the configuration.
 +      * sensors plugin: Fix temperature collection with libsensors4.
 +      * unixsock plugin: Fix mixed input and output operation on streams.
 +      * wireless plugin: Fix reading noise value.
 +
 +2008-03-05, Version 4.3.1
 +      * exec plugin: Set supplementary group IDs.
 +      * network plugin:
 +        + Use `memcpy' when constructing/parsing a package to avoid
 +          alignment problems on weird architectures, such as Sparc.
 +        + Translate doubles to/from the x86 byte representation to ensure
 +          cross-platform compatibility.
 +      * ping plugin: Correct the handling of the `TTL' setting.
 +      * swap plugin: Reapply a patch for Solaris.
 +      * tcpconns plugin: Portability improvements.
 +
 +2008-02-18, Version 4.3.0
 +      * collectd: Notifications have been added to the daemon. Notifications
 +        are status messages that may be associated with a data instance.
 +      * collectd: Threshold checking has been added to the daemon. This
 +        means that you can configure threshold values for each data
 +        instance. If this threshold is exceeded a notification will be
 +        created.
 +      * collectd: The new `FQDNLookup' option tells the daemon to use the
 +        full qualified domain name as the hostname, not just the host part
 +        es returned by `gethostname(2)'.
 +      * collectd: Support for more than one `TypesDB' file has been added.
 +        This is useful when one such file is included in a package but one
 +        wants to add custom type definitions.
 +      * collectd: The `Include' config option has been expanded to handle
 +        entire directories and shell wildcards.
 +      * collectdmon: The new `collectdmon' binary detects when collectd
 +        terminates and automatically restarts it again.
 +      * csv plugin: The CSV plugin is now able to store counter values as a
 +        rate, using the `StoreRates' configuration option.
 +      * exec plugin: Handling of notifications has been added and the
 +        ability to pass arguments to the executed programs has been added.
 +      * hddtemp plugin: The new `TranslateDevicename' option lets you
 +        disable the translation from device names to major-minor-numbers.
 +      * logfile plugin: Handling of notifications has been added.
 +      * ntpd plugin: The new `ReverseLookups' can be used to disable reverse
 +        domain name lookups in this plugin.
 +      * perl plugin: Many internal changes added support for handling multiple
 +        threads making the plugin reasonably usable inside collectd. The API has
 +        been extended to support notifications and export global variables to
 +        Perl plugins; callbacks now have to be identified by name rather than a
 +        pointer to a subroutine. The plugin is no longer experimental.
 +      * uuid plugin: The new UUID plugin sets the hostname to an unique
 +        identifier for this host. This is meant for setups where each client
 +        may migrate to another physical host, possibly going through one or
 +        more name changes in the process. Thanks to Richard Jones from
 +        Red Hat's Emerging Technology group for this plugin.
 +      * libvirt: The new libvirt plugin uses the `libvirt' library to query
 +        CPU, disk and network statistics about guest systems on the same
 +        physical server. Thanks to Richard Jones from Red Hat's Emerging
 +        Technology group for this plugin.
 +
+ 2008-04-22, Version 4.2.7
+       * build system: Improved detection of several libraries, especially if
+         they are in non-standard paths.
+       * collectd: Error and warning messages have been improved.
+       * collectd: Check for the BYTE_ORDER and BIG_ENDIAN defines before
+         using them.
+       * apache plugin: Allocate new memory when reading a webpage instead of
+         using a buffer of static size.
+       * exec plugin: Close (almost) all filedescriptors before exec(2)ing
+         the program.
+       * hddtemp plugin: Error and warning messages have been improved.
  2008-03-29, Version 4.2.6
        * collectd: Improved error messages when parsing the configuration.
        * sensors plugin: Fix temperature collection with libsensors4.
diff --combined configure.in
@@@ -17,7 -17,6 +17,7 @@@ AC_PROG_CP
  AC_PROG_INSTALL
  AC_PROG_LN_S
  AC_PROG_MAKE_SET
 +AM_PROG_CC_C_O
  AM_CONDITIONAL(COMPILER_IS_GCC, test "x$GCC" = "xyes")
  
  dnl configure libtool
@@@ -311,7 -310,7 +311,7 @@@ AC_CHECK_HEADERS(linux/un.h, [], []
  #endif
  ])
  
 -AC_CHECK_HEADERS(pwd.h grp.h sys/un.h ctype.h limits.h sys/quota.h xfs/xqm.h fs_info.h fshelp.h paths.h mntent.h mnttab.h sys/fstyp.h sys/fs_types.h sys/mntent.h sys/mnttab.h sys/statfs.h sys/statvfs.h sys/vfs.h sys/vfstab.h kvm.h)
 +AC_CHECK_HEADERS(pwd.h grp.h sys/un.h ctype.h limits.h sys/quota.h xfs/xqm.h fs_info.h fshelp.h paths.h mntent.h mnttab.h sys/fstyp.h sys/fs_types.h sys/mntent.h sys/mnttab.h sys/statfs.h sys/statvfs.h sys/vfs.h sys/vfstab.h kvm.h wordexp.h)
  
  # For the dns plugin
  AC_CHECK_HEADERS(arpa/nameser.h)
@@@ -881,20 -880,6 +881,20 @@@ AC_CHECK_LIB(resolv, res_search
  [with_libresolv="no"])
  AM_CONDITIONAL(BUILD_WITH_LIBRESOLV, test "x$with_libresolv" = "xyes")
  
 +dnl Check for HAL (hardware abstraction library)
 +with_libhal="yes"
 +AC_CHECK_LIB(hal,libhal_device_property_exists,
 +           [AC_DEFINE(HAVE_LIBHAL, 1, [Define to 1 if you have 'hal' library])],
 +           [with_libhal="no"])
 +if test "x$with_libhal" = "xyes"; then
 +      PKG_PROG_PKG_CONFIG
 +      if test "x$PKG_CONFIG" != "x"; then
 +              BUILD_WITH_LIBHAL_CFLAGS="`pkg-config --cflags hal`"
 +              BUILD_WITH_LIBHAL_LIBS="`pkg-config --libs hal`"
 +              AC_SUBST(BUILD_WITH_LIBHAL_CFLAGS)
 +              AC_SUBST(BUILD_WITH_LIBHAL_LIBS)
 +      fi
 +fi
  
  m4_divert_once([HELP_WITH], [
  collectd additional packages:])
@@@ -909,8 -894,6 +909,8 @@@ AC_ARG_WITH(rrdtool, [AS_HELP_STRING([-
                librrd_cflags="-I$withval/include"
                librrd_ldflags="-L$withval/lib"
                with_rrdtool="yes"
 +      else
 +              with_rrdtool="$withval"
        fi
  ], [with_rrdtool="yes"])
  if test "x$with_rrdtool" = "xyes"
@@@ -1096,7 -1079,7 +1096,7 @@@ AC_CHECK_LIB(IOKit, IOServiceGetMatchin
  [
        with_libiokit="yes"
        collectd_libiokit=1
 -], 
 +],
  [
        with_libiokit="no"
        collectd_libiokit=0
@@@ -1111,8 -1094,6 +1111,8 @@@ AC_ARG_WITH(libstatgrab, [AS_HELP_STRIN
                LDFLAGS="$LDFLAGS -L$withval/lib"
                CPPFLAGS="$CPPFLAGS -I$withval/include"
                with_libstatgrab="yes"
 +      else
 +              with_libstatgrab="$withval"
        fi
  ],
  [
@@@ -1351,12 -1332,10 +1351,12 @@@ AC_ARG_WITH(liboping, [AS_HELP_STRING([
        then
                with_liboping="no"
                with_own_liboping="no"
 -      fi
 +      else if test "x$withval" = "xyes"
 +      then
 +              with_liboping="yes"
 +      fi; fi
  ],
  [
 -      #753
        with_liboping="yes"
  ])
  
@@@ -1388,8 -1367,6 +1388,8 @@@ AC_ARG_WITH(libpcap, [AS_HELP_STRING([-
                LDFLAGS="$LDFLAGS -L$withval/lib"
                CPPFLAGS="$CPPFLAGS -I$withval/include"
                with_libpcap="yes"
 +      else
 +              with_libpcap="$withval"
        fi
  ],
  [
@@@ -1428,17 -1405,25 +1428,27 @@@ AC_ARG_WITH(libperl, [AS_HELP_STRING([-
                CPPFLAGS="$CPPFLAGS -I$withval/include"
                perl_interpreter="$withval/bin/perl"
                with_libperl="yes"
 +      else
 +              with_libperl="$withval"
        fi
  ],
  [
        with_libperl="yes"
  ])
  
+ AC_MSG_CHECKING([for perl])
+ perl_interpreter=`which "$perl_interpreter" 2> /dev/null`
+ if test -x "$perl_interpreter"
+ then
+       AC_MSG_RESULT([yes])
+ else
+       perl_interpreter=""
+       AC_MSG_RESULT([no])
+ fi
  AC_SUBST(PERL, "$perl_interpreter")
  
- if test "x$with_libperl" = "xyes"
+ if test "x$with_libperl" = "xyes" -a -n "$perl_interpreter"
  then
    SAVE_CFLAGS=$CFLAGS
    SAVE_LDFLAGS=$LDFLAGS
  
    CFLAGS=$SAVE_CFLAGS
    LDFLAGS=$SAVE_LDFLAGS
- fi
+ else if test -z "$perl_interpreter"; then
+   with_libperl="no (no perl interpreter found)"
+   have_libperl="no"
+ fi; fi
  AM_CONDITIONAL(BUILD_WITH_LIBPERL, test "x$with_libperl" = "xyes")
  
 +if test "x$with_libperl" = "xyes"
 +then
 +      SAVE_CFLAGS=$CFLAGS
 +      SAVE_LDFLAGS=$LDFLAGS
 +      CFLAGS="$CFLAGS $PERL_CFLAGS"
 +      LDFLAGS="$LDFLAGS $PERL_LDFLAGS"
 +
 +      AC_CACHE_CHECK([if perl supports ithreads],
 +              [have_perl_ithreads],
 +              AC_LINK_IFELSE(
 +                      AC_LANG_PROGRAM(
 +                      [[
 +#include <EXTERN.h>
 +#include <perl.h>
 +#include <XSUB.h>
 +
 +#if !defined(USE_ITHREADS)
 +# error "Perl does not support ithreads!"
 +#endif /* !defined(USE_ITHREADS) */
 +                      ]],
 +                      [[ ]]),
 +                      [have_perl_ithreads="yes"],
 +                      [have_perl_ithreads="no"]
 +              )
 +      )
 +
 +      if test "x$have_perl_ithreads" = "xyes"
 +      then
 +              AC_DEFINE(HAVE_PERL_ITHREADS, 1, [Define if Perl supports ithreads.])
 +      fi
 +
 +      CFLAGS=$SAVE_CFLAGS
 +      LDFLAGS=$SAVE_LDFLAGS
 +fi
 +
  AC_ARG_WITH(libiptc, [AS_HELP_STRING([--with-libiptc@<:@=PREFIX@:>@], [Path to libiptc.])],
  [
        if test "x$withval" != "xno" && test "x$withval" != "xyes"
                LDFLAGS="$LDFLAGS -L$withval/lib"
                CPPFLAGS="$CPPFLAGS -I$withval/include"
                with_libiptc="yes"
 +      else
 +              with_libiptc="$withval"
        fi
  ],
  [
 -      if test "x$ac_system" = "xLinux"
 +      if test "x$ac_system" = "xLinux"
        then
                with_libiptc="yes"
        else
@@@ -1562,14 -1513,14 +1575,14 @@@ with_snmp_cflags="
  with_snmp_libs=""
  AC_ARG_WITH(libnetsnmp, [AS_HELP_STRING([--with-libnetsnmp@<:@=PREFIX@:>@], [Path to the Net-SNMPD library.])],
  [
 -      if test "x$withval" = "xno"
 +      if test "x$withval" = "xno"
        then
                with_libnetsnmp="no"
        else if test "x$withval" = "xyes"
        then
                with_libnetsnmp="yes"
        else
 -              if test -x "$withval"
 +              if test -x "$withval"
                then
                        with_snmp_config="$withval"
                        with_libnetsnmp="yes"
@@@ -1692,7 -1643,7 +1705,7 @@@ the
        SAVE_CPPFLAGS="$CPPFLAGS"
        CPPFLAGS="$CPPFLAGS $with_upsclient_cflags"
  
 -      AC_CHECK_TYPES([UPSCONN_t, UPSCONN], [], [], 
 +      AC_CHECK_TYPES([UPSCONN_t, UPSCONN], [], [],
  [#include <stdlib.h>
  #include <stdio.h>
  #include <upsclient.h>])
  fi
  AM_CONDITIONAL(BUILD_WITH_LIBNETLINK, test "x$with_libnetlink" = "xyes")
  
 +dnl Check for libvirt and libxml2 libraries.
 +with_libxml2="no (pkg-config isn't available)"
 +with_libxml2_cflags=""
 +with_libxml2_ldflags=""
 +with_libvirt="no (pkg-config isn't available)"
 +with_libvirt_cflags=""
 +with_libvirt_ldflags=""
 +PKG_PROG_PKG_CONFIG
 +if test "x$PKG_CONFIG" != "x"
 +then
 +      pkg-config --exists 'libxml-2.0' 2>/dev/null
 +      if test "$?" = "0"
 +      then
 +              with_libxml2="yes"
 +      else
 +              with_libxml2="no (pkg-config doesn't know library)"
 +      fi
 +
 +      pkg-config --exists libvirt 2>/dev/null
 +      if test "$?" = "0"
 +      then
 +              with_libvirt="yes"
 +      else
 +              with_libvirt="no (pkg-config doesn't know library)"
 +      fi
 +fi
 +if test "x$with_libxml2" = "xyes"
 +then
 +      with_libxml2_cflags="`pkg-config --cflags libxml-2.0`"
 +      if test $? -ne 0
 +      then
 +              with_libxml2="no"
 +      fi
 +      with_libxml2_ldflags="`pkg-config --libs libxml-2.0`"
 +      if test $? -ne 0
 +      then
 +              with_libxml2="no"
 +      fi
 +fi
 +if test "x$with_libxml2" = "xyes"
 +then
 +      SAVE_CPPFLAGS="$CPPFLAGS"
 +      CPPFLAGS="$CPPFLAGS $with_libxml2_cflags"
 +
 +      AC_CHECK_HEADERS(libxml/parser.h, [],
 +                    [with_libxml2="no (libxml/parser.h not found)"])
 +
 +      CPPFLAGS="$SAVE_CPPFLAGS"
 +fi
 +if test "x$with_libxml2" = "xyes"
 +then
 +      SAVE_CFLAGS="$CFLAGS"
 +      SAVE_LD_FLAGS="$LDFLAGS"
 +
 +      CFLAGS="$CFLAGS $with_libxml2_cflags"
 +      LDFLAGS="$LDFLAGS $with_libxml2_ldflags"
 +
 +      AC_CHECK_LIB(xml2, xmlXPathEval,
 +                   [with_libxml2="yes"],
 +                   [with_libxml2="no (symbol xmlXPathEval not found)"])
 +
 +      CFLAGS="$SAVE_CFLAGS"
 +      LDFLAGS="$SAVE_LDFLAGS"
 +fi
 +dnl Add the right compiler flags and libraries.
 +if test "x$with_libxml2" = "xyes"; then
 +      BUILD_WITH_LIBXML2_CFLAGS="$with_libxml2_cflags"
 +      BUILD_WITH_LIBXML2_LIBS="$with_libxml2_ldflags"
 +      AC_SUBST(BUILD_WITH_LIBXML2_CFLAGS)
 +      AC_SUBST(BUILD_WITH_LIBXML2_LIBS)
 +fi
 +if test "x$with_libvirt" = "xyes"
 +then
 +      with_libvirt_cflags="`pkg-config --cflags libvirt`"
 +      if test $? -ne 0
 +      then
 +              with_libvirt="no"
 +      fi
 +      with_libvirt_ldflags="`pkg-config --libs libvirt`"
 +      if test $? -ne 0
 +      then
 +              with_libvirt="no"
 +      fi
 +fi
 +if test "x$with_libvirt" = "xyes"
 +then
 +      SAVE_CPPFLAGS="$CPPFLAGS"
 +      CPPFLAGS="$CPPFLAGS $with_libvirt_cflags"
 +
 +      AC_CHECK_HEADERS(libvirt/libvirt.h, [],
 +                    [with_libvirt="no (libvirt/libvirt.h not found)"])
 +
 +      CPPFLAGS="$SAVE_CPPFLAGS"
 +fi
 +if test "x$with_libvirt" = "xyes"
 +then
 +      SAVE_CFLAGS="$CFLAGS"
 +      SAVE_LD_FLAGS="$LDFLAGS"
 +
 +      CFLAGS="$CFLAGS $with_libvirt_cflags"
 +      LDFLAGS="$LDFLAGS $with_libvirt_ldflags"
 +
 +      AC_CHECK_LIB(virt, virDomainBlockStats,
 +                   [with_libvirt="yes"],
 +                   [with_libvirt="no (symbol virDomainBlockStats not found)"])
 +
 +      CFLAGS="$SAVE_CFLAGS"
 +      LDFLAGS="$SAVE_LDFLAGS"
 +fi
 +dnl Add the right compiler flags and libraries.
 +if test "x$with_libvirt" = "xyes"; then
 +      BUILD_WITH_LIBVIRT_CFLAGS="$with_libvirt_cflags"
 +      BUILD_WITH_LIBVIRT_LIBS="$with_libvirt_ldflags"
 +      AC_SUBST(BUILD_WITH_LIBVIRT_CFLAGS)
 +      AC_SUBST(BUILD_WITH_LIBVIRT_LIBS)
 +fi
 +
 +dnl End of check for libvirt and libxml2 libraries.
 +
  # Check for enabled/disabled features
  #
  
@@@ -2105,12 -1937,10 +2118,12 @@@ plugin_entropy="no
  plugin_interface="no"
  plugin_ipvs="no"
  plugin_irq="no"
 +plugin_libvirt="no"
  plugin_load="no"
  plugin_memory="no"
  plugin_multimeter="no"
  plugin_nfs="no"
 +plugin_perl="no"
  plugin_processes="no"
  plugin_serial="no"
  plugin_swap="no"
        plugin_interface="yes"
  fi
  
 +if test "x$with_libxml2" = "xyes" && test "x$with_libvirt" = "xyes"
 +then
 +      plugin_libvirt="yes"
 +fi
 +
  if test "x$have_getloadavg" = "xyes"
  then
        plugin_load="yes"
  fi
  
 +if test "x$have_libperl$have_perl_ithreads" = "xyesyes"
 +then
 +      plugin_perl="yes"
 +fi
 +
  # Mac OS X memory interface
  if test "x$have_host_statistics" = "xyes"
  then
@@@ -2266,7 -2086,6 +2279,7 @@@ AC_PLUGIN([interface],   [$plugin_inter
  AC_PLUGIN([iptables],    [$with_libiptc],      [IPTables rule counters])
  AC_PLUGIN([ipvs],        [$plugin_ipvs],       [IPVS connection statistics])
  AC_PLUGIN([irq],         [$plugin_irq],        [IRQ statistics])
 +AC_PLUGIN([libvirt],     [$plugin_libvirt],    [Virtual machine statistics])
  AC_PLUGIN([load],        [$plugin_load],       [System load])
  AC_PLUGIN([logfile],     [yes],                [File logging plugin])
  AC_PLUGIN([mbmon],       [yes],                [Query mbmond])
@@@ -2280,7 -2099,7 +2293,7 @@@ AC_PLUGIN([nfs],         [$plugin_nfs]
  AC_PLUGIN([nginx],       [$with_libcurl],      [nginx statistics])
  AC_PLUGIN([ntpd],        [yes],                [NTPd statistics])
  AC_PLUGIN([nut],         [$with_libupsclient], [Network UPS tools statistics])
 -AC_PLUGIN([perl],        [$with_libperl],      [Embed a Perl interpreter])
 +AC_PLUGIN([perl],        [$plugin_perl],       [Embed a Perl interpreter])
  AC_PLUGIN([ping],        [$with_liboping],     [Network latency statistics])
  AC_PLUGIN([processes],   [$plugin_processes],  [Process statistics])
  AC_PLUGIN([rrdtool],     [$with_rrdtool],      [RRDTool output plugin])
@@@ -2293,7 -2112,6 +2306,7 @@@ AC_PLUGIN([tape],        [$plugin_tape]
  AC_PLUGIN([tcpconns],    [$plugin_tcpconns],   [TCP connection statistics])
  AC_PLUGIN([unixsock],    [yes],                [Unixsock communication plugin])
  AC_PLUGIN([users],       [$plugin_users],      [User statistics])
 +AC_PLUGIN([uuid],        [yes],                [UUID as hostname plugin])
  AC_PLUGIN([vserver],     [$plugin_vserver],    [Linux VServer statistics])
  AC_PLUGIN([wireless],    [$plugin_wireless],   [Wireless statistics])
  AC_PLUGIN([xmms],        [$with_libxmms],      [XMMS statistics])
@@@ -2318,7 -2136,12 +2331,12 @@@ AC_ARG_WITH(perl-bindings, [AS_HELP_STR
  ],
  [
        PERL_BINDINGS_OPTIONS=""
-       with_perl_bindings="yes"
+       if test -n "$perl_interpreter"
+       then
+               with_perl_bindings="yes"
+       else
+               with_perl_bindings="no (no perl interpreter found)"
+       fi
  ])
  if test "x$with_perl_bindings" = "xyes"
  then
@@@ -2331,11 -2154,6 +2349,11 @@@ AC_SUBST(PERL_BINDINGS_OPTIONS
  
  AC_OUTPUT(Makefile src/Makefile src/collectd.conf src/liboconfig/Makefile src/liboping/Makefile bindings/Makefile)
  
 +if test "x$with_rrdtool" = "xyes" -a "x$librrd_threadsafe" != "xyes"
 +then
 +      with_rrdtool="yes (warning: librrd is not thread-safe)"
 +fi
 +
  if test "x$with_liboping" = "xyes" -a "x$with_own_liboping" = "xyes"
  then
        with_liboping="yes (shipped version)"
@@@ -2374,8 -2192,6 +2392,8 @@@ Configuration
      libsensors  . . . . $with_lm_sensors
      libstatgrab . . . . $with_libstatgrab
      libupsclient  . . . $with_libupsclient
 +    libvirt . . . . . . $with_libvirt
 +    libxml2 . . . . . . $with_libxml2
      libxmms . . . . . . $with_libxmms
  
    Features:
      iptables  . . . . . $enable_iptables
      ipvs  . . . . . . . $enable_ipvs
      irq . . . . . . . . $enable_irq
 +    libvirt . . . . . . $enable_libvirt
      load  . . . . . . . $enable_load
      logfile . . . . . . $enable_logfile
      mbmon . . . . . . . $enable_mbmon
      tcpconns  . . . . . $enable_tcpconns
      unixsock  . . . . . $enable_unixsock
      users . . . . . . . $enable_users
 +    uuid  . . . . . . . $enable_uuid
      vserver . . . . . . $enable_vserver
      wireless  . . . . . $enable_wireless
      xmms  . . . . . . . $enable_xmms
diff --combined contrib/migrate-3-4.px
@@@ -121,7 -121,8 +121,8 @@@ our %TypeSplit 
  
  our %TypeRename =
  (
-       traffic => { from => [qw(incoming outgoing)], to => [qw(rx tx)] }
+       traffic => { from => [qw(incoming outgoing)], to => [qw(rx tx)] },
+       vs_processes => { from => [qw(total)], to => [qw(value)] },
  );
  
  GetOptions ("indir|i=s" => \$InDir,
@@@ -166,7 -167,7 +167,7 @@@ for (@Files
                        my $src_ds = $src_dses->[$i];
                        $dest->{'type_instance'} = $type_instances->[$i];
                        $dest_filename = get_filename ($dest);
 -                      print "./extractDS.px -i '$InDir/$orig_filename' -s '$src_ds' -o '$OutDir/$dest_filename' -d '$dst_ds'\n";
 +                      print "./rrd_filter.px -i '$InDir/$orig_filename' -m '${src_ds}:${dst_ds}' -o '$OutDir/$dest_filename'\n";
                }
        }
        elsif (exists ($TypeRename{$orig->{'type'}}))
@@@ -361,19 -362,19 +362,19 @@@ sub special_dis
                $OutDirs{$dest_directory} = 1;
        }
  
 -      print "./extractDS.px -i '$InDir/$orig_filename' -s 'rmerged' -s 'wmerged' -o '$OutDir/$dest_filename' -d 'read' -d 'write'\n";
 +      print "./rrd_filter.px -i '$InDir/$orig_filename' -m 'rmerged:read' -m 'wmerged:write' -o '$OutDir/$dest_filename'\n";
  
        $dest->{'type'} = 'disk_octets';
        $dest_filename = get_filename ($dest);
 -      print "./extractDS.px -i '$InDir/$orig_filename' -s 'rbytes' -s 'wbytes' -o '$OutDir/$dest_filename' -d 'read' -d 'write'\n";
 +      print "./rrd_filter.px -i '$InDir/$orig_filename' -m 'rbytes:read' -m 'wbytes:write' -o '$OutDir/$dest_filename'\n";
  
        $dest->{'type'} = 'disk_ops';
        $dest_filename = get_filename ($dest);
 -      print "./extractDS.px -i '$InDir/$orig_filename' -s 'rcount' -s 'wcount' -o '$OutDir/$dest_filename' -d 'read' -d 'write'\n";
 +      print "./rrd_filter.px -i '$InDir/$orig_filename' -m 'rcount:read' -m 'wcount:write' -o '$OutDir/$dest_filename'\n";
  
        $dest->{'type'} = 'disk_time';
        $dest_filename = get_filename ($dest);
 -      print "./extractDS.px -i '$InDir/$orig_filename' -s 'rtime' -s 'wtime' -o '$OutDir/$dest_filename' -d 'read' -d 'write'\n";
 +      print "./rrd_filter.px -i '$InDir/$orig_filename' -m 'rtime:read' -m 'wtime:write' -o '$OutDir/$dest_filename'\n";
  }
  
  sub exit_usage