summaryrefslogtreecommitdiffstats
path: root/src/libs/zbxsysinfo/osf/cpu.c
diff options
context:
space:
mode:
authorosmiy <osmiy@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2005-12-12 14:01:21 +0000
committerosmiy <osmiy@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2005-12-12 14:01:21 +0000
commit2b0a2c57ce5d2aae2e87fb0578618a4178f8b4f3 (patch)
tree07507efe6879f575541a802c05dd65d16c20d792 /src/libs/zbxsysinfo/osf/cpu.c
parentc13bcf05aac85ee5762a2a9008c1898a16e56d90 (diff)
downloadzabbix-2b0a2c57ce5d2aae2e87fb0578618a4178f8b4f3.tar.gz
zabbix-2b0a2c57ce5d2aae2e87fb0578618a4178f8b4f3.tar.xz
zabbix-2b0a2c57ce5d2aae2e87fb0578618a4178f8b4f3.zip
- added support of system.cpu.load for Tru64 (Eugene)
- added support of system.cpu.util for Tru64 (Eugene) - added support of vm.memory.size for Tru64 (Eugene) - added support of proc.num for Tru64 (Eugene) git-svn-id: svn://svn.zabbix.com/trunk@2413 97f52cf1-0a1b-0410-bd0e-c28be96e8082
Diffstat (limited to 'src/libs/zbxsysinfo/osf/cpu.c')
-rw-r--r--src/libs/zbxsysinfo/osf/cpu.c349
1 files changed, 11 insertions, 338 deletions
diff --git a/src/libs/zbxsysinfo/osf/cpu.c b/src/libs/zbxsysinfo/osf/cpu.c
index 75a8db56..7084446b 100644
--- a/src/libs/zbxsysinfo/osf/cpu.c
+++ b/src/libs/zbxsysinfo/osf/cpu.c
@@ -22,68 +22,29 @@
#include "common.h"
#include "sysinfo.h"
-static int SYSTEM_CPU_IDLE1(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result)
+int OLD_CPU(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result)
{
- return get_stat("cpu[idle1]", flags, result);
+ return get_stat(cmd, flags, result);
}
-static int SYSTEM_CPU_IDLE5(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result)
+static int SYSTEM_CPU_IDLE1(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result)
{
- return get_stat("cpu[idle5]", flags, result);
+ return EXECUTE(cmd, "iostat | tail -n 1 | awk '{printf(\"%s\",$(NF))}'", flags, result);
}
-static int SYSTEM_CPU_IDLE15(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result)
+static int SYSTEM_CPU_SYS1(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result)
{
- return get_stat("cpu[idle15]", flags, result);
+ return EXECUTE(cmd, "iostat | tail -n 1 | awk '{printf(\"%s\",$(NF-1))}'", flags, result);
}
static int SYSTEM_CPU_NICE1(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result)
{
- return get_stat("cpu[nice1]", flags, result);
-}
-
-static int SYSTEM_CPU_NICE5(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result)
-{
- return get_stat("cpu[nice5]", flags, result);
-}
-static int SYSTEM_CPU_NICE15(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result)
-{
- return get_stat("cpu[nice15]", flags, result);
+ return EXECUTE(cmd, "iostat | tail -n 1 | awk '{printf(\"%s\",$(NF-2))}'", flags, result);
}
static int SYSTEM_CPU_USER1(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result)
{
- return get_stat("cpu[user1]", flags, result);
-}
-
-static int SYSTEM_CPU_USER5(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result)
-{
- return get_stat("cpu[user5]", flags, result);
-}
-
-static int SYSTEM_CPU_USER15(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result)
-{
- return get_stat("cpu[user15]", flags, result);
-}
-
-static int SYSTEM_CPU_SYS1(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result)
-{
- return get_stat("cpu[system1]", flags, result);
-}
-
-static int SYSTEM_CPU_SYS5(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result)
-{
- return get_stat("cpu[system5]", flags, result);
-}
-
-static int SYSTEM_CPU_SYS15(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result)
-{
- return get_stat("cpu[system15]", flags, result);
-}
-
-int OLD_CPU(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result)
-{
- return get_stat(cmd, flags, result);
+ return EXECUTE(cmd, "iostat | tail -n 1 | awk '{printf(\"%s\",$(NF-3))}'", flags, result);
}
int SYSTEM_CPU_UTIL(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result)
@@ -100,17 +61,9 @@ CPU_FNCLIST
CPU_FNCLIST fl[] =
{
{"idle", "avg1" , SYSTEM_CPU_IDLE1},
- {"idle", "avg5" , SYSTEM_CPU_IDLE5},
- {"idle", "avg15", SYSTEM_CPU_IDLE15},
{"nice", "avg1" , SYSTEM_CPU_NICE1},
- {"nice", "avg5" , SYSTEM_CPU_NICE5},
- {"nice", "avg15", SYSTEM_CPU_NICE15},
{"user", "avg1" , SYSTEM_CPU_USER1},
- {"user", "avg5" , SYSTEM_CPU_USER5},
- {"user", "avg15", SYSTEM_CPU_USER15},
{"system", "avg1" , SYSTEM_CPU_SYS1},
- {"system", "avg5" , SYSTEM_CPU_SYS5},
- {"system", "avg15", SYSTEM_CPU_SYS15},
{0, 0, 0}
};
@@ -176,299 +129,19 @@ CPU_FNCLIST
return SYSINFO_RET_FAIL;
}
-/* AIX CPU info */
-#ifdef HAVE_KNLIST_H
-static int getloadavg_kmem(double loadavg[], int nelem)
-{
- struct nlist nl;
- int kmem, i;
- long avenrun[3];
-
- nl.n_name = "avenrun";
- nl.n_value = 0;
-
- if(knlist(&nl, 1, sizeof(nl)))
- {
- return FAIL;
- }
- if((kmem = open("/dev/kmem", 0, 0)) <= 0)
- {
- return FAIL;
- }
-
- if(pread(kmem, avenrun, sizeof(avenrun), nl.n_value) <
- sizeof(avenrun))
- {
- return FAIL;
- }
-
- for(i=0;i<nelem;i++)
- {
- loadavg[i] = (double) avenrun[i] / 65535;
- }
- return SUCCEED;
-}
-#endif
-
int SYSTEM_CPU_LOAD1(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result)
{
-#ifdef HAVE_GETLOADAVG
- double load[3];
-
- assert(result);
-
- init_result(result);
-
- if(getloadavg(load, 3))
- {
- SET_DBL_RESULT(result, load[0]);
- return SYSINFO_RET_OK;
- }
- else
- {
- return SYSINFO_RET_FAIL;
- }
-#else
-#ifdef HAVE_SYS_PSTAT_H
- struct pst_dynamic dyn;
-
- assert(result);
-
- init_result(result);
-
- if (pstat_getdynamic(&dyn, sizeof(dyn), 1, 0) == -1)
- {
- return SYSINFO_RET_FAIL;
- }
- else
- {
- SET_DBL_RESULT(result, dyn.psd_avg_1_min);
- return SYSINFO_RET_OK;
- }
-#else
-#ifdef HAVE_PROC_LOADAVG
- return getPROC("/proc/loadavg",1,1, flags, result);
-#else
-#ifdef HAVE_KSTAT_H
- static kstat_ctl_t *kc = NULL;
- kstat_t *ks;
- kstat_named_t *kn;
-
- assert(result);
-
- init_result(result);
-
- if (!kc && !(kc = kstat_open()))
- {
- return SYSINFO_RET_FAIL;
- }
- if (!(ks = kstat_lookup(kc, "unix", 0, "system_misc")) ||
- kstat_read(kc, ks, 0) == -1 ||
- !(kn = kstat_data_lookup(ks,"avenrun_1min")))
- {
- return SYSINFO_RET_FAIL;
- }
- SET_DBL_RESULT(result, ((double)kn->value.ul)/256.0);
- return SYSINFO_RET_OK;
-#else
-#ifdef HAVE_KNLIST_H
- double loadavg[3];
-
- assert(result);
-
- init_result(result);
-
- if(getloadavg_kmem(loadavg,3) == FAIL)
- {
- return SYSINFO_RET_FAIL;
- }
-
- SET_DBL_RESULT(result, loadavg[0]);
- return SYSINFO_RET_OK;
-#else
- assert(result);
-
- init_result(result);
- return SYSINFO_RET_FAIL;
-#endif
-#endif
-#endif
-#endif
-#endif
+ return EXECUTE(cmd, "uptime | awk '{printf(\"%s\", $(NF))}' | sed 's/[ ,]//g'", flags, result);
}
int SYSTEM_CPU_LOAD5(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result)
{
-#ifdef HAVE_GETLOADAVG
- double load[3];
-
- assert(result);
-
- init_result(result);
-
- if(getloadavg(load, 3))
- {
- SET_DBL_RESULT(result, load[1]);
- return SYSINFO_RET_OK;
- }
- else
- {
- return SYSINFO_RET_FAIL;
- }
-#else
-#ifdef HAVE_SYS_PSTAT_H
- struct pst_dynamic dyn;
-
- assert(result);
-
- init_result(result);
-
- if (pstat_getdynamic(&dyn, sizeof(dyn), 1, 0) == -1)
- {
- return SYSINFO_RET_FAIL;
- }
- else
- {
- SET_DBL_RESULT(result, dyn.psd_avg_5_min);
- return SYSINFO_RET_OK;
- }
-#else
-#ifdef HAVE_PROC_LOADAVG
- return getPROC("/proc/loadavg",1,2, flags, result);
-#else
-#ifdef HAVE_KSTAT_H
- static kstat_ctl_t *kc = NULL;
- kstat_t *ks;
- kstat_named_t *kn;
-
- assert(result);
-
- init_result(result);
-
- if (!kc && !(kc = kstat_open()))
- {
- return SYSINFO_RET_FAIL;
- }
- if (!(ks = kstat_lookup(kc, "unix", 0, "system_misc")) ||
- kstat_read(kc, ks, 0) == -1 ||
- !(kn = kstat_data_lookup(ks,"avenrun_5min")))
- {
- return SYSINFO_RET_FAIL;
- }
- SET_DBL_RESULT(result, ((double)kn->value.ul)/256.0);
- return SYSINFO_RET_OK;
-#else
-#ifdef HAVE_KNLIST_H
- double loadavg[3];
-
- assert(result);
-
- init_result(result);
-
- if(getloadavg_kmem(loadavg,3) == FAIL)
- {
- return STSINFO_RET_FAIL;
- }
-
- SET_DBL_RESULT(result, loadavg[1]);
- return SYSINFO_RET_OK;
-#else
- assert(result);
-
- init_result(result);
- return SYSINFO_RET_FAIL;
-#endif
-#endif
-#endif
-#endif
-#endif
+ return EXECUTE(cmd, "uptime | awk '{printf(\"%s\", $(NF-1))}' | sed 's/[ ,]//g'", flags, result);
}
int SYSTEM_CPU_LOAD15(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result)
{
-#ifdef HAVE_GETLOADAVG
- double load[3];
-
- assert(result);
-
- init_result(result);
-
- if(getloadavg(load, 3))
- {
- SET_DBL_RESULT(result, load[2]);
- return SYSINFO_RET_OK;
- }
- else
- {
- return SYSINFO_RET_FAIL;
- }
-#else
-#ifdef HAVE_SYS_PSTAT_H
- struct pst_dynamic dyn;
-
- assert(result);
-
- init_result(result);
-
- if (pstat_getdynamic(&dyn, sizeof(dyn), 1, 0) == -1)
- {
- return SYSINFO_RET_FAIL;
- }
- else
- {
- SET_DBL_RESULT(result, dyn.psd_avg_15_min);
- return SYSINFO_RET_OK;
- }
-#else
-#ifdef HAVE_PROC_LOADAVG
- return getPROC("/proc/loadavg",1,3, flags, result);
-#else
-#ifdef HAVE_KSTAT_H
- static kstat_ctl_t *kc = NULL;
- kstat_t *ks;
- kstat_named_t *kn;
-
- assert(result);
-
- init_result(result);
-
- if (!kc && !(kc = kstat_open()))
- {
- return SYSINFO_RET_FAIL;
- }
- if (!(ks = kstat_lookup(kc, "unix", 0, "system_misc")) ||
- kstat_read(kc, ks, 0) == -1 ||
- !(kn = kstat_data_lookup(ks,"avenrun_15min")))
- {
- return SYSINFO_RET_FAIL;
- }
- SET_DBL_RESULT(result, ((double)kn->value.ul)/256.0);
- return SYSINFO_RET_OK;
-#else
-#ifdef HAVE_KNLIST_H
- double loadavg[3];
-
- assert(result);
-
- init_result(result);
-
- if(getloadavg_kmem(loadavg,3) == FAIL)
- {
- return STSINFO_RET_FAIL;
- }
-
- SET_DBL_RESULT(result, loadavg[2]);
- return SYSINFO_RET_OK;
-#else
- assert(result);
-
- init_result(result);
- return SYSINFO_RET_FAIL;
-#endif
-#endif
-#endif
-#endif
-#endif
+ return EXECUTE(cmd, "uptime | awk '{printf(\"%s\", $(NF-2))}' | sed 's/[ ,]//g'", flags, result);
}
int SYSTEM_CPU_LOAD(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result)