summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/libs/zbxsysinfo/common/net.c2
-rw-r--r--src/libs/zbxsysinfo/linux/cpu.c121
-rw-r--r--src/libs/zbxsysinfo/openbsd/proc.c28
3 files changed, 68 insertions, 83 deletions
diff --git a/src/libs/zbxsysinfo/common/net.c b/src/libs/zbxsysinfo/common/net.c
index 5d3c7708..0dd93dea 100644
--- a/src/libs/zbxsysinfo/common/net.c
+++ b/src/libs/zbxsysinfo/common/net.c
@@ -205,8 +205,6 @@ int CHECK_DNS(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *
#else
unsigned char respbuf[NS_PACKETSZ];
#endif
- char buf[MAX_STRING_LEN];
- char data[MAX_STRING_LEN];
assert(result);
diff --git a/src/libs/zbxsysinfo/linux/cpu.c b/src/libs/zbxsysinfo/linux/cpu.c
index 54858a92..d77d1e69 100644
--- a/src/libs/zbxsysinfo/linux/cpu.c
+++ b/src/libs/zbxsysinfo/linux/cpu.c
@@ -25,42 +25,35 @@
int SYSTEM_CPU_NUM(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result)
{
char mode[128];
- int sysinfo_name = -1;
+ int sysinfo_name;
long ncpu = 0;
-
- assert(result);
- init_result(result);
-
- if(num_param(param) > 1)
- {
- return SYSINFO_RET_FAIL;
- }
-
- if(get_param(param, 1, mode, sizeof(mode)) != 0)
- {
- mode[0] = '\0';
- }
- if(mode[0] == '\0')
- {
- /* default parameter */
+ assert(result);
+
+ init_result(result);
+
+ if (num_param(param) > 1)
+ return SYSINFO_RET_FAIL;
+
+ if (0 != get_param(param, 1, mode, sizeof(mode)))
+ *mode = '\0';
+
+ /* default parameter */
+ if (*mode == '\0')
zbx_snprintf(mode, sizeof(mode), "online");
- }
- if(0 == strncmp(mode, "online", sizeof(mode)))
- {
+ if (0 == strncmp(mode, "online", sizeof(mode)))
sysinfo_name = _SC_NPROCESSORS_ONLN;
- }
else if(0 == strncmp(mode, "max", sizeof(mode)))
- {
sysinfo_name = _SC_NPROCESSORS_CONF;
- }
+ else
+ return SYSINFO_RET_FAIL;
- if ( -1 == sysinfo_name || (-1 == (ncpu = sysconf(sysinfo_name)) && EINVAL == errno) )
+ if (-1 == (ncpu = sysconf(sysinfo_name)) && EINVAL == errno)
return SYSINFO_RET_FAIL;
SET_UI64_RESULT(result, ncpu);
-
+
return SYSINFO_RET_OK;
}
@@ -72,19 +65,19 @@ int SYSTEM_CPU_UTIL(const char *cmd, const char *param, unsigned flags, AGENT_RE
int cpu_num = 0;
- assert(result);
+ assert(result);
- init_result(result);
+ init_result(result);
- if(num_param(param) > 3)
- {
- return SYSINFO_RET_FAIL;
- }
+ if(num_param(param) > 3)
+ {
+ return SYSINFO_RET_FAIL;
+ }
- if(get_param(param, 1, cpuname, sizeof(cpuname)) != 0)
- {
+ if(get_param(param, 1, cpuname, sizeof(cpuname)) != 0)
+ {
cpuname[0] = '\0';
- }
+ }
if(cpuname[0] == '\0')
{
@@ -93,21 +86,21 @@ int SYSTEM_CPU_UTIL(const char *cmd, const char *param, unsigned flags, AGENT_RE
}
if(get_param(param, 2, type, sizeof(type)) != 0)
- {
- type[0] = '\0';
- }
- if(type[0] == '\0')
+ {
+ type[0] = '\0';
+ }
+ if(type[0] == '\0')
{
/* default parameter */
zbx_snprintf(type, sizeof(type), "user");
}
if(get_param(param, 3, mode, sizeof(mode)) != 0)
- {
- mode[0] = '\0';
- }
+ {
+ mode[0] = '\0';
+ }
- if(mode[0] == '\0')
+ if(mode[0] == '\0')
{
/* default parameter */
zbx_snprintf(mode, sizeof(mode), "avg1");
@@ -175,7 +168,7 @@ int SYSTEM_CPU_LOAD1(const char *cmd, const char *param, unsigned flags, AGENT_R
assert(result);
- init_result(result);
+ init_result(result);
if(getloadavg(load, 3))
{
@@ -194,7 +187,7 @@ int SYSTEM_CPU_LOAD5(const char *cmd, const char *param, unsigned flags, AGENT_R
assert(result);
- init_result(result);
+ init_result(result);
if(getloadavg(load, 3))
{
@@ -213,7 +206,7 @@ int SYSTEM_CPU_LOAD15(const char *cmd, const char *param, unsigned flags, AGENT_
assert(result);
- init_result(result);
+ init_result(result);
if(getloadavg(load, 3))
{
@@ -248,19 +241,19 @@ CPU_FNCLIST
char mode[MAX_STRING_LEN];
int i;
- assert(result);
+ assert(result);
- init_result(result);
+ init_result(result);
- if(num_param(param) > 2)
- {
- return SYSINFO_RET_FAIL;
- }
-
- if(get_param(param, 1, cpuname, sizeof(cpuname)) != 0)
- {
- return SYSINFO_RET_FAIL;
- }
+ if(num_param(param) > 2)
+ {
+ return SYSINFO_RET_FAIL;
+ }
+
+ if(get_param(param, 1, cpuname, sizeof(cpuname)) != 0)
+ {
+ return SYSINFO_RET_FAIL;
+ }
if(cpuname[0] == '\0')
{
/* default parameter */
@@ -272,10 +265,10 @@ CPU_FNCLIST
}
if(get_param(param, 2, mode, sizeof(mode)) != 0)
- {
- mode[0] = '\0';
- }
- if(mode[0] == '\0')
+ {
+ mode[0] = '\0';
+ }
+ if(mode[0] == '\0')
{
/* default parameter */
zbx_snprintf(mode, sizeof(mode), "avg1");
@@ -293,9 +286,9 @@ CPU_FNCLIST
int SYSTEM_CPU_SWITCHES(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result)
{
- assert(result);
+ assert(result);
- init_result(result);
+ init_result(result);
return SYSINFO_RET_FAIL;
}
@@ -310,9 +303,9 @@ int SYSTEM_CPU_INTR(const char *cmd, const char *param, unsigned flags, AGEN
FILE *f;
- assert(result);
+ assert(result);
- init_result(result);
+ init_result(result);
if(NULL != ( f = fopen("/proc/stat","r") ))
{
diff --git a/src/libs/zbxsysinfo/openbsd/proc.c b/src/libs/zbxsysinfo/openbsd/proc.c
index d10dfcee..246f1315 100644
--- a/src/libs/zbxsysinfo/openbsd/proc.c
+++ b/src/libs/zbxsysinfo/openbsd/proc.c
@@ -22,15 +22,20 @@
#include <sys/sysctl.h>
-#define ARGS_START_SIZE 64
-
-int proc_argv(pid_t pid, char ***argv, size_t *argv_alloc, int *argc)
-{
#define DO_SUM 0
#define DO_MAX 1
#define DO_MIN 2
#define DO_AVG 3
+#define ZBX_PROC_STAT_ALL 0
+#define ZBX_PROC_STAT_RUN 1
+#define ZBX_PROC_STAT_SLEEP 2
+#define ZBX_PROC_STAT_ZOMB 3
+
+#define ARGS_START_SIZE 64
+
+int proc_argv(pid_t pid, char ***argv, size_t *argv_alloc, int *argc)
+{
size_t sz;
int mib[4], ret;
@@ -85,11 +90,6 @@ void collect_args(char **argv, int argc, char **args, size_t *args_alloc)
int PROC_MEMORY(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result)
{
-#define ZBX_PROC_STAT_ALL 0
-#define ZBX_PROC_STAT_RUN 1
-#define ZBX_PROC_STAT_SLEEP 2
-#define ZBX_PROC_STAT_ZOMB 3
-
char procname[MAX_STRING_LEN],
buffer[MAX_STRING_LEN],
proccomm[MAX_STRING_LEN];
@@ -98,7 +98,7 @@ int PROC_MEMORY(const char *cmd, const char *param, unsigned flags, AGENT_RE
mib[4];
double value = 0.0,
- memsize = -1.0;
+ memsize = 0;
int proccount = 0;
size_t sz;
@@ -193,13 +193,12 @@ int PROC_MEMORY(const char *cmd, const char *param, unsigned flags, AGENT_RE
comm_ok = 1;
if (proc_ok && comm_ok) {
- proccount++;
value = proc[i].kp_eproc.e_vm.vm_tsize
+ proc[i].kp_eproc.e_vm.vm_dsize
+ proc[i].kp_eproc.e_vm.vm_ssize;
value *= pagesize;
- if (memsize < 0)
+ if (0 == proccount++)
memsize = value;
else {
if (do_task == DO_MAX)
@@ -215,11 +214,6 @@ int PROC_MEMORY(const char *cmd, const char *param, unsigned flags, AGENT_RE
zbx_free(argv);
zbx_free(args);
- if (memsize < 0) {
- /* incorrect process name */
- memsize = 0;
- }
-
if (do_task == DO_AVG) {
SET_DBL_RESULT(result, proccount == 0 ? 0 : memsize/proccount);
} else {