0
0
Fork 0
mirror of https://github.com/netdata/netdata.git synced 2025-05-02 08:20:10 +00:00

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

This commit is contained in:
Ilya Mashchenko 2025-03-14 23:59:03 +02:00 committed by GitHub
parent fc83a2e9e7
commit a02c0ceb0b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 34 additions and 23 deletions

View file

@ -352,7 +352,7 @@ int do_kern_devstat(int update_every, usec_t dt) {
dm->st_io = rrdset_create_localhost("disk", dm->st_io = rrdset_create_localhost("disk",
disk, disk,
NULL, NULL,
disk, "io",
"disk.io", "disk.io",
"Disk I/O Bandwidth", "Disk I/O Bandwidth",
"KiB/s", "KiB/s",
@ -369,6 +369,7 @@ int do_kern_devstat(int update_every, usec_t dt) {
RRD_ALGORITHM_INCREMENTAL); RRD_ALGORITHM_INCREMENTAL);
dm->rd_io_free = rrddim_add(dm->st_io, "frees", NULL, -1, KILO_FACTOR, dm->rd_io_free = rrddim_add(dm->st_io, "frees", NULL, -1, KILO_FACTOR,
RRD_ALGORITHM_INCREMENTAL); RRD_ALGORITHM_INCREMENTAL);
rrdlabels_add(dm->st_io->rrdlabels, "device", disk, RRDLABEL_SRC_AUTO);
} }
rrddim_set_by_pointer(dm->st_io, dm->rd_io_in, dstat[i].bytes[DEVSTAT_READ]); 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) {
dm->st_ops = rrdset_create_localhost("disk_ops", dm->st_ops = rrdset_create_localhost("disk_ops",
disk, disk,
NULL, NULL,
disk, "ops",
"disk.ops", "disk.ops",
"Disk Completed I/O Operations", "Disk Completed I/O Operations",
"operations/s", "operations/s",
@ -401,6 +402,7 @@ int do_kern_devstat(int update_every, usec_t dt) {
RRD_ALGORITHM_INCREMENTAL); RRD_ALGORITHM_INCREMENTAL);
dm->rd_ops_free = rrddim_add(dm->st_ops, "frees", NULL, -1, 1, dm->rd_ops_free = rrddim_add(dm->st_ops, "frees", NULL, -1, 1,
RRD_ALGORITHM_INCREMENTAL); RRD_ALGORITHM_INCREMENTAL);
rrdlabels_add(dm->st_ops->rrdlabels, "device", disk, RRDLABEL_SRC_AUTO);
} }
rrddim_set_by_pointer(dm->st_ops, dm->rd_ops_in, dstat[i].operations[DEVSTAT_READ]); 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) {
dm->st_qops = rrdset_create_localhost("disk_qops", dm->st_qops = rrdset_create_localhost("disk_qops",
disk, disk,
NULL, NULL,
disk, "ops",
"disk.qops", "disk.qops",
"Disk Current I/O Operations", "Disk Current I/O Operations",
"operations", "operations",
@ -427,6 +429,7 @@ int do_kern_devstat(int update_every, usec_t dt) {
); );
dm->rd_qops = rrddim_add(dm->st_qops, "operations", NULL, 1, 1, RRD_ALGORITHM_ABSOLUTE); dm->rd_qops = rrddim_add(dm->st_qops, "operations", NULL, 1, 1, RRD_ALGORITHM_ABSOLUTE);
rrdlabels_add(dm->st_qops->rrdlabels, "device", disk, RRDLABEL_SRC_AUTO);
} }
rrddim_set_by_pointer(dm->st_qops, dm->rd_qops, dstat[i].start_count - dstat[i].end_count); 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) {
dm->st_util = rrdset_create_localhost("disk_util", dm->st_util = rrdset_create_localhost("disk_util",
disk, disk,
NULL, NULL,
disk, "utilization",
"disk.util", "disk.util",
"Disk Utilization Time", "Disk Utilization Time",
"% of time working", "% of time working",
@ -451,6 +454,7 @@ int do_kern_devstat(int update_every, usec_t dt) {
dm->rd_util = rrddim_add(dm->st_util, "utilization", NULL, 1, 10, dm->rd_util = rrddim_add(dm->st_util, "utilization", NULL, 1, 10,
RRD_ALGORITHM_INCREMENTAL); RRD_ALGORITHM_INCREMENTAL);
rrdlabels_add(dm->st_util->rrdlabels, "device", disk, RRDLABEL_SRC_AUTO);
} }
rrddim_set_by_pointer(dm->st_util, dm->rd_util, cur_dstat.busy_time_ms); 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) {
dm->st_iotime = rrdset_create_localhost("disk_iotime", dm->st_iotime = rrdset_create_localhost("disk_iotime",
disk, disk,
NULL, NULL,
disk, "io",
"disk.iotime", "disk.iotime",
"Disk Total I/O Time", "Disk Total I/O Time",
"milliseconds/s", "milliseconds/s",
@ -481,6 +485,7 @@ int do_kern_devstat(int update_every, usec_t dt) {
RRD_ALGORITHM_INCREMENTAL); RRD_ALGORITHM_INCREMENTAL);
dm->rd_iotime_free = rrddim_add(dm->st_iotime, "frees", NULL, -1, 1, dm->rd_iotime_free = rrddim_add(dm->st_iotime, "frees", NULL, -1, 1,
RRD_ALGORITHM_INCREMENTAL); RRD_ALGORITHM_INCREMENTAL);
rrdlabels_add(dm->st_iotime->rrdlabels, "device", disk, RRDLABEL_SRC_AUTO);
} }
rrddim_set_by_pointer(dm->st_iotime, dm->rd_iotime_in, cur_dstat.duration_read_ms); 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) {
dm->st_await = rrdset_create_localhost("disk_await", dm->st_await = rrdset_create_localhost("disk_await",
disk, disk,
NULL, NULL,
disk, "io",
"disk.await", "disk.await",
"Average Completed I/O Operation Time", "Average Completed I/O Operation Time",
"milliseconds/operation", "milliseconds/operation",
@ -518,6 +523,7 @@ int do_kern_devstat(int update_every, usec_t dt) {
RRD_ALGORITHM_ABSOLUTE); RRD_ALGORITHM_ABSOLUTE);
dm->rd_await_free = rrddim_add(dm->st_await, "frees", NULL, -1, 1, dm->rd_await_free = rrddim_add(dm->st_await, "frees", NULL, -1, 1,
RRD_ALGORITHM_ABSOLUTE); RRD_ALGORITHM_ABSOLUTE);
rrdlabels_add(dm->st_await->rrdlabels, "device", disk, RRDLABEL_SRC_AUTO);
} }
rrddim_set_by_pointer(dm->st_await, dm->rd_await_in, 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) {
dm->st_avagsz = rrdset_create_localhost("disk_avgsz", dm->st_avagsz = rrdset_create_localhost("disk_avgsz",
disk, disk,
NULL, NULL,
disk, "io",
"disk.avgsz", "disk.avgsz",
"Average Completed I/O Operation Bandwidth", "Average Completed I/O Operation Bandwidth",
"KiB/operation", "KiB/operation",
@ -573,6 +579,7 @@ int do_kern_devstat(int update_every, usec_t dt) {
RRD_ALGORITHM_ABSOLUTE); RRD_ALGORITHM_ABSOLUTE);
dm->rd_avagsz_free = rrddim_add(dm->st_avagsz, "frees", NULL, -1, KILO_FACTOR, dm->rd_avagsz_free = rrddim_add(dm->st_avagsz, "frees", NULL, -1, KILO_FACTOR,
RRD_ALGORITHM_ABSOLUTE); RRD_ALGORITHM_ABSOLUTE);
rrdlabels_add(dm->st_avagsz->rrdlabels, "device", disk, RRDLABEL_SRC_AUTO);
} }
rrddim_set_by_pointer(dm->st_avagsz, dm->rd_avagsz_in, 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) {
dm->st_svctm = rrdset_create_localhost("disk_svctm", dm->st_svctm = rrdset_create_localhost("disk_svctm",
disk, disk,
NULL, NULL,
disk, "ops",
"disk.svctm", "disk.svctm",
"Average Service Time", "Average Service Time",
"milliseconds/operation", "milliseconds/operation",
@ -617,6 +624,7 @@ int do_kern_devstat(int update_every, usec_t dt) {
dm->rd_svctm = rrddim_add(dm->st_svctm, "svctm", NULL, 1, 1, dm->rd_svctm = rrddim_add(dm->st_svctm, "svctm", NULL, 1, 1,
RRD_ALGORITHM_ABSOLUTE); RRD_ALGORITHM_ABSOLUTE);
rrdlabels_add(dm->st_svctm->rrdlabels, "device", disk, RRDLABEL_SRC_AUTO);
} }
rrddim_set_by_pointer(dm->st_svctm, dm->rd_svctm, rrddim_set_by_pointer(dm->st_svctm, dm->rd_svctm,

View file

@ -426,7 +426,7 @@ int do_getifaddrs(int update_every, usec_t dt) {
ifm->st_bandwidth = rrdset_create_localhost("net", ifm->st_bandwidth = rrdset_create_localhost("net",
ifa->ifa_name, ifa->ifa_name,
NULL, NULL,
ifa->ifa_name, "traffik",
"net.net", "net.net",
"Bandwidth", "Bandwidth",
"kilobits/s", "kilobits/s",
@ -439,6 +439,7 @@ int do_getifaddrs(int update_every, usec_t dt) {
ifm->rd_bandwidth_in = rrddim_add(ifm->st_bandwidth, "received", NULL, 8, BITS_IN_A_KILOBIT, RRD_ALGORITHM_INCREMENTAL); ifm->rd_bandwidth_in = rrddim_add(ifm->st_bandwidth, "received", NULL, 8, BITS_IN_A_KILOBIT, RRD_ALGORITHM_INCREMENTAL);
ifm->rd_bandwidth_out = rrddim_add(ifm->st_bandwidth, "sent", NULL, -8, BITS_IN_A_KILOBIT, RRD_ALGORITHM_INCREMENTAL); ifm->rd_bandwidth_out = rrddim_add(ifm->st_bandwidth, "sent", NULL, -8, BITS_IN_A_KILOBIT, RRD_ALGORITHM_INCREMENTAL);
rrdlabels_add(ifm->st_bandwidth->rrdlabels, "device", ifa->ifa_name, RRDLABEL_SRC_AUTO);
} }
rrddim_set_by_pointer(ifm->st_bandwidth, ifm->rd_bandwidth_in, IFA_DATA(ibytes)); 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) {
ifm->st_packets = rrdset_create_localhost("net_packets", ifm->st_packets = rrdset_create_localhost("net_packets",
ifa->ifa_name, ifa->ifa_name,
NULL, NULL,
ifa->ifa_name, "packets",
"net.packets", "net.packets",
"Packets", "Packets",
"packets/s", "packets/s",
@ -470,6 +471,7 @@ int do_getifaddrs(int update_every, usec_t dt) {
RRD_ALGORITHM_INCREMENTAL); RRD_ALGORITHM_INCREMENTAL);
ifm->rd_packets_m_out = rrddim_add(ifm->st_packets, "multicast_sent", NULL, -1, 1, ifm->rd_packets_m_out = rrddim_add(ifm->st_packets, "multicast_sent", NULL, -1, 1,
RRD_ALGORITHM_INCREMENTAL); RRD_ALGORITHM_INCREMENTAL);
rrdlabels_add(ifm->st_packets->rrdlabels, "device", ifa->ifa_name, RRDLABEL_SRC_AUTO);
} }
rrddim_set_by_pointer(ifm->st_packets, ifm->rd_packets_in, IFA_DATA(ipackets)); 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) {
ifm->st_errors = rrdset_create_localhost("net_errors", ifm->st_errors = rrdset_create_localhost("net_errors",
ifa->ifa_name, ifa->ifa_name,
NULL, NULL,
ifa->ifa_name, "errors",
"net.errors", "net.errors",
"Interface Errors", "Interface Errors",
"errors/s", "errors/s",
@ -497,6 +499,7 @@ int do_getifaddrs(int update_every, usec_t dt) {
ifm->rd_errors_in = rrddim_add(ifm->st_errors, "inbound", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL); ifm->rd_errors_in = rrddim_add(ifm->st_errors, "inbound", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
ifm->rd_errors_out = rrddim_add(ifm->st_errors, "outbound", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL); ifm->rd_errors_out = rrddim_add(ifm->st_errors, "outbound", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
rrdlabels_add(ifm->st_errors->rrdlabels, "device", ifa->ifa_name, RRDLABEL_SRC_AUTO);
} }
rrddim_set_by_pointer(ifm->st_errors, ifm->rd_errors_in, IFA_DATA(ierrors)); 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) {
ifm->st_drops = rrdset_create_localhost("net_drops", ifm->st_drops = rrdset_create_localhost("net_drops",
ifa->ifa_name, ifa->ifa_name,
NULL, NULL,
ifa->ifa_name, "drops",
"net.drops", "net.drops",
"Interface Drops", "Interface Drops",
"drops/s", "drops/s",
@ -524,6 +527,7 @@ int do_getifaddrs(int update_every, usec_t dt) {
#if __FreeBSD__ >= 11 #if __FreeBSD__ >= 11
ifm->rd_drops_out = rrddim_add(ifm->st_drops, "outbound", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL); ifm->rd_drops_out = rrddim_add(ifm->st_drops, "outbound", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
#endif #endif
rrdlabels_add(ifm->st_drops->rrdlabels, "device", ifa->ifa_name, RRDLABEL_SRC_AUTO);
} }
rrddim_set_by_pointer(ifm->st_drops, ifm->rd_drops_in, IFA_DATA(iqdrops)); 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) {
ifm->st_events = rrdset_create_localhost("net_events", ifm->st_events = rrdset_create_localhost("net_events",
ifa->ifa_name, ifa->ifa_name,
NULL, NULL,
ifa->ifa_name, "errors",
"net.events", "net.events",
"Network Interface Events", "Network Interface Events",
"events/s", "events/s",
@ -551,6 +555,7 @@ int do_getifaddrs(int update_every, usec_t dt) {
ifm->rd_events_coll = rrddim_add(ifm->st_events, "collisions", NULL, -1, 1, ifm->rd_events_coll = rrddim_add(ifm->st_events, "collisions", NULL, -1, 1,
RRD_ALGORITHM_INCREMENTAL); RRD_ALGORITHM_INCREMENTAL);
rrdlabels_add(ifm->st_events->rrdlabels, "device", ifa->ifa_name, RRDLABEL_SRC_AUTO);
} }
rrddim_set_by_pointer(ifm->st_events, ifm->rd_events_coll, IFA_DATA(collisions)); rrddim_set_by_pointer(ifm->st_events, ifm->rd_events_coll, IFA_DATA(collisions));

View file

@ -174,8 +174,6 @@ int do_getmntinfo(int update_every, usec_t dt) {
mount_points_found = 0; mount_points_found = 0;
for (i = 0; i < mntsize; i++) { for (i = 0; i < mntsize; i++) {
char title[4096 + 1];
struct mount_point *m = get_mount_point(mntbuf[i].f_mntonname); struct mount_point *m = get_mount_point(mntbuf[i].f_mntonname);
m->updated = 1; m->updated = 1;
mount_points_found++; mount_points_found++;
@ -214,14 +212,12 @@ int do_getmntinfo(int update_every, usec_t dt) {
if (m->do_space == CONFIG_BOOLEAN_YES || m->do_space == CONFIG_BOOLEAN_AUTO) { if (m->do_space == CONFIG_BOOLEAN_YES || m->do_space == CONFIG_BOOLEAN_AUTO) {
if (unlikely(!m->st_space)) { if (unlikely(!m->st_space)) {
snprintfz(title, sizeof(title) - 1, "Disk Space Usage for %s [%s]",
mntbuf[i].f_mntonname, mntbuf[i].f_mntfromname);
m->st_space = rrdset_create_localhost("disk_space", m->st_space = rrdset_create_localhost("disk_space",
mntbuf[i].f_mntonname, mntbuf[i].f_mntonname,
NULL, NULL,
mntbuf[i].f_mntonname, "used space",
"disk.space", "disk.space",
title, "Disk Space Usage",
"GiB", "GiB",
"freebsd.plugin", "freebsd.plugin",
"getmntinfo", "getmntinfo",
@ -236,6 +232,8 @@ int do_getmntinfo(int update_every, usec_t dt) {
mntbuf[i].f_bsize, GIGA_FACTOR, RRD_ALGORITHM_ABSOLUTE); mntbuf[i].f_bsize, GIGA_FACTOR, RRD_ALGORITHM_ABSOLUTE);
m->rd_space_reserved = rrddim_add(m->st_space, "reserved_for_root", "reserved for root", m->rd_space_reserved = rrddim_add(m->st_space, "reserved_for_root", "reserved for root",
mntbuf[i].f_bsize, GIGA_FACTOR, RRD_ALGORITHM_ABSOLUTE); mntbuf[i].f_bsize, GIGA_FACTOR, RRD_ALGORITHM_ABSOLUTE);
rrdlabels_add(m->st_space->rrdlabels, "mount_point", mntbuf[i].f_mntonname, RRDLABEL_SRC_AUTO);
rrdlabels_add(m->st_space->rrdlabels, "filesystem", mntbuf[i].f_fstypename, RRDLABEL_SRC_AUTO);
} }
rrddim_set_by_pointer(m->st_space, m->rd_space_avail, (collected_number) mntbuf[i].f_bavail); 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) {
if (m->do_inodes == CONFIG_BOOLEAN_YES || m->do_inodes == CONFIG_BOOLEAN_AUTO) { if (m->do_inodes == CONFIG_BOOLEAN_YES || m->do_inodes == CONFIG_BOOLEAN_AUTO) {
if (unlikely(!m->st_inodes)) { if (unlikely(!m->st_inodes)) {
snprintfz(title, sizeof(title) - 1, "Disk Files (inodes) Usage for %s [%s]",
mntbuf[i].f_mntonname, mntbuf[i].f_mntfromname);
m->st_inodes = rrdset_create_localhost("disk_inodes", m->st_inodes = rrdset_create_localhost("disk_inodes",
mntbuf[i].f_mntonname, mntbuf[i].f_mntonname,
NULL, NULL,
mntbuf[i].f_mntonname, "used inodes",
"disk.inodes", "disk.inodes",
title, "Disk Files (inodes) Usage",
"inodes", "inodes",
"freebsd.plugin", "freebsd.plugin",
"getmntinfo", "getmntinfo",
@ -268,6 +264,8 @@ int do_getmntinfo(int update_every, usec_t dt) {
m->rd_inodes_avail = rrddim_add(m->st_inodes, "avail", NULL, 1, 1, RRD_ALGORITHM_ABSOLUTE); m->rd_inodes_avail = rrddim_add(m->st_inodes, "avail", NULL, 1, 1, RRD_ALGORITHM_ABSOLUTE);
m->rd_inodes_used = rrddim_add(m->st_inodes, "used", NULL, 1, 1, RRD_ALGORITHM_ABSOLUTE); m->rd_inodes_used = rrddim_add(m->st_inodes, "used", NULL, 1, 1, RRD_ALGORITHM_ABSOLUTE);
rrdlabels_add(m->st_inodes->rrdlabels, "mount_point", mntbuf[i].f_mntonname, RRDLABEL_SRC_AUTO);
rrdlabels_add(m->st_inodes->rrdlabels, "filesystem", mntbuf[i].f_fstypename, RRDLABEL_SRC_AUTO);
} }
rrddim_set_by_pointer(m->st_inodes, m->rd_inodes_avail, (collected_number) mntbuf[i].f_ffree); rrddim_set_by_pointer(m->st_inodes, m->rd_inodes_avail, (collected_number) mntbuf[i].f_ffree);