From 7a8c01f304b673dd89923e05d242aebb9cd0a500 Mon Sep 17 00:00:00 2001 From: Benny Baumann Date: Sun, 5 Feb 2023 02:40:42 +0100 Subject: Implement File Descriptor Meter support for DragonflyBSD/FreeBSD/NetBSD --- freebsd/Platform.c | 7 +++++++ freebsd/Platform.h | 2 ++ 2 files changed, 9 insertions(+) (limited to 'freebsd') diff --git a/freebsd/Platform.c b/freebsd/Platform.c index 646163af..061de70b 100644 --- a/freebsd/Platform.c +++ b/freebsd/Platform.c @@ -31,6 +31,7 @@ in the source distribution for its full text. #include "DateMeter.h" #include "DateTimeMeter.h" #include "DiskIOMeter.h" +#include "FileDescriptorMeter.h" #include "HostnameMeter.h" #include "LoadAverageMeter.h" #include "Macros.h" @@ -47,6 +48,7 @@ in the source distribution for its full text. #include "XUtils.h" #include "freebsd/FreeBSDProcess.h" #include "freebsd/FreeBSDProcessList.h" +#include "generic/fdstat_sysctl.h" #include "zfs/ZfsArcMeter.h" #include "zfs/ZfsCompressedArcMeter.h" @@ -130,6 +132,7 @@ const MeterClass* const Platform_meterTypes[] = { &ZfsArcMeter_class, &ZfsCompressedArcMeter_class, &DiskIOMeter_class, + &FileDescriptorMeter_class, &NetworkIOMeter_class, NULL }; @@ -292,6 +295,10 @@ FileLocks_ProcessData* Platform_getProcessLocks(pid_t pid) { return NULL; } +void Platform_getFileDescriptors(double* used, double* max) { + Generic_getFileDescriptors_sysctl(used, max); +} + bool Platform_getDiskIO(DiskIOData* data) { if (devstat_checkversion(NULL) < 0) diff --git a/freebsd/Platform.h b/freebsd/Platform.h index 51269c09..849f7ddf 100644 --- a/freebsd/Platform.h +++ b/freebsd/Platform.h @@ -61,6 +61,8 @@ char* Platform_getProcessEnv(pid_t pid); FileLocks_ProcessData* Platform_getProcessLocks(pid_t pid); +void Platform_getFileDescriptors(double* used, double* max); + bool Platform_getDiskIO(DiskIOData* data); bool Platform_getNetworkIO(NetworkIOData* data); -- cgit v1.2.3