disk plugin: Correct the collection of {read,write}-time.
[collectd.git] / src / hddtemp.c
index c2ff19e..00814bd 100644 (file)
 #define HDDTEMP_DEF_HOST "127.0.0.1"
 #define HDDTEMP_DEF_PORT "7634"
 
-static data_source_t data_source_temperature[1] =
-{
-       {"value", DS_TYPE_GAUGE, -273.15, NAN}
-};
-
-static data_set_t temperature_ds =
-{
-       "temperature", 1, data_source_temperature
-};
-
 #if HDDTEMP_HAVE_READ
 static const char *config_keys[] =
 {
@@ -133,9 +123,12 @@ static int hddtemp_query_daemon (char *buffer, int buffer_size)
 
        if ((ai_return = getaddrinfo (host, port, &ai_hints, &ai_list)) != 0)
        {
+               char errbuf[1024];
                ERROR ("hddtemp: getaddrinfo (%s, %s): %s",
                                host, port,
-                               ai_return == EAI_SYSTEM ? strerror (errno) : gai_strerror (ai_return));
+                               (ai_return == EAI_SYSTEM)
+                               ? sstrerror (errno, errbuf, sizeof (errbuf))
+                               : gai_strerror (ai_return));
                return (-1);
        }
 
@@ -145,16 +138,18 @@ static int hddtemp_query_daemon (char *buffer, int buffer_size)
                /* create our socket descriptor */
                if ((fd = socket (ai_ptr->ai_family, ai_ptr->ai_socktype, ai_ptr->ai_protocol)) < 0)
                {
+                       char errbuf[1024];
                        ERROR ("hddtemp: socket: %s",
-                                       strerror (errno));
+                                       sstrerror (errno, errbuf, sizeof (errbuf)));
                        continue;
                }
 
                /* connect to the hddtemp daemon */
                if (connect (fd, (struct sockaddr *) ai_ptr->ai_addr, ai_ptr->ai_addrlen))
                {
+                       char errbuf[1024];
                        DEBUG ("hddtemp: connect (%s, %s): %s", host, port,
-                                       strerror (errno));
+                                       sstrerror (errno, errbuf, sizeof (errbuf)));
                        close (fd);
                        fd = -1;
                        continue;
@@ -181,11 +176,13 @@ static int hddtemp_query_daemon (char *buffer, int buffer_size)
        {
                if (status == -1)
                {
+                       char errbuf[1024];
+
                        if ((errno == EAGAIN) || (errno == EINTR))
                                continue;
 
                        ERROR ("hddtemp: Error reading from socket: %s",
-                                               strerror (errno));
+                                       sstrerror (errno, errbuf, sizeof (errbuf)));
                        close (fd);
                        return (-1);
                }
@@ -377,9 +374,14 @@ static int hddtemp_init (void)
                }
                fclose (fh);
        }
+#if COLLECT_DEBUG
        else
+       {
+               char errbuf[1024];
                DEBUG ("Could not open /proc/partitions: %s",
-                               strerror (errno));
+                               sstrerror (errno, errbuf, sizeof (errbuf)));
+       }
+#endif /* COLLECT_DEBUG */
 #endif /* KERNEL_LINUX */
 
        return (0);
@@ -504,8 +506,6 @@ static int hddtemp_read (void)
    Register collectd plugin. */
 void module_register (void)
 {
-       plugin_register_data_set (&temperature_ds);
-       
 #if HDDTEMP_HAVE_READ
        plugin_register_config ("hddtemp", hddtemp_config,
                        config_keys, config_keys_num);