projects
/
collectd.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
a146d75
)
Avoid using sysctl on linux
author
Zebity Spring
<zebity@yahoo.com>
Fri, 8 Nov 2019 13:04:07 +0000
(
00:04
+1100)
committer
Zebity Spring
<zebity@yahoo.com>
Fri, 8 Nov 2019 13:04:07 +0000
(
00:04
+1100)
src/cpu.c
patch
|
blob
|
history
diff --git
a/src/cpu.c
b/src/cpu.c
index
09d60fe
..
92ebfd8
100644
(file)
--- a/
src/cpu.c
+++ b/
src/cpu.c
@@
-58,15
+58,14
@@
#include <sys/sysinfo.h>
#endif /* HAVE_LIBKSTAT */
#include <sys/sysinfo.h>
#endif /* HAVE_LIBKSTAT */
-#if (defined(HAVE_SYSCTL) && HAVE_SYSCTL) || \
- (defined(HAVE_SYSCTLBYNAME) && HAVE_SYSCTLBYNAME)
-#ifdef HAVE_SYS_SYSCTL_H
+#if defined(HAVE_SYSCTL) && defined(HAVE_SYSCTLBYNAME)
+/* Implies BSD variant */
#include <sys/sysctl.h>
#endif
#ifdef HAVE_SYS_DKSTAT_H
#include <sys/sysctl.h>
#endif
#ifdef HAVE_SYS_DKSTAT_H
+/* implies BSD variant */
#include <sys/dkstat.h>
#include <sys/dkstat.h>
-#endif
#if !defined(CP_USER) || !defined(CP_NICE) || !defined(CP_SYS) || \
!defined(CP_INTR) || !defined(CP_IDLE) || !defined(CPUSTATES)
#if !defined(CP_USER) || !defined(CP_NICE) || !defined(CP_SYS) || \
!defined(CP_INTR) || !defined(CP_IDLE) || !defined(CPUSTATES)
@@
-77,18
+76,16
@@
#define CP_IDLE 4
#define CPUSTATES 5
#endif
#define CP_IDLE 4
#define CPUSTATES 5
#endif
-#endif /* HAVE_SYS
CTL || HAVE_SYSCTLBYNAME
*/
+#endif /* HAVE_SYS
_DKSTAT_H
*/
-#if HAVE_SYSCTL
+#define CAN_USE_SYSCTL 0
+#if defined(HAVE_SYSCTL) && defined(HAVE_SYSCTLBYNAME)
+/* Implies BSD variant */
#if defined(CTL_HW) && defined(HW_NCPU) && defined(CTL_KERN) && \
defined(KERN_CPTIME) && defined(CPUSTATES)
#define CAN_USE_SYSCTL 1
#if defined(CTL_HW) && defined(HW_NCPU) && defined(CTL_KERN) && \
defined(KERN_CPTIME) && defined(CPUSTATES)
#define CAN_USE_SYSCTL 1
-#else
-#define CAN_USE_SYSCTL 0
-#endif
-#else
-#define CAN_USE_SYSCTL 0
#endif
#endif
+#endif /* HAVE_SYSCTL_H && HAVE_SYSCTLBYNAME */
#define COLLECTD_CPU_STATE_USER 0
#define COLLECTD_CPU_STATE_SYSTEM 1
#define COLLECTD_CPU_STATE_USER 0
#define COLLECTD_CPU_STATE_SYSTEM 1
@@
-146,10
+143,12
@@
static int numcpu;
/* #endif HAVE_LIBKSTAT */
#elif CAN_USE_SYSCTL
/* #endif HAVE_LIBKSTAT */
#elif CAN_USE_SYSCTL
+/* Only possible for BSD variant */
static int numcpu;
/* #endif CAN_USE_SYSCTL */
#elif defined(HAVE_SYSCTLBYNAME)
static int numcpu;
/* #endif CAN_USE_SYSCTL */
#elif defined(HAVE_SYSCTLBYNAME)
+/* Implies BSD variant */
static int numcpu;
#ifdef HAVE_SYSCTL_KERN_CP_TIMES
static int maxcpu;
static int numcpu;
#ifdef HAVE_SYSCTL_KERN_CP_TIMES
static int maxcpu;
@@
-270,6
+269,7
@@
static int init(void) {
/* #endif HAVE_LIBKSTAT */
#elif CAN_USE_SYSCTL
/* #endif HAVE_LIBKSTAT */
#elif CAN_USE_SYSCTL
+ /* Only on BSD variant */
size_t numcpu_size;
int mib[2] = {CTL_HW, HW_NCPU};
int status;
size_t numcpu_size;
int mib[2] = {CTL_HW, HW_NCPU};
int status;
@@
-285,6
+285,7
@@
static int init(void) {
/* #endif CAN_USE_SYSCTL */
#elif defined(HAVE_SYSCTLBYNAME)
/* #endif CAN_USE_SYSCTL */
#elif defined(HAVE_SYSCTLBYNAME)
+ /* Only on BSD varient */
size_t numcpu_size;
numcpu_size = sizeof(numcpu);
size_t numcpu_size;
numcpu_size = sizeof(numcpu);
@@
-732,6
+733,7
@@
static int cpu_read(void) {
/* }}} #endif defined(HAVE_LIBKSTAT) */
#elif CAN_USE_SYSCTL /* {{{ */
/* }}} #endif defined(HAVE_LIBKSTAT) */
#elif CAN_USE_SYSCTL /* {{{ */
+ /* Only on BSD variant */
uint64_t cpuinfo[numcpu][CPUSTATES];
size_t cpuinfo_size;
int status;
uint64_t cpuinfo[numcpu][CPUSTATES];
size_t cpuinfo_size;
int status;
@@
-790,6
+792,7
@@
static int cpu_read(void) {
#elif defined(HAVE_SYSCTLBYNAME) && defined(HAVE_SYSCTL_KERN_CP_TIMES) /* {{{ \
*/
#elif defined(HAVE_SYSCTLBYNAME) && defined(HAVE_SYSCTL_KERN_CP_TIMES) /* {{{ \
*/
+ /* Only on BSD variant */
long cpuinfo[maxcpu][CPUSTATES];
size_t cpuinfo_size;
long cpuinfo[maxcpu][CPUSTATES];
size_t cpuinfo_size;
@@
-812,6
+815,7
@@
static int cpu_read(void) {
/* }}} #endif HAVE_SYSCTL_KERN_CP_TIMES */
#elif defined(HAVE_SYSCTLBYNAME) /* {{{ */
/* }}} #endif HAVE_SYSCTL_KERN_CP_TIMES */
#elif defined(HAVE_SYSCTLBYNAME) /* {{{ */
+ /* Only on BSD variant */
long cpuinfo[CPUSTATES];
size_t cpuinfo_size;
long cpuinfo[CPUSTATES];
size_t cpuinfo_size;