summaryrefslogtreecommitdiffstats
path: root/freebsd
diff options
context:
space:
mode:
authorChristian Göttsche <cgzones@googlemail.com>2020-10-20 21:40:51 +0200
committercgzones <cgzones@googlemail.com>2020-10-26 19:17:14 +0100
commitf757810f489b12d2a98dcb09751003f4ed002538 (patch)
tree4558520309803981d20d8c0aa6ab100211d9bd48 /freebsd
parent167adc0a2b4a940cae6c9eb71f3185b5d2d3b4fa (diff)
Improve handling of no data in Disk and Network IO Meters
Diffstat (limited to 'freebsd')
-rw-r--r--freebsd/Platform.c18
-rw-r--r--freebsd/Platform.h6
2 files changed, 13 insertions, 11 deletions
diff --git a/freebsd/Platform.c b/freebsd/Platform.c
index b03c58be..465781a8 100644
--- a/freebsd/Platform.c
+++ b/freebsd/Platform.c
@@ -241,12 +241,15 @@ char* Platform_getProcessEnv(pid_t pid) {
return env;
}
-void Platform_getDiskIO(unsigned long int *bytesRead, unsigned long int *bytesWrite, unsigned long int *msTimeSpend) {
+bool Platform_getDiskIO(unsigned long int *bytesRead,
+ unsigned long int *bytesWrite,
+ unsigned long int *msTimeSpend) {
// TODO
*bytesRead = *bytesWrite = *msTimeSpend = 0;
+ return false;
}
-void Platform_getNetworkIO(unsigned long int *bytesReceived,
+bool Platform_getNetworkIO(unsigned long int *bytesReceived,
unsigned long int *packetsReceived,
unsigned long int *bytesTransmitted,
unsigned long int *packetsTransmitted) {
@@ -258,13 +261,9 @@ void Platform_getNetworkIO(unsigned long int *bytesReceived,
const int countMib[] = { CTL_NET, PF_LINK, NETLINK_GENERIC, IFMIB_SYSTEM, IFMIB_IFCOUNT };
r = sysctl(countMib, ARRAYSIZE(countMib), &count, &countLen, NULL, 0);
- if (r < 0) {
- *bytesReceived = 0;
- *packetsReceived = 0;
- *bytesTransmitted = 0;
- *packetsTransmitted = 0;
- return;
- }
+ if (r < 0)
+ return false;
+
unsigned long int bytesReceivedSum = 0, packetsReceivedSum = 0, bytesTransmittedSum = 0, packetsTransmittedSum = 0;
@@ -291,4 +290,5 @@ void Platform_getNetworkIO(unsigned long int *bytesReceived,
*packetsReceived = packetsReceivedSum;
*bytesTransmitted = bytesTransmittedSum;
*packetsTransmitted = packetsTransmittedSum;
+ return true;
}
diff --git a/freebsd/Platform.h b/freebsd/Platform.h
index c5cf659f..40fb2d97 100644
--- a/freebsd/Platform.h
+++ b/freebsd/Platform.h
@@ -43,9 +43,11 @@ void Platform_setZfsCompressedArcValues(Meter* this);
char* Platform_getProcessEnv(pid_t pid);
-void Platform_getDiskIO(unsigned long int *bytesRead, unsigned long int *bytesWrite, unsigned long int *msTimeSpend);
+bool Platform_getDiskIO(unsigned long int *bytesRead,
+ unsigned long int *bytesWrite,
+ unsigned long int *msTimeSpend);
-void Platform_getNetworkIO(unsigned long int *bytesReceived,
+bool Platform_getNetworkIO(unsigned long int *bytesReceived,
unsigned long int *packetsReceived,
unsigned long int *bytesTransmitted,
unsigned long int *packetsTransmitted);

© 2014-2024 Faster IT GmbH | imprint | privacy policy