mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-07-25 12:15:32 +03:00
32 lines
795 B
Diff
32 lines
795 B
Diff
--- a/src/libs/zbxsysinfo/linux/cpu.c
|
|
+++ b/src/libs/zbxsysinfo/linux/cpu.c
|
|
@@ -21,6 +21,28 @@
|
|
#include "sysinfo.h"
|
|
#include "stats.h"
|
|
|
|
+#ifndef HAVE_GETLOADAVG
|
|
+/*! \brief Alternative method of getting load avg on Linux only */
|
|
+int getloadavg(double *list, int nelem)
|
|
+{
|
|
+ FILE *LOADAVG;
|
|
+ double avg[3] = { 0.0, 0.0, 0.0 };
|
|
+ int i, res = -1;
|
|
+
|
|
+ if ((LOADAVG = fopen("/proc/loadavg", "r"))) {
|
|
+ fscanf(LOADAVG, "%lf %lf %lf", &avg[0], &avg[1], &avg[2]);
|
|
+ res = 0;
|
|
+ fclose(LOADAVG);
|
|
+ }
|
|
+
|
|
+ for (i = 0; (i < nelem) && (i < 3); i++) {
|
|
+ list[i] = avg[i];
|
|
+ }
|
|
+
|
|
+ return res;
|
|
+}
|
|
+#endif
|
|
+
|
|
int SYSTEM_CPU_NUM(AGENT_REQUEST *request, AGENT_RESULT *result)
|
|
{
|
|
char *type;
|
|
|