author | Florian Forster <octo@collectd.org> | |
Thu, 18 Oct 2012 10:43:30 +0000 (12:43 +0200) | ||
committer | Florian Forster <octo@collectd.org> | |
Thu, 18 Oct 2012 10:46:59 +0000 (12:46 +0200) |
Conflicts:
src/utils_db_query.c
src/utils_db_query.h
src/utils_db_query.c
src/utils_db_query.h
src/disk.c | patch | blob | history | |
src/network.c | patch | blob | history | |
src/utils_db_query.c | patch | blob | history | |
src/utils_db_query.h | patch | blob | history |
diff --git a/src/disk.c b/src/disk.c
index fde0dcde9abd5112c48633a6dcd588ef8bb0f69b..7411c22588abd4e409f25027d784bd83b62af62a 100644 (file)
--- a/src/disk.c
+++ b/src/disk.c
plugin_dispatch_values (&vl);
} /* void disk_submit */
+#if KERNEL_LINUX
+static counter_t disk_calc_time_incr (counter_t delta_time, counter_t delta_ops)
+{
+ double avg_time = ((double) delta_time) / ((double) delta_ops);
+ double avg_time_incr = CDTIME_T_TO_DOUBLE (interval_g) * avg_time;
+
+ return ((counter_t) (avg_time_incr + .5));
+}
+#endif
+
#if HAVE_IOKIT_IOKITLIB_H
static signed long long dict_get_value (CFDictionaryRef dict, const char *key)
{
diff_write_time = write_time - ds->write_time;
if (diff_read_ops != 0)
- ds->avg_read_time += (diff_read_time
- + (diff_read_ops / 2))
- / diff_read_ops;
+ ds->avg_read_time += disk_calc_time_incr (
+ diff_read_time, diff_read_ops);
if (diff_write_ops != 0)
- ds->avg_write_time += (diff_write_time
- + (diff_write_ops / 2))
- / diff_write_ops;
+ ds->avg_write_time += disk_calc_time_incr (
+ diff_write_time, diff_write_ops);
ds->read_ops = read_ops;
ds->read_time = read_time;
diff --git a/src/network.c b/src/network.c
index 0b299d62aa2645f550150fb60ad9f785c0013651..3cf222744262796d4ce964cf3c76d4c690202d49 100644 (file)
--- a/src/network.c
+++ b/src/network.c
#if HAVE_LIBGCRYPT
# include <pthread.h>
+# if defined __APPLE__
+/* default xcode compiler throws warnings even when deprecated functionality
+ * is not used. -Werror breaks the build because of erroneous warnings.
+ * http://stackoverflow.com/questions/10556299/compiler-warnings-with-libgcrypt-v1-5-0/12830209#12830209
+ */
+# pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+# endif
# include <gcrypt.h>
+# if defined __APPLE__
+/* Re enable deprecation warnings */
+# pragma GCC diagnostic warning "-Wdeprecated-declarations"
+# endif
GCRY_THREAD_OPTION_PTHREAD_IMPL;
#endif
part_header_t pkg_head;
uint64_t pkg_value;
-
+
int offset;
packet_len = sizeof (pkg_head) + sizeof (pkg_value);
return (-1);
sstrncpy (vl_def->type_instance, vl->type_instance, sizeof (vl_def->type_instance));
}
-
+
if (write_part_values (&buffer, &buffer_size, ds, vl) != 0)
return (-1);
return (0);
} /* int network_init */
-/*
+/*
* The flush option of the network plugin cannot flush individual identifiers.
* All the values are added to a buffer and sent when the buffer is full, the
* requested value may or may not be in there, it's not worth finding out. We
diff --git a/src/utils_db_query.c b/src/utils_db_query.c
index 7e7504dc9fc2a0bed52000b6da08e7d7dd683663..aadf9c5ec1d7f6a4879a5701ebe19f2a25d23633 100644 (file)
--- a/src/utils_db_query.c
+++ b/src/utils_db_query.c
*/
static int udb_result_submit (udb_result_t *r, /* {{{ */
udb_result_preparation_area_t *r_area,
- const udb_query_t const *q, udb_query_preparation_area_t *q_area)
+ udb_query_t const *q, udb_query_preparation_area_t *q_area)
{
value_list_t vl = VALUE_LIST_INIT;
size_t i;
return (0);
} /* }}} void udb_result_submit */
-static void udb_result_finish_result (const udb_result_t const *r, /* {{{ */
+static void udb_result_finish_result (udb_result_t const *r, /* {{{ */
udb_result_preparation_area_t *prep_area)
{
if ((r == NULL) || (prep_area == NULL))
static int udb_result_handle_result (udb_result_t *r, /* {{{ */
udb_query_preparation_area_t *q_area,
udb_result_preparation_area_t *r_area,
- const udb_query_t const *q, char **column_values)
+ udb_query_t const *q, char **column_values)
{
size_t i;
return udb_result_submit (r, r_area, q, q_area);
} /* }}} int udb_result_handle_result */
-static int udb_result_prepare_result (const udb_result_t const *r, /* {{{ */
+static int udb_result_prepare_result (udb_result_t const *r, /* {{{ */
udb_result_preparation_area_t *prep_area,
char **column_names, size_t column_num)
{
return (1);
} /* }}} int udb_query_check_version */
-void udb_query_finish_result (const udb_query_t const *q, /* {{{ */
+void udb_query_finish_result (udb_query_t const *q, /* {{{ */
udb_query_preparation_area_t *prep_area)
{
udb_result_preparation_area_t *r_area;
}
} /* }}} void udb_query_finish_result */
-int udb_query_handle_result (const udb_query_t const *q, /* {{{ */
+int udb_query_handle_result (udb_query_t const *q, /* {{{ */
udb_query_preparation_area_t *prep_area, char **column_values)
{
udb_result_preparation_area_t *r_area;
return (0);
} /* }}} int udb_query_handle_result */
-int udb_query_prepare_result (const udb_query_t const *q, /* {{{ */
+int udb_query_prepare_result (udb_query_t const *q, /* {{{ */
udb_query_preparation_area_t *prep_area,
const char *host, const char *plugin, const char *db_name,
char **column_names, size_t column_num, cdtime_t interval)
diff --git a/src/utils_db_query.h b/src/utils_db_query.h
index 727be03647714e8bc76f6b4d5403508eeca74616..b6f4cea00d6351c8c0edcf97ab44d0a45cfc7e86 100644 (file)
--- a/src/utils_db_query.h
+++ b/src/utils_db_query.h
*/
int udb_query_check_version (udb_query_t *q, unsigned int version);
-int udb_query_prepare_result (const udb_query_t const *q,
+int udb_query_prepare_result (udb_query_t const *q,
udb_query_preparation_area_t *prep_area,
const char *host, const char *plugin, const char *db_name,
char **column_names, size_t column_num, cdtime_t interval);
-int udb_query_handle_result (const udb_query_t const *q,
+int udb_query_handle_result (udb_query_t const *q,
udb_query_preparation_area_t *prep_area, char **column_values);
-void udb_query_finish_result (const udb_query_t const *q,
+void udb_query_finish_result (udb_query_t const *q,
udb_query_preparation_area_t *prep_area);
udb_query_preparation_area_t *