octo@casella:~/collectd $ svn merge -r754:800 branches/ntpd trunk
authorocto <octo>
Sat, 10 Jun 2006 11:31:52 +0000 (11:31 +0000)
committerocto <octo>
Sat, 10 Jun 2006 11:31:52 +0000 (11:31 +0000)
octo@casella:~/collectd $ svn rm branches/ntpd

1  2 
configure.in
contrib/collection.cgi
src/Makefile.am

diff --combined configure.in
@@@ -1,5 -1,5 +1,5 @@@
  dnl Process this file with autoconf to produce a configure script.
 -AC_INIT(collectd, 3.9.2)
 +AC_INIT(collectd, 3.10.0-alpha3)
  AC_CONFIG_SRCDIR(src/collectd.c)
  AC_CONFIG_HEADERS(src/config.h)
  AM_INIT_AUTOMAKE(dist-bzip2)
@@@ -44,6 -44,7 +44,7 @@@ AC_CHECK_HEADERS(assert.h
  AC_CHECK_HEADERS(sys/types.h)
  AC_CHECK_HEADERS(sys/socket.h)
  AC_CHECK_HEADERS(sys/select.h)
+ AC_CHECK_HEADERS(sys/poll.h)
  AC_CHECK_HEADERS(netdb.h)
  AC_CHECK_HEADERS(arpa/inet.h)
  AC_CHECK_HEADERS(sys/resource.h)
@@@ -54,17 -55,11 +55,17 @@@ AC_CHECK_HEADERS(netinet/in_systm.h, []
  [#if HAVE_STDINT_H
  # include <stdint.h>
  #endif
 +#if HAVE_SYS_TYPES_H
 +# include <sys/types.h>
 +#endif
  ])
  AC_CHECK_HEADERS(netinet/in.h, [], [],
  [#if HAVE_STDINT_H
  # include <stdint.h>
  #endif
 +#if HAVE_SYS_TYPES_H
 +# include <sys/types.h>
 +#endif
  #if HAVE_NETINET_IN_SYSTM_H
  # include <netinet/in_systm.h>
  #endif
@@@ -73,9 -68,6 +74,9 @@@ AC_CHECK_HEADERS(netinet/ip.h, [], []
  [#if HAVE_STDINT_H
  # include <stdint.h>
  #endif
 +#if HAVE_SYS_TYPES_H
 +# include <sys/types.h>
 +#endif
  #if HAVE_NETINET_IN_SYSTM_H
  # include <netinet/in_systm.h>
  #endif
@@@ -87,9 -79,6 +88,9 @@@ AC_CHECK_HEADERS(netinet/ip_icmp.h, []
  [#if HAVE_STDINT_H
  # include <stdint.h>
  #endif
 +#if HAVE_SYS_TYPES_H
 +# include <sys/types.h>
 +#endif
  #if HAVE_NETINET_IN_SYSTM_H
  # include <netinet/in_systm.h>
  #endif
@@@ -104,9 -93,6 +105,9 @@@ AC_CHECK_HEADERS(netinet/ip_var.h, [], 
  [#if HAVE_STDINT_H
  # include <stdint.h>
  #endif
 +#if HAVE_SYS_TYPES_H
 +# include <sys/types.h>
 +#endif
  #if HAVE_NETINET_IN_SYSTM_H
  # include <netinet/in_systm.h>
  #endif
@@@ -726,59 -712,6 +727,59 @@@ AC_DEFINE_UNQUOTED(COLLECT_LIBMYSQL, [$
        [Wether or not to use mysql library])
  AM_CONDITIONAL(BUILD_WITH_LIBMYSQL, test "x$with_libmysql" = "xyes")
  
 +#with_liboping="yes"
 +with_own_liboping="no"
 +liboping_LDFLAGS="$LDFLAGS"
 +liboping_CPPFLAGS="$CPPFLAGS"
 +AC_ARG_WITH(liboping, [AS_HELP_STRING([--with-liboping@<:@=PREFIX@:>@], [Path to liboping.])],
 +[
 +      if test "x$withval" != "xno" && test "x$withval" != "xyes"
 +      then
 +              if test -d "$withval/lib"
 +              then
 +                      liboping_LDFLAGS="$LDFLAGS -L$withval/lib"
 +              fi
 +              if test -d "$withval/include"
 +              then
 +                      liboping_CPPFLAGS="$CPPFLAGS -I$withval/include"
 +              fi
 +      fi
 +      if test "x$withval" = "xno"
 +      then
 +              with_liboping="no"
 +              with_own_liboping="no"
 +      fi
 +],
 +[
 +      #753
 +      with_liboping="yes"
 +])
 +
 +if test "x$with_liboping" = "xyes"
 +then
 +      save_LDFLAGS="$LDFLAGS"
 +      save_CPPFLAGS="$CPPFLAGS"
 +      LDFLAGS="$liboping_LDFLAGS"
 +      CPPFLAGS="$liboping_CPPFLAGS"
 +      AC_CHECK_LIB(oping, ping_construct,
 +      [
 +              with_liboping="yes"
 +              with_own_liboping="no"
 +      ],
 +      [
 +              with_liboping="yes"
 +              with_own_liboping="yes"
 +              LDFLAGS="$save_LDFLAGS"
 +              CPPFLAGS="$save_CPPFLAGS"
 +      ])
 +fi
 +AM_CONDITIONAL(BUILD_WITH_LIBOPING, test "x$with_liboping" = "xyes")
 +AM_CONDITIONAL(BUILD_WITH_OWN_LIBOPING, test "x$with_own_liboping" = "xyes")
 +if test "x$with_liboping" = "xyes" -a "x$with_own_liboping" = "xyes"
 +then
 +      with_liboping="yes (shipped version)"
 +fi
 +
  # Define `step' and `hearbeat' values..
  declare -i collectd_step=10
  declare -i collectd_heartbeat=25
@@@ -901,6 -834,7 +902,7 @@@ AC_COLLECTD([load],      [disable], [mo
  AC_COLLECTD([memory],    [disable], [module], [memory statistics])
  AC_COLLECTD([mysql],     [disable], [module], [mysql statistics])
  AC_COLLECTD([nfs],       [disable], [module], [nfs statistics])
+ AC_COLLECTD([ntpd],      [disable], [module], [nfs statistics])
  AC_COLLECTD([ping],      [disable], [module], [ping statistics])
  AC_COLLECTD([processes], [disable], [module], [processes statistics])
  AC_COLLECTD([sensors],   [disable], [module], [lm_sensors statistics])
@@@ -912,7 -846,7 +914,7 @@@ AC_COLLECTD([users],     [disable], [mo
  AC_COLLECTD([vserver],   [disable], [module], [vserver statistics])
  AC_COLLECTD([wireless],  [disable], [module], [wireless link statistics])
  
 -AC_OUTPUT(Makefile src/libconfig/Makefile src/liboping/Makefile src/Makefile)
 +AC_OUTPUT(Makefile src/Makefile src/libconfig/Makefile src/liboping/Makefile)
  
  cat <<EOF;
  
@@@ -920,7 -854,6 +922,7 @@@ Configuration
    Libraries:
      libcurl . . . . . . $with_libcurl
      libiokit  . . . . . $with_libiokit
 +    liboping  . . . . . $with_liboping
      librrd  . . . . . . $with_rrdtool
      lm_sensors  . . . . $with_lm_sensors
      libstatgrab . . . . $with_libstatgrab
      memory  . . . . . . $enable_memory
      mysql . . . . . . . $enable_mysql
      nfs . . . . . . . . $enable_nfs
+     ntpd  . . . . . . . $enable_ntpd
      ping  . . . . . . . $enable_ping
      processes . . . . . $enable_processes
      sensors . . . . . . $enable_sensors
diff --combined contrib/collection.cgi
@@@ -247,6 -247,18 +247,18 @@@ our $GraphDefs
                        'GPRINT:temp_max:MAX:%4.1lf Max,',
                        'GPRINT:temp_avg:LAST:%4.1lf Last\l'
                ],
+               frequency_offset => [ # NTPd
+                       'DEF:ppm_avg={file}:ppm:AVERAGE',
+                       'DEF:ppm_min={file}:ppm:MIN',
+                       'DEF:ppm_max={file}:ppm:MAX',
+                       "AREA:ppm_max#$HalfBlue",
+                       "AREA:ppm_min#$Canvas",
+                       "LINE1:ppm_avg#$FullBlue:{inst}",
+                       'GPRINT:ppm_min:MIN:%5.2lf Min,',
+                       'GPRINT:ppm_avg:AVERAGE:%5.2lf Avg,',
+                       'GPRINT:ppm_max:MAX:%5.2lf Max,',
+                       'GPRINT:ppm_avg:LAST:%5.2lf Last'
+               ],
                hddtemp => [
                        'DEF:temp_avg={file}:value:AVERAGE',
                        'DEF:temp_min={file}:value:MIN',
                        'GPRINT:temp_max:MAX:%4.1lf Max,',
                        'GPRINT:temp_avg:LAST:%4.1lf Last\l'
                ],
+               time_offset => [ # NTPd
+                       'DEF:ms_avg={file}:ms:AVERAGE',
+                       'DEF:ms_min={file}:ms:MIN',
+                       'DEF:ms_max={file}:ms:MAX',
+                       'CDEF:s_avg=ms_avg,1000,/',
+                       'CDEF:s_min=ms_min,1000,/',
+                       'CDEF:s_max=ms_max,1000,/',
+                       "AREA:s_max#$HalfBlue",
+                       "AREA:s_min#$Canvas",
+                       "LINE1:s_avg#$FullBlue:{inst}",
+                       'GPRINT:s_min:MIN:%7.3lf%s Min,',
+                       'GPRINT:s_avg:AVERAGE:%7.3lf%s Avg,',
+                       'GPRINT:s_max:MAX:%7.3lf%s Max,',
+                       'GPRINT:s_avg:LAST:%7.3lf%s Last'
+               ],
                traffic => ['DEF:out_min_raw={file}:outgoing:MIN',
                        'DEF:out_avg_raw={file}:outgoing:AVERAGE',
                        'DEF:out_max_raw={file}:outgoing:MAX',
                        'GPRINT:max:MAX:%5.1lf%sV Max,',
                        'GPRINT:avg:LAST:%5.1lf%sV Last\l'
                ],
 +              apcups_volt => [
 +                      'DEF:line_avg={file}:linev:AVERAGE',
 +                      'DEF:line_min={file}:linev:MIN',
 +                      'DEF:line_max={file}:linev:MAX',
 +                      'DEF:out_avg={file}:outputv:AVERAGE',
 +                      'DEF:out_min={file}:outputv:MIN',
 +                      'DEF:out_max={file}:outputv:MAX',
 +                      #"AREA:line_max#$HalfBlue",
 +                      #"AREA:line_min#$Canvas",
 +                      #"AREA:out_avg#$HalfGreen",
 +                      "LINE1:line_avg#$FullBlue:Line Volt",
 +                      'GPRINT:line_min:MIN:%5.1lf%sV Min,',
 +                      'GPRINT:line_avg:AVERAGE:%5.1lf%sV Avg,',
 +                      'GPRINT:line_max:MAX:%5.1lf%sV Max,',
 +                      'GPRINT:line_avg:LAST:%5.1lf%sV Last\l',
 +                      "LINE2:out_avg#$FullGreen:Out  Volt",
 +                      'GPRINT:out_min:MIN:%5.1lf%sV Min,',
 +                      'GPRINT:out_avg:AVERAGE:%5.1lf%sV Avg,',
 +                      'GPRINT:out_max:MAX:%5.1lf%sV Max,',
 +                      'GPRINT:out_avg:LAST:%5.1lf%sV Last\l'
 +              ],
 +              apcups_bvolt => [
 +                      'DEF:bvolt_avg={file}:battv:AVERAGE',
 +                      'DEF:bvolt_min={file}:battv:MIN',
 +                      'DEF:bvolt_max={file}:battv:MAX',
 +                      "AREA:bvolt_max#$HalfBlue",
 +                      "LINE1:bvolt_avg#$FullBlue:Batt Volt",
 +                      'GPRINT:bvolt_min:MIN:%5.1lf%sV Min,',
 +                      'GPRINT:bvolt_avg:AVERAGE:%5.1lf%sV Avg,',
 +                      'GPRINT:bvolt_max:MAX:%5.1lf%sV Max,',
 +                      'GPRINT:bvolt_avg:LAST:%5.1lf%sV Last\l',
 +              ],
 +              apcups_load => [
 +                      'DEF:load_avg={file}:loadpct:AVERAGE',
 +                      'DEF:load_min={file}:loadpct:MIN',
 +                      'DEF:load_max={file}:loadpct:MAX',
 +                      "AREA:load_max#$HalfBlue",
 +                      "LINE1:load_avg#$FullBlue:Batt load",
 +                      'GPRINT:load_min:MIN:%5.1lf%s%% Min,',
 +                      'GPRINT:load_avg:AVERAGE:%5.1lf%s%% Avg,',
 +                      'GPRINT:load_max:MAX:%5.1lf%s%% Max,',
 +                      'GPRINT:load_avg:LAST:%5.1lf%s%% Last\l',
 +              ],
 +              apcups_charge => [
 +                      'DEF:charge_avg={file}:bcharge:AVERAGE',
 +                      'DEF:charge_min={file}:bcharge:MIN',
 +                      'DEF:charge_max={file}:bcharge:MAX',
 +                      "AREA:charge_max#$HalfBlue",
 +                      "LINE1:charge_avg#$FullBlue:Batt Charge",
 +                      'GPRINT:charge_min:MIN:%5.1lf%s%% Min,',
 +                      'GPRINT:charge_avg:AVERAGE:%5.1lf%s%% Avg,',
 +                      'GPRINT:charge_max:MAX:%5.1lf%s%% Max,',
 +                      'GPRINT:charge_avg:LAST:%5.1lf%s%% Last\l',
 +              ],
 +              apcups_time => [
 +                      'DEF:time_avg={file}:timeleft:AVERAGE',
 +                      'DEF:time_min={file}:timeleft:MIN',
 +                      'DEF:time_max={file}:timeleft:MAX',
 +                      "AREA:time_max#$HalfBlue",
 +                      "LINE1:time_avg#$FullBlue:Time Avail",
 +                      'GPRINT:time_min:MIN:%5.1lf%smin Min,',
 +                      'GPRINT:time_avg:AVERAGE:%5.1lf%smin Avg,',
 +                      'GPRINT:time_max:MAX:%5.1lf%smin Max,',
 +                      'GPRINT:time_avg:LAST:%5.1lf%smin Last\l',
 +              ],
 +              apcups_temp => [
 +                      'DEF:temp_avg={file}:itemp:AVERAGE',
 +                      'DEF:temp_min={file}:itemp:MIN',
 +                      'DEF:temp_max={file}:itemp:MAX',
 +                      "AREA:temp_max#$HalfBlue",
 +                      "LINE1:temp_avg#$FullBlue:Temp Avail",
 +                      'GPRINT:temp_min:MIN:%5.1lf%s° Min,',
 +                      'GPRINT:temp_avg:AVERAGE:%5.1lf%s° Avg,',
 +                      'GPRINT:temp_max:MAX:%5.1lf%s° Max,',
 +                      'GPRINT:temp_avg:LAST:%5.1lf%s° Last\l',
 +              ],
 +              apcups_freq => [
 +                      'DEF:freq_avg={file}:linefreq:AVERAGE',
 +                      'DEF:freq_min={file}:linefreq:MIN',
 +                      'DEF:freq_max={file}:linefreq:MAX',
 +                      "AREA:freq_max#$HalfBlue",
 +                      "LINE1:freq_avg#$FullBlue:Line Freq",
 +                      'GPRINT:freq_min:MIN:%5.1lf%sHz Min,',
 +                      'GPRINT:freq_avg:AVERAGE:%5.1lf%sHz Avg,',
 +                      'GPRINT:freq_max:MAX:%5.1lf%sHz Max,',
 +                      'GPRINT:freq_avg:LAST:%5.1lf%sHz Last\l',
 +              ],
                vs_threads => [
                        "DEF:total_avg={file}:total:AVERAGE",
                        "DEF:total_min={file}:total:MIN",
        $GraphDefs->{'disk'} = $GraphDefs->{'partition'};
        $GraphDefs->{'meminfo'} = $GraphDefs->{'memory'};
        $GraphDefs->{'sensors'} = $GraphDefs->{'temperature'};
+       $GraphDefs->{'delay'}           = $GraphDefs->{'time_offset'};
+       $GraphDefs->{'time_dispersion'} = $GraphDefs->{'time_offset'};
  }
  
  our $GraphArgs =
        cpufreq => ['-t', '{host} cpu{inst} usage', '-v', 'Mhz'],
        current => ['-t', '{host} current', '-v', 'Ampere'],
        #disk => ['-t', '{host} disk {inst} IO wait', '-v', 'Seconds'],
+       delay => ['-t', 'NTPd peer delay ({inst})', '-v', 'Seconds'],
        df => ['-t', '{host}:{inst} usage', '-v', 'Percent', '-l', '0'],
        disk => ['-t', '{host} disk {inst} usage', '-v', 'Byte/s'],
        fanspeed => ['-t', '{host} fanspeed {inst}', '-v', 'rpm'],
+       frequency_offset => ['-t', 'NTPd frequency offset ({inst})', '-v', 'Parts per million'],
        hddtemp => ['-t', '{host} hdd temperature {inst}', '-v', '°Celsius'],
        load => ['-t', '{host} load average', '-v', 'System load', '-X', '0'],
        mails   => ['-t', '{host} mail count', '-v', 'Amount', '-X', '0'],
        sensors => ['-t', '{host} sensor {inst}', '-v', '°Celsius'],
        swap => ['-t', '{host} swap usage', '-v', 'Bytes', '-b', '1024', '-l', '0'],
        temperature => ['-t', '{host} temperature {inst}', '-v', '°Celsius'],
+       time_offset => ['-t', 'NTPd time offset ({inst})', '-v', 'Seconds'],
+       time_dispersion => ['-t', 'NTPd time dispersion ({inst})', '-v', 'Seconds'],
        traffic => ['-t', '{host} {inst} traffic', '-v', 'Bit/s'],
        users => ['-t', '{host} users', '-v', 'Users'],
        voltage => ['-t', '{host} voltage', '-v', 'Volts'],
 +      apcups_volt => ['-t', '{host} APC voltage {inst}', '-v', 'Volts AC'],
 +      apcups_bvolt => ['-t', '{host} APC Batt voltage {inst}', '-v', 'Volts DC'],
 +      apcups_load => ['-t', '{host} APC Load {inst}', '-v', 'Percent'],
 +      apcups_charge => ['-t', '{host} APC Batt Charge {inst}', '-v', 'Percent'],
 +      apcups_time => ['-t', '{host} APC Time Left {inst}', '-v', 'Minutes'],
 +      apcups_temp => ['-t', '{host} APC Internal Temp {inst}', '-v', '°Celsius'],
 +      apcups_freq => ['-t', '{host} APC Line Freq {inst}', '-v', 'Hz'],
        vs_threads => ['-t', '{host} threads', '-v', 'Threads'],
        vs_memory => ['-t', '{host} memory usage', '-v', 'Bytes'],
        vs_processes => ['-t', '{host} processes', '-v', 'Processes'],
@@@ -996,13 -936,6 +1030,13 @@@ our $GraphMulti 
        cpu     => \&output_graph_cpu,
        cpufreq => 1,
        disk    => 1,
 +      apcups_volt => 1,
 +      apcups_bvolt => 1,
 +      apcups_load => 1,
 +      apcups_charge => 1,
 +      apcups_time => 1,
 +      apcups_temp => 1,
 +      apcups_freq => 1,
        load    => 0,
        mails   => 0,
        memory  => 0,
diff --combined src/Makefile.am
@@@ -1,5 -1,5 +1,5 @@@
  SUBDIRS = libconfig
 -if BUILD_MODULE_PING
 +if BUILD_WITH_OWN_LIBOPING
  SUBDIRS += liboping
  endif
  
@@@ -236,18 -236,23 +236,29 @@@ collectd_LDADD += "-dlopen" nfs.l
  collectd_DEPENDENCIES += nfs.la
  endif
  
+ if BUILD_MODULE_NTPD
+ pkglib_LTLIBRARIES += ntpd.la
+ ntpd_la_SOURCES = ntpd.c
+ ntpd_la_LDFLAGS = -module -avoid-version
+ if BUILD_WITH_LIBSOCKET
+ ntpd_la_LDFLAGS += -lsocket
+ endif
+ collectd_LDADD += "-dlopen" ntpd.la
+ collectd_DEPENDENCIES += ntpd.la
+ endif
  if BUILD_MODULE_PING
  pkglib_LTLIBRARIES += ping.la
  ping_la_SOURCES = ping.c
  ping_la_LDFLAGS = -module -avoid-version
 +if BUILD_WITH_LIBOPING
 +if BUILD_WITH_OWN_LIBOPING
  ping_la_LIBADD  = liboping/liboping.la
  ping_la_DEPENDENCIES = liboping/liboping.la
 +else
 +ping_la_LDFLAGS += -loping
 +endif
 +endif
  collectd_LDADD += "-dlopen" ping.la
  collectd_DEPENDENCIES += ping.la
  endif