Merge remote-tracking branch 'github/pr/1009'
authorFlorian Forster <octo@collectd.org>
Tue, 19 May 2015 15:40:36 +0000 (17:40 +0200)
committerFlorian Forster <octo@collectd.org>
Tue, 19 May 2015 15:40:36 +0000 (17:40 +0200)
1  2 
AUTHORS
README
configure.ac
contrib/redhat/collectd.spec
src/Makefile.am
src/collectd.conf.in
src/collectd.conf.pod

diff --combined AUTHORS
+++ b/AUTHORS
@@@ -128,6 -128,9 +128,9 @@@ Jeremy Katz <jeremy at katzbox.net
  Jérôme Renard <jerome.renard at gmail.com>
   - varnish plugin.
  
+ Jiri Tyr <jiri.tyr at gmail.com>
+  - fhcount plugin.
  Kevin Bowling <kbowling at llnw.com>
   - write_tsdb plugin for http://opentsdb.net/
  
@@@ -280,9 -283,6 +283,9 @@@ Tommie Gannert <d00-tga at d.kth.se
  Vincent Bernat <vincent at bernat.im>
   - smart plugin.
  
 +Vincent Brillault <git at lerya.net>
 + - turbostat plugin, based on Len Brown <len.brown at intel.com> kernel tool
 +
  Vincent Stehlé <vincent.stehle at free.fr>
   - hddtemp plugin.
  
diff --combined README
--- 1/README
--- 2/README
+++ b/README
@@@ -107,6 -107,9 +107,9 @@@ Feature
        Values gathered by a custom program or script.
        See collectd-exec(5).
  
+     - fhcount
+       File handles statistics.
      - filecount
        Count the number of files in directories.
  
        Reads the number of records and file size from a running Tokyo Tyrant
        server.
  
 +    - turbostat
 +      Reads CPU frequency and C-state residency on modern Intel
 +      turbo-capable processors.
 +
      - uptime
        System uptime statistics.
  
@@@ -636,12 -635,6 +639,12 @@@ Prerequisite
      Used by the `smart' plugin.
      <http://git.0pointer.de/?p=libatasmart.git>
  
 +  * libcap (optional)
 +    The `turbostat' plugin can optionally build Linux Capabilities support,
 +    which avoids full privileges requirement (aka. running as root) to read
 +    values.
 +    <http://sites.google.com/site/fullycapable/>
 +
    * libclntsh (optional)
      Used by the `oracle' plugin.
  
diff --combined configure.ac
@@@ -589,44 -589,13 +589,44 @@@ AC_CHECK_HEADERS(net/pfvar.h
  have_termios_h="no"
  AC_CHECK_HEADERS(termios.h, [have_termios_h="yes"])
  
 +# For the turbostat plugin
 +have_asm_msrindex_h="no"
 +AC_CHECK_HEADERS(asm/msr-index.h, [have_asm_msrindex_h="yes"])
 +
 +if test "x$have_asm_msrindex_h" = "xyes"
 +then
 +  AC_CACHE_CHECK([whether asm/msr-index.h has MSR_CORE_C3_RESIDENCY],
 +                 [c_cv_have_usable_asm_msrindex_h],
 +                 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
 +[[[
 +#include<asm/msr-index.h>
 +]]],
 +[[[
 +int y = MSR_CORE_C3_RESIDENCY;
 +return(y);
 +]]]
 +  )],
 +                 [c_cv_have_usable_asm_msrindex_h="yes"],
 +                 [c_cv_have_usable_asm_msrindex_h="no"],
 +                                  )
 +                 )
 +fi
 +
 +have_cpuid_h="no"
 +AC_CHECK_HEADERS(cpuid.h, [have_cpuid_h="yes"])
 +
 +AC_CHECK_HEADERS(sys/capability.h)
  #
  # Checks for typedefs, structures, and compiler characteristics.
  #
  AC_C_CONST
 +AC_C_INLINE
 +AC_TYPE_OFF_T
  AC_TYPE_PID_T
  AC_TYPE_SIZE_T
 +AC_TYPE_SSIZE_T
  AC_TYPE_UID_T
 +AC_TYPE_UINT32_T
  AC_HEADER_TIME
  
  #
@@@ -1221,7 -1190,6 +1221,7 @@@ FILE *fh
  struct mntent *me;
  fh = setmntent ("/etc/mtab", "r");
  me = getmntent (fh);
 +return(me->mnt_passno);
  ]]]
                        )],
                        [c_cv_have_one_getmntent="yes"],
                                 int status;
                                 fh = fopen ("/etc/mnttab", "r");
                                 status = getmntent (fh, &mt);
 +                               return(status);
  ]]]
                        )],
                        [c_cv_have_two_getmntent="yes"],
  
  # --with-java {{{
  with_java_home="$JAVA_HOME"
 +if test "x$with_java_home" = "x"
 +then
 +      with_java_home="/usr/lib/jvm"
 +fi
  with_java_vmtype="client"
  with_java_cflags=""
  with_java_libs=""
@@@ -2145,7 -2108,7 +2145,7 @@@ the
        if test -d "$with_java_home"
        then
                AC_MSG_CHECKING([for jni.h])
 -              TMPVAR=`find "$with_java_home" -name jni.h -type f -exec 'dirname' '{}' ';' 2>/dev/null | head -n 1`
 +              TMPVAR=`find -L "$with_java_home" -name jni.h -type f -exec 'dirname' '{}' ';' 2>/dev/null | head -n 1`
                if test "x$TMPVAR" != "x"
                then
                        AC_MSG_RESULT([found in $TMPVAR])
                fi
  
                AC_MSG_CHECKING([for jni_md.h])
 -              TMPVAR=`find "$with_java_home" -name jni_md.h -type f -exec 'dirname' '{}' ';' 2>/dev/null | head -n 1`
 +              TMPVAR=`find -L "$with_java_home" -name jni_md.h -type f -exec 'dirname' '{}' ';' 2>/dev/null | head -n 1`
                if test "x$TMPVAR" != "x"
                then
                        AC_MSG_RESULT([found in $TMPVAR])
                fi
  
                AC_MSG_CHECKING([for libjvm.so])
 -              TMPVAR=`find "$with_java_home" -name libjvm.so -type f -exec 'dirname' '{}' ';' 2>/dev/null | head -n 1`
 +              TMPVAR=`find -L "$with_java_home" -name libjvm.so -type f -exec 'dirname' '{}' ';' 2>/dev/null | head -n 1`
                if test "x$TMPVAR" != "x"
                then
                        AC_MSG_RESULT([found in $TMPVAR])
                if test "x$JAVAC" = "x"
                then
                        AC_MSG_CHECKING([for javac])
 -                      TMPVAR=`find "$with_java_home" -name javac -type f 2>/dev/null | head -n 1`
 +                      TMPVAR=`find -L "$with_java_home" -name javac -type f 2>/dev/null | head -n 1`
                        if test "x$TMPVAR" != "x"
                        then
                                JAVAC="$TMPVAR"
                if test "x$JAR" = "x"
                then
                        AC_MSG_CHECKING([for jar])
 -                      TMPVAR=`find "$with_java_home" -name jar -type f 2>/dev/null | head -n 1`
 +                      TMPVAR=`find -L "$with_java_home" -name jar -type f 2>/dev/null | head -n 1`
                        if test "x$TMPVAR" != "x"
                        then
                                JAR="$TMPVAR"
@@@ -3209,7 -3172,6 +3209,7 @@@ the
  ]]],
  [[[
    int val = PCAP_ERROR_IFACE_NOT_UP;
 +  return(val);
  ]]]
                       )],
                       [c_cv_libpcap_have_pcap_error_iface_not_up="yes"],
@@@ -3760,7 -3722,6 +3760,7 @@@ AC_ARG_WITH(librdkafka, [AS_HELP_STRING
    then
      with_librdkafka_cppflags="-I$withval/include"
      with_librdkafka_ldflags="-L$withval/lib"
 +    with_librdkafka_rpath="$withval/lib"
      with_librdkafka="yes"
    else
      with_librdkafka="$withval"
  SAVE_CPPFLAGS="$CPPFLAGS"
  SAVE_LDFLAGS="$LDFLAGS"
  
 +CPPFLAGS="$CPPFLAGS $with_librdkafka_cppflags"
 +LDFLAGS="$LDFLAGS $with_librdkafka_ldflags"
 +
  if test "x$with_librdkafka" = "xyes"
  then
        AC_CHECK_HEADERS(librdkafka/rdkafka.h, [with_librdkafka="yes"], [with_librdkafka="no (librdkafka/rdkafka.h not found)"])
@@@ -3790,12 -3748,7 +3790,12 @@@ if test "x$with_librdkafka" = "xyes
  then
        BUILD_WITH_LIBRDKAFKA_CPPFLAGS="$with_librdkafka_cppflags"
        BUILD_WITH_LIBRDKAFKA_LDFLAGS="$with_librdkafka_ldflags"
 -      BUILD_WITH_LIBRDKAFKA_LIBS="-lrdkafka"
 +      if test "x$with_librdkafka_rpath" != "x"
 +      then
 +              BUILD_WITH_LIBRDKAFKA_LIBS="-Wl,-rpath,$with_librdkafka_rpath -lrdkafka"
 +      else
 +              BUILD_WITH_LIBRDKAFKA_LIBS="-lrdkafka"
 +      fi
        AC_SUBST(BUILD_WITH_LIBRDKAFKA_CPPFLAGS)
        AC_SUBST(BUILD_WITH_LIBRDKAFKA_LDFLAGS)
        AC_SUBST(BUILD_WITH_LIBRDKAFKA_LIBS)
@@@ -5186,7 -5139,6 +5186,7 @@@ plugin_tape="no
  plugin_tcpconns="no"
  plugin_ted="no"
  plugin_thermal="no"
 +plugin_turbostat="no"
  plugin_uptime="no"
  plugin_users="no"
  plugin_virt="no"
        then
                plugin_ipvs="yes"
        fi
 +      if test "x$c_cv_have_usable_asm_msrindex_h" = "xyes" && test "x$have_cpuid_h" = "xyes"
 +      then
 +              plugin_turbostat="yes"
 +      fi
  fi
  
  if test "x$ac_system" = "xOpenBSD"
  if test "x$with_kstat" = "xyes"
  then
        plugin_nfs="yes"
 +      plugin_processes="yes"
        plugin_uptime="yes"
        plugin_zfs_arc="yes"
  fi
@@@ -5551,6 -5498,7 +5551,7 @@@ AC_PLUGIN([email],       [yes]
  AC_PLUGIN([entropy],     [$plugin_entropy],    [Entropy statistics])
  AC_PLUGIN([ethstat],     [$plugin_ethstat],    [Stats from NIC driver])
  AC_PLUGIN([exec],        [yes],                [Execution of external programs])
+ AC_PLUGIN([fhcount],     [yes],                [File handles statistics])
  AC_PLUGIN([filecount],   [yes],                [Count files in directories])
  AC_PLUGIN([fscache],     [$plugin_fscache],    [fscache statistics])
  AC_PLUGIN([gmond],       [$with_libganglia],   [Ganglia plugin])
@@@ -5634,7 -5582,6 +5635,7 @@@ AC_PLUGIN([ted],         [$plugin_ted]
  AC_PLUGIN([thermal],     [$plugin_thermal],    [Linux ACPI thermal zone statistics])
  AC_PLUGIN([threshold],   [yes],                [Threshold checking plugin])
  AC_PLUGIN([tokyotyrant], [$with_libtokyotyrant],  [TokyoTyrant database statistics])
 +AC_PLUGIN([turbostat],   [$plugin_turbostat],  [Advanced statistic on Intel cpu states])
  AC_PLUGIN([unixsock],    [yes],                [Unixsock communication plugin])
  AC_PLUGIN([uptime],      [$plugin_uptime],     [Uptime statistics])
  AC_PLUGIN([users],       [$plugin_users],      [User statistics])
@@@ -5928,6 -5875,7 +5929,7 @@@ Configuration
      entropy . . . . . . . $enable_entropy
      ethstat . . . . . . . $enable_ethstat
      exec  . . . . . . . . $enable_exec
+     fhcount . . . . . . . $enable_fhcount
      filecount . . . . . . $enable_filecount
      fscache . . . . . . . $enable_fscache
      gmond . . . . . . . . $enable_gmond
      thermal . . . . . . . $enable_thermal
      threshold . . . . . . $enable_threshold
      tokyotyrant . . . . . $enable_tokyotyrant
 +    turbostat . . . . . . $enable_turbostat
      unixsock  . . . . . . $enable_unixsock
      uptime  . . . . . . . $enable_uptime
      users . . . . . . . . $enable_users
@@@ -52,7 -52,6 +52,7 @@@
  %{?el6:%global _has_iproute 1}
  %{?el6:%global _has_atasmart 1}
  %{?el6:%global _has_hiredis 1}
 +%{?el6:%global _has_asm_msr_index 1}
  
  %{?el7:%global _has_libyajl 1}
  %{?el7:%global _has_recent_libpcap 1}
@@@ -67,7 -66,6 +67,7 @@@
  %{?el7:%global _has_iproute 1}
  %{?el7:%global _has_atasmart 1}
  %{?el7:%global _has_hiredis 1}
 +%{?el7:%global _has_asm_msr_index 1}
  
  # plugins enabled by default
  %define with_aggregation 0%{!?_without_aggregation:1}
@@@ -96,6 -94,7 +96,7 @@@
  %define with_entropy 0%{!?_without_entropy:1}
  %define with_ethstat 0%{!?_without_ethstat:0%{?_has_recent_sockios_h}}
  %define with_exec 0%{!?_without_exec:1}
+ %define with_fhcount 0%{!?_without_fhcount:1}
  %define with_filecount 0%{!?_without_filecount:1}
  %define with_fscache 0%{!?_without_fscache:1}
  %define with_gmond 0%{!?_without_gmond:0%{?_has_recent_libganglia}}
  %define with_ted 0%{!?_without_ted:1}
  %define with_thermal 0%{!?_without_thermal:1}
  %define with_threshold 0%{!?_without_threshold:1}
 +%define with_turbostat 0%{!?_without_turbostat:0%{?_has_asm_msr_index}}
  %define with_unixsock 0%{!?_without_unixsock:1}
  %define with_uptime 0%{!?_without_uptime:1}
  %define with_users 0%{!?_without_users:1}
  # plugin xmms disabled, requires xmms
  %define with_xmms 0%{!?_without_xmms:0}
  
 -Summary:      Statistics collection daemon for filling RRD files
 +Summary:      statistics collection and monitoring daemon
  Name:         collectd
  Version:      5.4.2
  Release:      1%{?dist}
@@@ -223,7 -221,7 +224,7 @@@ Source:            http://collectd.org/files/%{na
  License:      GPLv2
  Group:                System Environment/Daemons
  BuildRoot:    %{_tmppath}/%{name}-%{version}-root
 -BuildRequires:        libgcrypt-devel, kernel-headers, libtool-ltdl-devel
 +BuildRequires:        libgcrypt-devel, kernel-headers, libtool-ltdl-devel, libcap-devel
  Vendor:               collectd development team <collectd@verplant.org>
  
  %if 0%{?el7:1}
@@@ -951,7 -949,7 +952,7 @@@ Collectd utilitie
  %if %{with_dbi}
  %define _with_dbi --enable-dbi
  %else
 -%define _with_dbi --disable-dbi --without-libdbi
 +%define _with_dbi --disable-dbi
  %endif
  
  %if %{with_df}
  %define _with_exec --disable-exec
  %endif
  
+ %if %{with_fhcount}
+ %define _with_fhcount --enable-fhcount
+ %else
+ %define _with_fhcount --disable-fhcount
+ %endif
  %if %{with_filecount}
  %define _with_filecount --enable-filecount
  %else
  %if %{with_notify_email}
  %define _with_notify_email --enable-notify_email
  %else
 -%define _with_notify_email --disable-notify_email --without-libesmpt
 +%define _with_notify_email --disable-notify_email
  %endif
  
  %if %{with_ntpd}
  %if %{with_perl}
  %define _with_perl --enable-perl --with-perl-bindings="INSTALLDIRS=vendor"
  %else
 -%define _with_perl --disable-perl --without-libperl
 +%define _with_perl --disable-perl
  %endif
  
  %if %{with_pf}
  %define _with_tokyotyrant --disable-tokyotyrant
  %endif
  
 +%if %{with_turbostat}
 +%define _with_turbostat --enable-turbostat
 +%else
 +%define _with_turbostat --disable-turbostat
 +%endif
 +
  %if %{with_unixsock}
  %define _with_unixsock --enable-unixsock
  %else
  %if %{with_write_mongodb}
  %define _with_write_mongodb --enable-write_mongodb
  %else
 -%define _with_write_mongodb --disable-write_mongodb --without-libmongoc
 +%define _with_write_mongodb --disable-write_mongodb
  %endif
  
  %if %{with_write_redis}
        %{?_with_entropy} \
        %{?_with_ethstat} \
        %{?_with_exec} \
+       %{?_with_fhcount} \
        %{?_with_filecount} \
        %{?_with_fscache} \
        %{?_with_gmond} \
        %{?_with_ted} \
        %{?_with_thermal} \
        %{?_with_threshold} \
 +      %{?_with_turbostat} \
        %{?_with_unixsock} \
        %{?_with_uptime} \
        %{?_with_users} \
  %if %{with_exec}
  %{_libdir}/%{name}/exec.so
  %endif
+ %if %{with_fhcount}
+ %{_libdir}/%{name}/fhcount.so
+ %endif
  %if %{with_filecount}
  %{_libdir}/%{name}/filecount.so
  %endif
  %if %{with_thermal}
  %{_libdir}/%{name}/thermal.so
  %endif
 -%if %{with_load}
 +%if %{with_threshold}
  %{_libdir}/%{name}/threshold.so
  %endif
 +%if %{with_turbostat}
 +%{_libdir}/%{name}/turbostat.so
 +%endif
  %if %{with_unixsock}
  %{_libdir}/%{name}/unixsock.so
  %endif
  %changelog
  # * TODO 5.5.0-1
  # - New upstream version
 -# - New plugins enabled by default: ceph, drbd, log_logstash, write_tsdb, smart, openldap, redis, write_redis, zookeeper, write_log, write_sensu, ipc
 +# - New plugins enabled by default: ceph, drbd, log_logstash, write_tsdb, smart, openldap, redis, write_redis, zookeeper, write_log, write_sensu, ipc, turbostat
  # - New plugins disabled by default: barometer, write_kafka
  # - Enable zfs_arc, now supported on Linux
  # - Install disk plugin in a dedicated package, as it depends on libudev
  # - use systemd on EL7, sysvinit on EL6 & EL5
  # - Install collectdctl, collectd-tg and collectd-nagios in collectd-utils.rpm
 +# - Add build-dependency on libcap-devel
  
  * Mon Aug 19 2013 Marc Fournier <marc.fournier@camptocamp.com> 5.4.0-1
  - New upstream version
diff --combined src/Makefile.am
@@@ -359,6 -359,12 +359,12 @@@ ethstat_la_SOURCES = ethstat.
  ethstat_la_LDFLAGS = $(PLUGIN_LDFLAGS)
  endif
  
+ if BUILD_PLUGIN_FHCOUNT
+ pkglib_LTLIBRARIES += fhcount.la
+ fhcount_la_SOURCES = fhcount.c
+ fhcount_la_LDFLAGS = $(PLUGIN_LDFLAGS)
+ endif
  if BUILD_PLUGIN_FILECOUNT
  pkglib_LTLIBRARIES += filecount.la
  filecount_la_SOURCES = filecount.c
@@@ -1076,12 -1082,6 +1082,12 @@@ tokyotyrant_la_LIBADD += -lsocke
  endif
  endif
  
 +if BUILD_PLUGIN_TURBOSTAT
 +pkglib_LTLIBRARIES += turbostat.la
 +turbostat_la_SOURCES = turbostat.c
 +turbostat_la_LDFLAGS = $(PLUGIN_LDFLAGS)
 +endif
 +
  if BUILD_PLUGIN_UNIXSOCK
  pkglib_LTLIBRARIES += unixsock.la
  unixsock_la_SOURCES = unixsock.c \
@@@ -1194,7 -1194,6 +1200,7 @@@ write_kafka_la_SOURCES = write_kafka.c 
                          utils_format_json.c utils_format_json.h \
                          utils_cmd_putval.c utils_cmd_putval.h \
                          utils_crc32.c utils_crc32.h
 +write_kafka_la_CPPFLAGS = $(AM_CPPFLAGS) $(BUILD_WITH_LIBRDKAFKA_CPPFLAGS)
  write_kafka_la_LDFLAGS = $(PLUGIN_LDFLAGS) $(BUILD_WITH_LIBRDKAFKA_LDFLAGS)
  write_kafka_la_LIBADD = $(BUILD_WITH_LIBRDKAFKA_LIBS)
  endif
diff --combined src/collectd.conf.in
  #@BUILD_PLUGIN_ENTROPY_TRUE@LoadPlugin entropy
  #@BUILD_PLUGIN_ETHSTAT_TRUE@LoadPlugin ethstat
  #@BUILD_PLUGIN_EXEC_TRUE@LoadPlugin exec
+ #@BUILD_PLUGIN_FHCOUNT_TRUE@LoadPlugin fhcount
  #@BUILD_PLUGIN_FILECOUNT_TRUE@LoadPlugin filecount
  #@BUILD_PLUGIN_FSCACHE_TRUE@LoadPlugin fscache
  #@BUILD_PLUGIN_GMOND_TRUE@LoadPlugin gmond
  #@BUILD_PLUGIN_TED_TRUE@LoadPlugin ted
  #@BUILD_PLUGIN_THERMAL_TRUE@LoadPlugin thermal
  #@BUILD_PLUGIN_TOKYOTYRANT_TRUE@LoadPlugin tokyotyrant
 +#@BUILD_PLUGIN_TURBOSTAT_TRUE@LoadPlugin turbostat
  #@BUILD_PLUGIN_UNIXSOCK_TRUE@LoadPlugin unixsock
  #@BUILD_PLUGIN_UPTIME_TRUE@LoadPlugin uptime
  #@BUILD_PLUGIN_USERS_TRUE@LoadPlugin users
  #     NotificationExec "user:group" "/path/to/exec"
  #</Plugin>
  
+ #<Plugin fhcount>
+ #     ValuesAbsolute true
+ #     ValuesPercentage false
+ #</Plugin>
  #<Plugin filecount>
  #     <Directory "/path/to/dir">
  #             Instance "foodir"
  #     Port "1978"
  #</Plugin>
  
 +#<Plugin turbostat>
 +##    None of the following option should be set manually
 +##    This plugin automatically detect most optimal options
 +##    Only set values here if:
 +##    - The module ask you to
 +##    - You want to disable the collection of some data
 +##    - Your (intel) CPU is not supported (yet) by the module
 +##    - The module generate a lot of errors 'MSR offset 0x... read failed'
 +##    In the last two cases, please open a bug request
 +#
 +#     TCCActivationTemp "100"
 +#     CoreCstates "392"
 +#     PackageCstates "396"
 +#     SystemManagementInterrupt true
 +#     DigitalTemperatureSensor true
 +#     PackageThermalManagement true
 +#     RunningAveragePowerLimit "7"    
 +#</Plugin>
 +
  #<Plugin unixsock>
  #     SocketFile "@prefix@/var/run/@PACKAGE_NAME@-unixsock"
  #     SocketGroup "collectd"
diff --combined src/collectd.conf.pod
@@@ -2264,6 -2264,27 +2264,27 @@@ expected from them. This is documented 
  
  =back
  
+ =head2 Plugin C<fhcount>
+ The C<fhcount> plugin provides statistics about used, unused and total number of
+ file handles.
+ The I<fhcount plugin> provides the following configuration options:
+ =over 4
+ =item B<ValuesAbsolute> B<true>|B<false>
+ Enables or disables reporting of file handles usage in absolute numbers,
+ e.g. file handles used. Defaults to B<true>.
+ =item B<ValuesPercentage> B<false>|B<true>
+ Enables or disables reporting of file handles usage in percentages, e.g.
+ percent of file handles used. Defaults to B<false>.
+ =back
  =head2 Plugin C<filecount>
  
  The C<filecount> plugin counts the number of files in a certain directory (and
@@@ -6587,79 -6608,6 +6608,79 @@@ Default: B<1978
  
  =back
  
 +=head2 Plugin C<turbostat>
 +
 +The I<Turbostat plugin> reads CPU frequency and C-state residency on modern
 +Intel processors by using the new Model Specific Registers.
 +
 +=over 4
 +
 +=item B<CoreCstates> I<Bitmask(Integer)>
 +
 +Bitmask of the list of core C states supported by the processor.
 +This option should only be used if the automated detection fails.
 +Default value extracted from the cpu model and family.
 +
 +Currently supported C-states (by this plugin): 3, 6, 7
 +
 +Example: (1<<3)+(1<<6)+(1<<7) = 392 for all states
 +
 +=item B<PackageCstates> I<Bitmask(Integer)>
 +
 +Bitmask of the list of pacages C states supported by the processor.
 +This option should only be used if the automated detection fails.
 +Default value extracted from the cpu model and family.
 +
 +Currently supported C-states (by this plugin): 2, 3, 6, 7, 8, 9, 10
 +
 +Example: (1<<2)+(1<<3)+(1<<6)+(1<<7) = 396 for states 2, 3, 6 and 7
 +
 +=item B<SystemManagementInterrupt> I<true>|I<false>
 +
 +Boolean enabling the collection of the I/O System-Management Interrupt
 +counter'. This option should only be used if the automated detection
 +fails or if you want to disable this feature.
 +
 +=item B<DigitalTemperatureSensor> I<true>|I<false>
 +
 +Boolean enabling the collection of the temperature of each core.
 +This option should only be used if the automated detectionfails or 
 +if you want to disable this feature.
 +
 +=item B<DigitalTemperatureSensor> I<true>|I<false>
 +
 +Boolean enabling the collection of the temperature of each package.
 +This option should only be used if the automated detectionfails or 
 +if you want to disable this feature.
 +
 +=item B<TCCActivationTemp> I<Temperature>
 +
 +Thermal Control Circuit Activation Temperature of the installed
 +CPU. This temperature is used when collecting the temperature of
 +cores or packages. This option should only be used if the automated
 +detection fails. Default value extracted from B<MSR_IA32_TEMPERATURE_TARGET>
 +
 +=item B<RunningAveragePowerLimit> I<Bitmask(Integer)>
 +
 +Bitmask of the list of elements to be thermally monitored. This option
 +should only be used if the automated detection fails or if you want to
 +disable some collections. The different bits of this bitmask accepted
 +by this plugin are:
 +
 +=over 4
 +
 +=item 0 ('1'): Package
 +
 +=item 1 ('2'): DRAM
 +
 +=item 2 ('4'): Cores
 +
 +=item 3 ('8'): Embedded graphic device
 +
 +=back
 +
 +=back
 +
  =head2 Plugin C<unixsock>
  
  =over 4