@cryptotaxi247 / netdata-1 / commits / a02c0ceb0

fix(freebsd.plugin): correct disks/network devices charts (#19866)

Ilya Mashchenko committed Mar 14, 2025 at 23:59 UTC a02c0ceb0bf7b6f268bd3ecb34e4edac33a917a2
3 files changed +34 -23
src/collectors/freebsd.plugin/freebsd_devstat.c
+16 -8
@@ -352,7 +352,7 @@ int do_kern_devstat(int update_every, usec_t dt) {
352 dm->st_io = rrdset_create_localhost("disk",
353 disk,
354 NULL,
355 - disk,
355 + "io",
356 "disk.io",
357 "Disk I/O Bandwidth",
358 "KiB/s",
@@ -369,6 +369,7 @@ int do_kern_devstat(int update_every, usec_t dt) {
369 RRD_ALGORITHM_INCREMENTAL);
370 dm->rd_io_free = rrddim_add(dm->st_io, "frees", NULL, -1, KILO_FACTOR,
371 RRD_ALGORITHM_INCREMENTAL);
372 + rrdlabels_add(dm->st_io->rrdlabels, "device", disk, RRDLABEL_SRC_AUTO);
373 }
374
375 rrddim_set_by_pointer(dm->st_io, dm->rd_io_in, dstat[i].bytes[DEVSTAT_READ]);
@@ -382,7 +383,7 @@ int do_kern_devstat(int update_every, usec_t dt) {
383 dm->st_ops = rrdset_create_localhost("disk_ops",
384 disk,
385 NULL,
385 - disk,
386 + "ops",
387 "disk.ops",
388 "Disk Completed I/O Operations",
389 "operations/s",
@@ -401,6 +402,7 @@ int do_kern_devstat(int update_every, usec_t dt) {
402 RRD_ALGORITHM_INCREMENTAL);
403 dm->rd_ops_free = rrddim_add(dm->st_ops, "frees", NULL, -1, 1,
404 RRD_ALGORITHM_INCREMENTAL);
405 + rrdlabels_add(dm->st_ops->rrdlabels, "device", disk, RRDLABEL_SRC_AUTO);
406 }
407
408 rrddim_set_by_pointer(dm->st_ops, dm->rd_ops_in, dstat[i].operations[DEVSTAT_READ]);
@@ -415,7 +417,7 @@ int do_kern_devstat(int update_every, usec_t dt) {
417 dm->st_qops = rrdset_create_localhost("disk_qops",
418 disk,
419 NULL,
418 - disk,
420 + "ops",
421 "disk.qops",
422 "Disk Current I/O Operations",
423 "operations",
@@ -427,6 +429,7 @@ int do_kern_devstat(int update_every, usec_t dt) {
429 );
430
431 dm->rd_qops = rrddim_add(dm->st_qops, "operations", NULL, 1, 1, RRD_ALGORITHM_ABSOLUTE);
432 + rrdlabels_add(dm->st_qops->rrdlabels, "device", disk, RRDLABEL_SRC_AUTO);
433 }
434
435 rrddim_set_by_pointer(dm->st_qops, dm->rd_qops, dstat[i].start_count - dstat[i].end_count);
@@ -438,7 +441,7 @@ int do_kern_devstat(int update_every, usec_t dt) {
441 dm->st_util = rrdset_create_localhost("disk_util",
442 disk,
443 NULL,
441 - disk,
444 + "utilization",
445 "disk.util",
446 "Disk Utilization Time",
447 "% of time working",
@@ -451,6 +454,7 @@ int do_kern_devstat(int update_every, usec_t dt) {
454
455 dm->rd_util = rrddim_add(dm->st_util, "utilization", NULL, 1, 10,
456 RRD_ALGORITHM_INCREMENTAL);
457 + rrdlabels_add(dm->st_util->rrdlabels, "device", disk, RRDLABEL_SRC_AUTO);
458 }
459
460 rrddim_set_by_pointer(dm->st_util, dm->rd_util, cur_dstat.busy_time_ms);
@@ -462,7 +466,7 @@ int do_kern_devstat(int update_every, usec_t dt) {
466 dm->st_iotime = rrdset_create_localhost("disk_iotime",
467 disk,
468 NULL,
465 - disk,
469 + "io",
470 "disk.iotime",
471 "Disk Total I/O Time",
472 "milliseconds/s",
@@ -481,6 +485,7 @@ int do_kern_devstat(int update_every, usec_t dt) {
485 RRD_ALGORITHM_INCREMENTAL);
486 dm->rd_iotime_free = rrddim_add(dm->st_iotime, "frees", NULL, -1, 1,
487 RRD_ALGORITHM_INCREMENTAL);
488 + rrdlabels_add(dm->st_iotime->rrdlabels, "device", disk, RRDLABEL_SRC_AUTO);
489 }
490
491 rrddim_set_by_pointer(dm->st_iotime, dm->rd_iotime_in, cur_dstat.duration_read_ms);
@@ -499,7 +504,7 @@ int do_kern_devstat(int update_every, usec_t dt) {
504 dm->st_await = rrdset_create_localhost("disk_await",
505 disk,
506 NULL,
502 - disk,
507 + "io",
508 "disk.await",
509 "Average Completed I/O Operation Time",
510 "milliseconds/operation",
@@ -518,6 +523,7 @@ int do_kern_devstat(int update_every, usec_t dt) {
523 RRD_ALGORITHM_ABSOLUTE);
524 dm->rd_await_free = rrddim_add(dm->st_await, "frees", NULL, -1, 1,
525 RRD_ALGORITHM_ABSOLUTE);
526 + rrdlabels_add(dm->st_await->rrdlabels, "device", disk, RRDLABEL_SRC_AUTO);
527 }
528
529 rrddim_set_by_pointer(dm->st_await, dm->rd_await_in,
@@ -556,7 +562,7 @@ int do_kern_devstat(int update_every, usec_t dt) {
562 dm->st_avagsz = rrdset_create_localhost("disk_avgsz",
563 disk,
564 NULL,
559 - disk,
565 + "io",
566 "disk.avgsz",
567 "Average Completed I/O Operation Bandwidth",
568 "KiB/operation",
@@ -573,6 +579,7 @@ int do_kern_devstat(int update_every, usec_t dt) {
579 RRD_ALGORITHM_ABSOLUTE);
580 dm->rd_avagsz_free = rrddim_add(dm->st_avagsz, "frees", NULL, -1, KILO_FACTOR,
581 RRD_ALGORITHM_ABSOLUTE);
582 + rrdlabels_add(dm->st_avagsz->rrdlabels, "device", disk, RRDLABEL_SRC_AUTO);
583 }
584
585 rrddim_set_by_pointer(dm->st_avagsz, dm->rd_avagsz_in,
@@ -604,7 +611,7 @@ int do_kern_devstat(int update_every, usec_t dt) {
611 dm->st_svctm = rrdset_create_localhost("disk_svctm",
612 disk,
613 NULL,
607 - disk,
614 + "ops",
615 "disk.svctm",
616 "Average Service Time",
617 "milliseconds/operation",
@@ -617,6 +624,7 @@ int do_kern_devstat(int update_every, usec_t dt) {
624
625 dm->rd_svctm = rrddim_add(dm->st_svctm, "svctm", NULL, 1, 1,
626 RRD_ALGORITHM_ABSOLUTE);
627 + rrdlabels_add(dm->st_svctm->rrdlabels, "device", disk, RRDLABEL_SRC_AUTO);
628 }
629
630 rrddim_set_by_pointer(dm->st_svctm, dm->rd_svctm,
src/collectors/freebsd.plugin/freebsd_getifaddrs.c
+10 -5
@@ -426,7 +426,7 @@ int do_getifaddrs(int update_every, usec_t dt) {
426 ifm->st_bandwidth = rrdset_create_localhost("net",
427 ifa->ifa_name,
428 NULL,
429 - ifa->ifa_name,
429 + "traffik",
430 "net.net",
431 "Bandwidth",
432 "kilobits/s",
@@ -439,6 +439,7 @@ int do_getifaddrs(int update_every, usec_t dt) {
439
440 ifm->rd_bandwidth_in = rrddim_add(ifm->st_bandwidth, "received", NULL, 8, BITS_IN_A_KILOBIT, RRD_ALGORITHM_INCREMENTAL);
441 ifm->rd_bandwidth_out = rrddim_add(ifm->st_bandwidth, "sent", NULL, -8, BITS_IN_A_KILOBIT, RRD_ALGORITHM_INCREMENTAL);
442 + rrdlabels_add(ifm->st_bandwidth->rrdlabels, "device", ifa->ifa_name, RRDLABEL_SRC_AUTO);
443 }
444
445 rrddim_set_by_pointer(ifm->st_bandwidth, ifm->rd_bandwidth_in, IFA_DATA(ibytes));
@@ -451,7 +452,7 @@ int do_getifaddrs(int update_every, usec_t dt) {
452 ifm->st_packets = rrdset_create_localhost("net_packets",
453 ifa->ifa_name,
454 NULL,
454 - ifa->ifa_name,
455 + "packets",
456 "net.packets",
457 "Packets",
458 "packets/s",
@@ -470,6 +471,7 @@ int do_getifaddrs(int update_every, usec_t dt) {
471 RRD_ALGORITHM_INCREMENTAL);
472 ifm->rd_packets_m_out = rrddim_add(ifm->st_packets, "multicast_sent", NULL, -1, 1,
473 RRD_ALGORITHM_INCREMENTAL);
474 + rrdlabels_add(ifm->st_packets->rrdlabels, "device", ifa->ifa_name, RRDLABEL_SRC_AUTO);
475 }
476
477 rrddim_set_by_pointer(ifm->st_packets, ifm->rd_packets_in, IFA_DATA(ipackets));
@@ -484,7 +486,7 @@ int do_getifaddrs(int update_every, usec_t dt) {
486 ifm->st_errors = rrdset_create_localhost("net_errors",
487 ifa->ifa_name,
488 NULL,
487 - ifa->ifa_name,
489 + "errors",
490 "net.errors",
491 "Interface Errors",
492 "errors/s",
@@ -497,6 +499,7 @@ int do_getifaddrs(int update_every, usec_t dt) {
499
500 ifm->rd_errors_in = rrddim_add(ifm->st_errors, "inbound", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
501 ifm->rd_errors_out = rrddim_add(ifm->st_errors, "outbound", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
502 + rrdlabels_add(ifm->st_errors->rrdlabels, "device", ifa->ifa_name, RRDLABEL_SRC_AUTO);
503 }
504
505 rrddim_set_by_pointer(ifm->st_errors, ifm->rd_errors_in, IFA_DATA(ierrors));
@@ -509,7 +512,7 @@ int do_getifaddrs(int update_every, usec_t dt) {
512 ifm->st_drops = rrdset_create_localhost("net_drops",
513 ifa->ifa_name,
514 NULL,
512 - ifa->ifa_name,
515 + "drops",
516 "net.drops",
517 "Interface Drops",
518 "drops/s",
@@ -524,6 +527,7 @@ int do_getifaddrs(int update_every, usec_t dt) {
527 #if __FreeBSD__ >= 11
528 ifm->rd_drops_out = rrddim_add(ifm->st_drops, "outbound", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
529 #endif
530 + rrdlabels_add(ifm->st_drops->rrdlabels, "device", ifa->ifa_name, RRDLABEL_SRC_AUTO);
531 }
532
533 rrddim_set_by_pointer(ifm->st_drops, ifm->rd_drops_in, IFA_DATA(iqdrops));
@@ -538,7 +542,7 @@ int do_getifaddrs(int update_every, usec_t dt) {
542 ifm->st_events = rrdset_create_localhost("net_events",
543 ifa->ifa_name,
544 NULL,
541 - ifa->ifa_name,
545 + "errors",
546 "net.events",
547 "Network Interface Events",
548 "events/s",
@@ -551,6 +555,7 @@ int do_getifaddrs(int update_every, usec_t dt) {
555
556 ifm->rd_events_coll = rrddim_add(ifm->st_events, "collisions", NULL, -1, 1,
557 RRD_ALGORITHM_INCREMENTAL);
558 + rrdlabels_add(ifm->st_events->rrdlabels, "device", ifa->ifa_name, RRDLABEL_SRC_AUTO);
559 }
560
561 rrddim_set_by_pointer(ifm->st_events, ifm->rd_events_coll, IFA_DATA(collisions));
src/collectors/freebsd.plugin/freebsd_getmntinfo.c
+8 -10
@@ -174,8 +174,6 @@ int do_getmntinfo(int update_every, usec_t dt) {
174 mount_points_found = 0;
175
176 for (i = 0; i < mntsize; i++) {
177 - char title[4096 + 1];
178 -
177 struct mount_point *m = get_mount_point(mntbuf[i].f_mntonname);
178 m->updated = 1;
179 mount_points_found++;
@@ -214,14 +212,12 @@ int do_getmntinfo(int update_every, usec_t dt) {
212
213 if (m->do_space == CONFIG_BOOLEAN_YES || m->do_space == CONFIG_BOOLEAN_AUTO) {
214 if (unlikely(!m->st_space)) {
217 - snprintfz(title, sizeof(title) - 1, "Disk Space Usage for %s [%s]",
218 - mntbuf[i].f_mntonname, mntbuf[i].f_mntfromname);
215 m->st_space = rrdset_create_localhost("disk_space",
216 mntbuf[i].f_mntonname,
217 NULL,
222 - mntbuf[i].f_mntonname,
218 + "used space",
219 "disk.space",
224 - title,
220 + "Disk Space Usage",
221 "GiB",
222 "freebsd.plugin",
223 "getmntinfo",
@@ -236,6 +232,8 @@ int do_getmntinfo(int update_every, usec_t dt) {
232 mntbuf[i].f_bsize, GIGA_FACTOR, RRD_ALGORITHM_ABSOLUTE);
233 m->rd_space_reserved = rrddim_add(m->st_space, "reserved_for_root", "reserved for root",
234 mntbuf[i].f_bsize, GIGA_FACTOR, RRD_ALGORITHM_ABSOLUTE);
235 + rrdlabels_add(m->st_space->rrdlabels, "mount_point", mntbuf[i].f_mntonname, RRDLABEL_SRC_AUTO);
236 + rrdlabels_add(m->st_space->rrdlabels, "filesystem", mntbuf[i].f_fstypename, RRDLABEL_SRC_AUTO);
237 }
238
239 rrddim_set_by_pointer(m->st_space, m->rd_space_avail, (collected_number) mntbuf[i].f_bavail);
@@ -250,14 +248,12 @@ int do_getmntinfo(int update_every, usec_t dt) {
248
249 if (m->do_inodes == CONFIG_BOOLEAN_YES || m->do_inodes == CONFIG_BOOLEAN_AUTO) {
250 if (unlikely(!m->st_inodes)) {
253 - snprintfz(title, sizeof(title) - 1, "Disk Files (inodes) Usage for %s [%s]",
254 - mntbuf[i].f_mntonname, mntbuf[i].f_mntfromname);
251 m->st_inodes = rrdset_create_localhost("disk_inodes",
252 mntbuf[i].f_mntonname,
253 NULL,
258 - mntbuf[i].f_mntonname,
254 + "used inodes",
255 "disk.inodes",
260 - title,
256 + "Disk Files (inodes) Usage",
257 "inodes",
258 "freebsd.plugin",
259 "getmntinfo",
@@ -268,6 +264,8 @@ int do_getmntinfo(int update_every, usec_t dt) {
264
265 m->rd_inodes_avail = rrddim_add(m->st_inodes, "avail", NULL, 1, 1, RRD_ALGORITHM_ABSOLUTE);
266 m->rd_inodes_used = rrddim_add(m->st_inodes, "used", NULL, 1, 1, RRD_ALGORITHM_ABSOLUTE);
267 + rrdlabels_add(m->st_inodes->rrdlabels, "mount_point", mntbuf[i].f_mntonname, RRDLABEL_SRC_AUTO);
268 + rrdlabels_add(m->st_inodes->rrdlabels, "filesystem", mntbuf[i].f_fstypename, RRDLABEL_SRC_AUTO);
269 }
270
271 rrddim_set_by_pointer(m->st_inodes, m->rd_inodes_avail, (collected_number) mntbuf[i].f_ffree);