From: collectd bot <32910397+collectd-bot@users.noreply.github.com> Date: Tue, 14 Nov 2017 22:08:48 +0000 (+0100) Subject: Auto-Merge pull request #2535 from mfournier/collectd-5.8 X-Git-Tag: collectd-5.8.0~12 X-Git-Url: https://git.octo.it/?p=collectd.git;a=commitdiff_plain;h=1f684bf755acedd26fd0ff18f8cbc5fa0e2b15fc;hp=c59ab241c4837cf826a6433a240385bb761d7c4a Auto-Merge pull request #2535 from mfournier/collectd-5.8 Automatically merged due to "Automerge" label --- diff --git a/src/mcelog.c b/src/mcelog.c index ae5a7f54..6fd4623d 100644 --- a/src/mcelog.c +++ b/src/mcelog.c @@ -52,9 +52,9 @@ #define MCELOG_UNCORRECTED_ERR_TYPE_INS "uncorrected_memory_errors" typedef struct mcelog_config_s { - char logfile[PATH_MAX]; /* mcelog logfile */ - pthread_t tid; /* poll thread id */ - llist_t *dimms_list; /* DIMMs list */ + char logfile[PATH_MAX]; /* mcelog logfile */ + pthread_t tid; /* poll thread id */ + llist_t *dimms_list; /* DIMMs list */ pthread_mutex_t dimms_lock; /* lock for dimms cache */ _Bool persist; } mcelog_config_t; @@ -75,12 +75,12 @@ struct socket_adapter_s { typedef struct mcelog_memory_rec_s { int corrected_err_total; /* x total*/ int corrected_err_timed; /* x in 24h*/ - char corrected_err_timed_period[DATA_MAX_NAME_LEN]; + char corrected_err_timed_period[DATA_MAX_NAME_LEN / 2]; int uncorrected_err_total; /* x total*/ int uncorrected_err_timed; /* x in 24h*/ - char uncorrected_err_timed_period[DATA_MAX_NAME_LEN]; - char location[DATA_MAX_NAME_LEN]; /* SOCKET x CHANNEL x DIMM x*/ - char dimm_name[DATA_MAX_NAME_LEN]; /* DMI_NAME "DIMM_F1" */ + char uncorrected_err_timed_period[DATA_MAX_NAME_LEN / 2]; + char location[DATA_MAX_NAME_LEN / 2]; /* SOCKET x CHANNEL x DIMM x*/ + char dimm_name[DATA_MAX_NAME_LEN / 2]; /* DMI_NAME "DIMM_F1" */ } mcelog_memory_rec_t; static int socket_close(socket_adapter_t *self); diff --git a/src/postgresql_default.conf b/src/postgresql_default.conf index 0aac41e2..50799013 100644 --- a/src/postgresql_default.conf +++ b/src/postgresql_default.conf @@ -38,9 +38,9 @@ - Statement "SELECT sum(n_tup_ins) AS ins, \ - sum(n_tup_upd) AS upd, \ - sum(n_tup_del) AS del \ + Statement "SELECT coalesce(sum(n_tup_ins), 0) AS ins, \ + coalesce(sum(n_tup_upd), 0) AS upd, \ + coalesce(sum(n_tup_del), 0) AS del \ FROM pg_stat_user_tables;" @@ -63,10 +63,10 @@ - Statement "SELECT sum(n_tup_ins) AS ins, \ - sum(n_tup_upd) AS upd, \ - sum(n_tup_del) AS del, \ - sum(n_tup_hot_upd) AS hot_upd \ + Statement "SELECT coalesce(sum(n_tup_ins), 0) AS ins, \ + coalesce(sum(n_tup_upd), 0) AS upd, \ + coalesce(sum(n_tup_del), 0) AS del, \ + coalesce(sum(n_tup_hot_upd), 0) AS hot_upd \ FROM pg_stat_user_tables;" @@ -188,7 +188,8 @@ - Statement "SELECT sum(n_live_tup) AS live, sum(n_dead_tup) AS dead \ + Statement "SELECT coalesce(sum(n_live_tup), 0) AS live, \ + coalesce(sum(n_dead_tup), 0) AS dead \ FROM pg_stat_user_tables;" diff --git a/src/target_notification.c b/src/target_notification.c index 429e256d..f83a904a 100644 --- a/src/target_notification.c +++ b/src/target_notification.c @@ -221,7 +221,9 @@ static int tn_invoke(const data_set_t *ds, value_list_t *vl, /* {{{ */ char template[DATA_MAX_NAME_LEN]; char value_str[DATA_MAX_NAME_LEN]; - snprintf(template, sizeof(template), "%%{ds:%s}", ds->ds[i].name); + const char *format = "%%{ds:%.*s}"; + snprintf(template, sizeof(template), format, + DATA_MAX_NAME_LEN - strlen(format), ds->ds[i].name); if (ds->ds[i].type != DS_TYPE_GAUGE) { if ((rates == NULL) && (rates_failed == 0)) { diff --git a/src/utils_tail_match.c b/src/utils_tail_match.c index 65655dcd..79868fcd 100644 --- a/src/utils_tail_match.c +++ b/src/utils_tail_match.c @@ -118,7 +118,7 @@ static int latency_submit_match(cu_match_t *match, void *user_data) { sstrncpy(vl.type, data->type, sizeof(vl.type)); for (size_t i = 0; i < data->latency_config.percentile_num; i++) { if (strlen(data->type_instance) != 0) - snprintf(vl.type_instance, sizeof(vl.type_instance), "%s-%.0f", + snprintf(vl.type_instance, sizeof(vl.type_instance), "%.117s-%.2f", data->type_instance, data->latency_config.percentile[i]); else snprintf(vl.type_instance, sizeof(vl.type_instance), "%.0f", @@ -150,10 +150,11 @@ static int latency_submit_match(cu_match_t *match, void *user_data) { bucket.upper_bound ? CDTIME_T_TO_DOUBLE(bucket.upper_bound) : INFINITY; if (strlen(data->type_instance) != 0) - snprintf(vl.type_instance, sizeof(vl.type_instance), "%s-%s-%g_%g", - data->type, data->type_instance, lower_bound, upper_bound); + snprintf(vl.type_instance, sizeof(vl.type_instance), + "%.54s-%.54s-%.2g_%.2g", data->type, data->type_instance, + lower_bound, upper_bound); else - snprintf(vl.type_instance, sizeof(vl.type_instance), "%s-%g_%g", + snprintf(vl.type_instance, sizeof(vl.type_instance), "%.107s-%.2g_%.2g", data->type, lower_bound, upper_bound); vl.values = &(value_t){