From e8653eb1bf10c6c25e5b936f365e927dd0655f52 Mon Sep 17 00:00:00 2001 From: "Manuel Sanmartin (no email)" Date: Mon, 23 Nov 2009 22:09:15 +0100 Subject: [PATCH] load plugin: Add support for AIX. --- src/load.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/src/load.c b/src/load.c index cf5221b2..76d60524 100644 --- a/src/load.c +++ b/src/load.c @@ -1,6 +1,7 @@ /** * collectd - src/load.c * Copyright (C) 2005-2008 Florian octo Forster + * Copyright (C) 2009 Manuel Sanmartin * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the @@ -17,6 +18,7 @@ * * Authors: * Florian octo Forster + * Manuel Sanmartin **/ #define _BSD_SOURCE @@ -41,6 +43,12 @@ #endif #endif /* defined(HAVE_GETLOADAVG) */ +#ifdef HAVE_PERFSTAT +# include /* AIX 5 */ +# include +# include +#endif /* HAVE_PERFSTAT */ + static void load_submit (gauge_t snum, gauge_t mnum, gauge_t lnum) { value_t values[3]; @@ -132,6 +140,25 @@ static int load_read (void) load_submit (snum, mnum, lnum); /* #endif HAVE_LIBSTATGRAB */ +#elif HAVE_PERFSTAT + gauge_t snum, mnum, lnum; + perfstat_cpu_total_t cputotal; + + if (perfstat_cpu_total(NULL, &cputotal, sizeof(perfstat_cpu_total_t), 1) < 0) + { + char errbuf[1024]; + WARNING ("load: perfstat_cpu : %s", + sstrerror (errno, errbuf, sizeof (errbuf))); + return (-1); + } + + snum = (float)cputotal.loadavg[0]/(float)(1<