summaryrefslogtreecommitdiffstats
path: root/collectors/proc.plugin/proc_softirqs.c
diff options
context:
space:
mode:
Diffstat (limited to 'collectors/proc.plugin/proc_softirqs.c')
-rw-r--r--collectors/proc.plugin/proc_softirqs.c15
1 files changed, 6 insertions, 9 deletions
diff --git a/collectors/proc.plugin/proc_softirqs.c b/collectors/proc.plugin/proc_softirqs.c
index 7eff28c98..4c4df7668 100644
--- a/collectors/proc.plugin/proc_softirqs.c
+++ b/collectors/proc.plugin/proc_softirqs.c
@@ -128,7 +128,7 @@ int do_proc_softirqs(int update_every, usec_t dt) {
// --------------------------------------------------------------------
static RRDSET *st_system_softirqs = NULL;
- if(unlikely(!st_system_softirqs))
+ if(unlikely(!st_system_softirqs)) {
st_system_softirqs = rrdset_create_localhost(
"system"
, "softirqs"
@@ -143,8 +143,7 @@ int do_proc_softirqs(int update_every, usec_t dt) {
, update_every
, RRDSET_TYPE_STACKED
);
- else
- rrdset_next(st_system_softirqs);
+ }
for(l = 0; l < lines ;l++) {
struct interrupt *irr = irrindex(irrs, l, cpus);
@@ -153,9 +152,9 @@ int do_proc_softirqs(int update_every, usec_t dt) {
// some interrupt may have changed without changing the total number of lines
// if the same number of interrupts have been added and removed between two
// calls of this function.
- if(unlikely(!irr->rd || strncmp(irr->name, irr->rd->name, MAX_INTERRUPT_NAME) != 0)) {
+ if(unlikely(!irr->rd || strncmp(irr->name, rrddim_name(irr->rd), MAX_INTERRUPT_NAME) != 0)) {
irr->rd = rrddim_add(st_system_softirqs, irr->id, irr->name, 1, 1, RRD_ALGORITHM_INCREMENTAL);
- rrddim_set_name(st_system_softirqs, irr->rd, irr->name);
+ rrddim_reset_name(st_system_softirqs, irr->rd, irr->name);
// also reset per cpu RRDDIMs to avoid repeating strncmp() in the per core loop
if(likely(do_per_core != CONFIG_BOOLEAN_NO)) {
@@ -220,10 +219,8 @@ int do_proc_softirqs(int update_every, usec_t dt) {
char core[50+1];
snprintfz(core, 50, "cpu%d", c);
- rrdlabels_add(core_st[c]->state->chart_labels, "cpu", core, RRDLABEL_SRC_AUTO);
+ rrdlabels_add(core_st[c]->rrdlabels, "cpu", core, RRDLABEL_SRC_AUTO);
}
- else
- rrdset_next(core_st[c]);
for(l = 0; l < lines ;l++) {
struct interrupt *irr = irrindex(irrs, l, cpus);
@@ -231,7 +228,7 @@ int do_proc_softirqs(int update_every, usec_t dt) {
if(irr->used && (do_per_core == CONFIG_BOOLEAN_YES || irr->cpu[c].value)) {
if(unlikely(!irr->cpu[c].rd)) {
irr->cpu[c].rd = rrddim_add(core_st[c], irr->id, irr->name, 1, 1, RRD_ALGORITHM_INCREMENTAL);
- rrddim_set_name(core_st[c], irr->cpu[c].rd, irr->name);
+ rrddim_reset_name(core_st[c], irr->cpu[c].rd, irr->name);
}
rrddim_set_by_pointer(core_st[c], irr->cpu[c].rd, irr->cpu[c].value);