diff options
-rw-r--r-- | src/libs/zbxsysinfo/common/net.c | 2 | ||||
-rw-r--r-- | src/libs/zbxsysinfo/linux/cpu.c | 121 | ||||
-rw-r--r-- | src/libs/zbxsysinfo/openbsd/proc.c | 28 |
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 { |