From 7a5288278c6410066e5e77117181c19c247f55ac Mon Sep 17 00:00:00 2001 From: Doug MacEachern Date: Mon, 9 Feb 2009 14:15:49 -0800 Subject: [PATCH 01/18] dos2unix --- .../org/hyperic/sigar/jmx/AbstractMBean.java | 536 +++++++------- .../hyperic/sigar/jmx/SigarLoadAverage.java | 526 +++++++------- .../org/hyperic/sigar/jmx/SigarRegistry.java | 684 +++++++++--------- 3 files changed, 873 insertions(+), 873 deletions(-) diff --git a/bindings/java/src/org/hyperic/sigar/jmx/AbstractMBean.java b/bindings/java/src/org/hyperic/sigar/jmx/AbstractMBean.java index 9d22f2c5..a7fed365 100644 --- a/bindings/java/src/org/hyperic/sigar/jmx/AbstractMBean.java +++ b/bindings/java/src/org/hyperic/sigar/jmx/AbstractMBean.java @@ -1,268 +1,268 @@ -/* - * Copyright (C) [2004, 2005, 2006, 2007], Hyperic, Inc. - * This file is part of SIGAR. - * - * SIGAR is free software; you can redistribute it and/or modify - * it under the terms version 2 of the GNU General Public License as - * published by the Free Software Foundation. This program is distributed - * in the hope that it will be useful, but WITHOUT ANY WARRANTY; without - * even the implied warranty of MERCHANTABILITY or FITNESS FOR A - * PARTICULAR PURPOSE. See the GNU General Public License for more - * details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 - * USA. - */ - -package org.hyperic.sigar.jmx; - -import javax.management.Attribute; -import javax.management.AttributeList; -import javax.management.AttributeNotFoundException; -import javax.management.DynamicMBean; -import javax.management.InvalidAttributeValueException; -import javax.management.MBeanException; -import javax.management.MBeanRegistration; -import javax.management.MBeanServer; -import javax.management.ObjectName; -import javax.management.ReflectionException; - -import org.hyperic.sigar.Sigar; -import org.hyperic.sigar.SigarException; -import org.hyperic.sigar.SigarProxy; -import org.hyperic.sigar.SigarProxyCache; - -/** - * Base class for all Sigar JMX MBeans. Provides a skeleton which handles - * creation of the Sigar proxy instance and provides some convenience methods. - * It also enforces usage of the {@link DynamicMBean} inferface while - * implementing part of it, and it adds empty implementations for all methods of - * the {@link MBeanRegistration} interface, allowing subclasses to only - * implement subset of them. - * - * @author Bjoern Martin - * @since 1.5 - */ -public abstract class AbstractMBean implements DynamicMBean, MBeanRegistration { - - protected static final String MBEAN_ATTR_TYPE = "type"; - - protected static final short CACHED_30SEC = 0; - - protected static final short CACHED_5SEC = 1; - - protected static final short CACHED_500MS = 2; - - protected static final short CACHELESS = 3; - - protected static final short DEFAULT = CACHED_30SEC; - - /** - * The Sigar implementation to be used to fetch information from the system. - */ - protected final Sigar sigarImpl; - - /** - * The Sigar proxy cache to be used in case the data does not have to be - * fetched during each call. The cache timeout is decided during - * construction. See {@link AbstractMBean#AbstractMBean(Sigar, short)} for - * details. - * - * @see AbstractMBean#AbstractMBean(Sigar, short) - */ - protected final SigarProxy sigar; - - /** - * The MBean server this MBean is registered to. Set during the MBean's - * registration to the MBean server and unset to null when - * the deregistration finished. - * - * @see #preRegister(MBeanServer, ObjectName) - * @see #postDeregister() - */ - protected MBeanServer mbeanServer; - - /** - *

Creates a new instance of this class. The Sigar instance is stored (and - * accessible) via the {@link #sigarImpl} member. A second instance is - * stored within the {@link #sigar} member which is either {@link #sigarImpl} - * or an instance of {@link SigarProxyCache} with the expiration time set to - * whatever the cacheMode parameter specifies.

- * - *

The following cache modes exist:

- * - * - * - * - * - * - * - * - *
ConstantDescription
{@link #CACHELESS}No cached instance, {@link #sigar} - * == {@link #sigarImpl}.
{@link #CACHED_500MS}500 millisecond cache, for high - * frequency queries on raw data such as reading out CPU timers each - * second. Avoids reading out multiple data sets when all attributes of - * an MBean are queried in short sequence.
{@link #CACHED_5SEC}5 second cache, for high frequency - * queries on calculated data such as CPU percentages.
{@link #CACHED_30SEC}30 second cache, for normal queries - * or data readouts such as CPU model / vendor. This is the default if - * nothing (0) is specified.
{@link #DEFAULT}Same as {@link #CACHED_30SEC}.
- * - *

Note: Only make use of the cacheless or half second mode if you - * know what you are doing. They may have impact on system performance if - * used excessively.

- * - * @param sigar The Sigar impl to use. Must not be null - * @param cacheMode The cache mode to use for {@link #sigar} or {@link #CACHELESS} - * if no separate, cached instance is to be maintained. - */ - protected AbstractMBean(Sigar sigar, short cacheMode) { - // store Sigar - this.sigarImpl = sigar; - - // create a cached instance as well - if (cacheMode == CACHELESS) { - // no cached version - this.sigar = this.sigarImpl; - - } else if (cacheMode == CACHED_500MS) { - // 500ms cached version (for 1/sec queries) - this.sigar = SigarProxyCache.newInstance(this.sigarImpl, 500); - - } else if (cacheMode == CACHED_5SEC) { - // 5sec cached version (for avg'd queries) - this.sigar = SigarProxyCache.newInstance(this.sigarImpl, 5000); - - } else /* if (cacheMode == CACHED_30SEC) */{ - // 30sec (default) cached version (for info and long term queries) - this.sigar = SigarProxyCache.newInstance(this.sigarImpl, 30000); - } - } - - /** - * Returns the object name the MBean is registered with within the - * MBeanServer. May be null in case the instance is not - * registered to an MBeanServer, but used standalone. - * - * @return The object name or null if not registered to an - * MBeanServer - */ - public abstract String getObjectName(); - - /** - * Returns a runtime exception for the type and SigarException specified. - * - * @param type - * The type that was called - * @param e - * The exception that was raised - * @return A runtime exception encapsulating the information specified - */ - protected RuntimeException unexpectedError(String type, SigarException e) { - String msg = "Unexected error in Sigar.get" + type + ": " - + e.getMessage(); - return new IllegalArgumentException(msg); - } - - /** - * Loops over all attributes and calls - * {@link DynamicMBean#getAttribute(java.lang.String)} method for each - * attribute sequentially. Any exception thrown by those methods are ignored - * and simply cause the attribute not being added to the result. - */ - public AttributeList getAttributes(String[] attrs) { - final AttributeList result = new AttributeList(); - for (int i = 0; i < attrs.length; i++) { - try { - result.add(new Attribute(attrs[i], getAttribute(attrs[i]))); - } catch (AttributeNotFoundException e) { - // ignore, as we cannot throw this exception - } catch (MBeanException e) { - // ignore, as we cannot throw this exception - } catch (ReflectionException e) { - // ignore, as we cannot throw this exception - } - } - return result; - } - - /** - * Loops over all attributes and calls - * {@link DynamicMBean#setAttribute(Attribute)} for each attribute - * sequentially. Any exception thrown by those methods are ignored and - * simply cause the attribute not being added to the result. - */ - public AttributeList setAttributes(AttributeList attrs) { - final AttributeList result = new AttributeList(); - for (int i = 0; i < attrs.size(); i++) { - try { - final Attribute next = (Attribute) attrs.get(i); - setAttribute(next); - result.add(next); - } catch (AttributeNotFoundException e) { - // ignore, as we cannot throw this exception - } catch (InvalidAttributeValueException e) { - // ignore, as we cannot throw this exception - } catch (MBeanException e) { - // ignore, as we cannot throw this exception - } catch (ReflectionException e) { - // ignore, as we cannot throw this exception - } - } - return result; - } - - // ------- - // Implementation of the MBeanRegistration interface - // ------- - - /** - *

Returns new ObjectName(this.getObjectName()) to guarantee - * a reliable and reproducable object name.

- * - *

Note: Make sure any subclass does a super call to this method, - * otherwise the implementation might be broken.

- * - * @see MBeanRegistration#preRegister(MBeanServer, ObjectName) - */ - public ObjectName preRegister(MBeanServer server, ObjectName name) - throws Exception { - this.mbeanServer = server; - return new ObjectName(getObjectName()); - } - - /** - * Empty implementation, allowing aubclasses to ignore the interface. - * - *

Note: Make sure any subclass does a super call to this method, - * otherwise the implementation might be broken.

- * - * @see MBeanRegistration#postRegister(Boolean) - */ - public void postRegister(Boolean success) { - } - - /** - * Empty implementation, allowing aubclasses to ignore the interface. - * - *

Note: Make sure any subclass does a super call to this method, - * otherwise the implementation might be broken.

- * - * @see MBeanRegistration#preDeregister() - */ - public void preDeregister() throws Exception { - } - - /** - * Empty implementation, allowing aubclasses to ignore the interface. - * - *

Note: Make sure any subclass does a super call to this method, - * otherwise the implementation might be broken.

- * - * @see MBeanRegistration#postDeregister() - */ - public void postDeregister() { - this.mbeanServer = null; - } -} +/* + * Copyright (C) [2004, 2005, 2006, 2007], Hyperic, Inc. + * This file is part of SIGAR. + * + * SIGAR is free software; you can redistribute it and/or modify + * it under the terms version 2 of the GNU General Public License as + * published by the Free Software Foundation. This program is distributed + * in the hope that it will be useful, but WITHOUT ANY WARRANTY; without + * even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU General Public License for more + * details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 + * USA. + */ + +package org.hyperic.sigar.jmx; + +import javax.management.Attribute; +import javax.management.AttributeList; +import javax.management.AttributeNotFoundException; +import javax.management.DynamicMBean; +import javax.management.InvalidAttributeValueException; +import javax.management.MBeanException; +import javax.management.MBeanRegistration; +import javax.management.MBeanServer; +import javax.management.ObjectName; +import javax.management.ReflectionException; + +import org.hyperic.sigar.Sigar; +import org.hyperic.sigar.SigarException; +import org.hyperic.sigar.SigarProxy; +import org.hyperic.sigar.SigarProxyCache; + +/** + * Base class for all Sigar JMX MBeans. Provides a skeleton which handles + * creation of the Sigar proxy instance and provides some convenience methods. + * It also enforces usage of the {@link DynamicMBean} inferface while + * implementing part of it, and it adds empty implementations for all methods of + * the {@link MBeanRegistration} interface, allowing subclasses to only + * implement subset of them. + * + * @author Bjoern Martin + * @since 1.5 + */ +public abstract class AbstractMBean implements DynamicMBean, MBeanRegistration { + + protected static final String MBEAN_ATTR_TYPE = "type"; + + protected static final short CACHED_30SEC = 0; + + protected static final short CACHED_5SEC = 1; + + protected static final short CACHED_500MS = 2; + + protected static final short CACHELESS = 3; + + protected static final short DEFAULT = CACHED_30SEC; + + /** + * The Sigar implementation to be used to fetch information from the system. + */ + protected final Sigar sigarImpl; + + /** + * The Sigar proxy cache to be used in case the data does not have to be + * fetched during each call. The cache timeout is decided during + * construction. See {@link AbstractMBean#AbstractMBean(Sigar, short)} for + * details. + * + * @see AbstractMBean#AbstractMBean(Sigar, short) + */ + protected final SigarProxy sigar; + + /** + * The MBean server this MBean is registered to. Set during the MBean's + * registration to the MBean server and unset to null when + * the deregistration finished. + * + * @see #preRegister(MBeanServer, ObjectName) + * @see #postDeregister() + */ + protected MBeanServer mbeanServer; + + /** + *

Creates a new instance of this class. The Sigar instance is stored (and + * accessible) via the {@link #sigarImpl} member. A second instance is + * stored within the {@link #sigar} member which is either {@link #sigarImpl} + * or an instance of {@link SigarProxyCache} with the expiration time set to + * whatever the cacheMode parameter specifies.

+ * + *

The following cache modes exist:

+ * + * + * + * + * + * + * + * + *
ConstantDescription
{@link #CACHELESS}No cached instance, {@link #sigar} + * == {@link #sigarImpl}.
{@link #CACHED_500MS}500 millisecond cache, for high + * frequency queries on raw data such as reading out CPU timers each + * second. Avoids reading out multiple data sets when all attributes of + * an MBean are queried in short sequence.
{@link #CACHED_5SEC}5 second cache, for high frequency + * queries on calculated data such as CPU percentages.
{@link #CACHED_30SEC}30 second cache, for normal queries + * or data readouts such as CPU model / vendor. This is the default if + * nothing (0) is specified.
{@link #DEFAULT}Same as {@link #CACHED_30SEC}.
+ * + *

Note: Only make use of the cacheless or half second mode if you + * know what you are doing. They may have impact on system performance if + * used excessively.

+ * + * @param sigar The Sigar impl to use. Must not be null + * @param cacheMode The cache mode to use for {@link #sigar} or {@link #CACHELESS} + * if no separate, cached instance is to be maintained. + */ + protected AbstractMBean(Sigar sigar, short cacheMode) { + // store Sigar + this.sigarImpl = sigar; + + // create a cached instance as well + if (cacheMode == CACHELESS) { + // no cached version + this.sigar = this.sigarImpl; + + } else if (cacheMode == CACHED_500MS) { + // 500ms cached version (for 1/sec queries) + this.sigar = SigarProxyCache.newInstance(this.sigarImpl, 500); + + } else if (cacheMode == CACHED_5SEC) { + // 5sec cached version (for avg'd queries) + this.sigar = SigarProxyCache.newInstance(this.sigarImpl, 5000); + + } else /* if (cacheMode == CACHED_30SEC) */{ + // 30sec (default) cached version (for info and long term queries) + this.sigar = SigarProxyCache.newInstance(this.sigarImpl, 30000); + } + } + + /** + * Returns the object name the MBean is registered with within the + * MBeanServer. May be null in case the instance is not + * registered to an MBeanServer, but used standalone. + * + * @return The object name or null if not registered to an + * MBeanServer + */ + public abstract String getObjectName(); + + /** + * Returns a runtime exception for the type and SigarException specified. + * + * @param type + * The type that was called + * @param e + * The exception that was raised + * @return A runtime exception encapsulating the information specified + */ + protected RuntimeException unexpectedError(String type, SigarException e) { + String msg = "Unexected error in Sigar.get" + type + ": " + + e.getMessage(); + return new IllegalArgumentException(msg); + } + + /** + * Loops over all attributes and calls + * {@link DynamicMBean#getAttribute(java.lang.String)} method for each + * attribute sequentially. Any exception thrown by those methods are ignored + * and simply cause the attribute not being added to the result. + */ + public AttributeList getAttributes(String[] attrs) { + final AttributeList result = new AttributeList(); + for (int i = 0; i < attrs.length; i++) { + try { + result.add(new Attribute(attrs[i], getAttribute(attrs[i]))); + } catch (AttributeNotFoundException e) { + // ignore, as we cannot throw this exception + } catch (MBeanException e) { + // ignore, as we cannot throw this exception + } catch (ReflectionException e) { + // ignore, as we cannot throw this exception + } + } + return result; + } + + /** + * Loops over all attributes and calls + * {@link DynamicMBean#setAttribute(Attribute)} for each attribute + * sequentially. Any exception thrown by those methods are ignored and + * simply cause the attribute not being added to the result. + */ + public AttributeList setAttributes(AttributeList attrs) { + final AttributeList result = new AttributeList(); + for (int i = 0; i < attrs.size(); i++) { + try { + final Attribute next = (Attribute) attrs.get(i); + setAttribute(next); + result.add(next); + } catch (AttributeNotFoundException e) { + // ignore, as we cannot throw this exception + } catch (InvalidAttributeValueException e) { + // ignore, as we cannot throw this exception + } catch (MBeanException e) { + // ignore, as we cannot throw this exception + } catch (ReflectionException e) { + // ignore, as we cannot throw this exception + } + } + return result; + } + + // ------- + // Implementation of the MBeanRegistration interface + // ------- + + /** + *

Returns new ObjectName(this.getObjectName()) to guarantee + * a reliable and reproducable object name.

+ * + *

Note: Make sure any subclass does a super call to this method, + * otherwise the implementation might be broken.

+ * + * @see MBeanRegistration#preRegister(MBeanServer, ObjectName) + */ + public ObjectName preRegister(MBeanServer server, ObjectName name) + throws Exception { + this.mbeanServer = server; + return new ObjectName(getObjectName()); + } + + /** + * Empty implementation, allowing aubclasses to ignore the interface. + * + *

Note: Make sure any subclass does a super call to this method, + * otherwise the implementation might be broken.

+ * + * @see MBeanRegistration#postRegister(Boolean) + */ + public void postRegister(Boolean success) { + } + + /** + * Empty implementation, allowing aubclasses to ignore the interface. + * + *

Note: Make sure any subclass does a super call to this method, + * otherwise the implementation might be broken.

+ * + * @see MBeanRegistration#preDeregister() + */ + public void preDeregister() throws Exception { + } + + /** + * Empty implementation, allowing aubclasses to ignore the interface. + * + *

Note: Make sure any subclass does a super call to this method, + * otherwise the implementation might be broken.

+ * + * @see MBeanRegistration#postDeregister() + */ + public void postDeregister() { + this.mbeanServer = null; + } +} diff --git a/bindings/java/src/org/hyperic/sigar/jmx/SigarLoadAverage.java b/bindings/java/src/org/hyperic/sigar/jmx/SigarLoadAverage.java index 586f419e..03679966 100644 --- a/bindings/java/src/org/hyperic/sigar/jmx/SigarLoadAverage.java +++ b/bindings/java/src/org/hyperic/sigar/jmx/SigarLoadAverage.java @@ -1,263 +1,263 @@ -/* - * Copyright (C) [2004, 2005, 2006, 2007], Hyperic, Inc. - * This file is part of SIGAR. - * - * SIGAR is free software; you can redistribute it and/or modify - * it under the terms version 2 of the GNU General Public License as - * published by the Free Software Foundation. This program is distributed - * in the hope that it will be useful, but WITHOUT ANY WARRANTY; without - * even the implied warranty of MERCHANTABILITY or FITNESS FOR A - * PARTICULAR PURPOSE. See the GNU General Public License for more - * details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 - * USA. - */ - -package org.hyperic.sigar.jmx; - -import javax.management.Attribute; -import javax.management.AttributeNotFoundException; -import javax.management.MBeanAttributeInfo; -import javax.management.MBeanConstructorInfo; -import javax.management.MBeanInfo; -import javax.management.MBeanParameterInfo; -import javax.management.ReflectionException; - -import org.hyperic.sigar.Sigar; -import org.hyperic.sigar.SigarException; -import org.hyperic.sigar.SigarNotImplementedException; - -/** - * Sigar JMX MBean implementation for the LoadAverage information - * package. Provides an OpenMBean conform implementation. - * - * @author Bjoern Martin - * @since 1.5 - */ -public class SigarLoadAverage extends AbstractMBean { - - private static final String MBEAN_TYPE = "LoadAverage"; - - /** - * Returned if {@link Sigar#getLoadAverage()}} is detected to be not - * implemented on the platform. - * - * @see #notImplemented - */ - private static final double NOT_IMPLEMENTED_LOAD_VALUE = -1.0d; - - private static final MBeanInfo MBEAN_INFO; - - private static final MBeanAttributeInfo MBEAN_ATTR_LAST1MIN; - - private static final MBeanAttributeInfo MBEAN_ATTR_LAST5MIN; - - private static final MBeanAttributeInfo MBEAN_ATTR_LAST15MIN; - - private static final MBeanConstructorInfo MBEAN_CONSTR_SIGAR; - - private static MBeanParameterInfo MBEAN_PARAM_SIGAR; - - static { - MBEAN_ATTR_LAST1MIN = new MBeanAttributeInfo( - "LastMinute", - "double", - "The load average in the last minute, as a fraction of 1, or " - + "-1.0 if the load cannot be determined on this platform", - true, false, false); - MBEAN_ATTR_LAST5MIN = new MBeanAttributeInfo( - "LastFiveMinutes", - "double", - "The load average over the last five minutes, as a fraction " - + "of 1, or -1.0 if the load cannot be determined on this platform", - true, false, false); - MBEAN_ATTR_LAST15MIN = new MBeanAttributeInfo( - "Last15Minutes", - "double", - "The load average over the last 15 minutes, as a fraction of " - + "1, or -1.0 if the load cannot be determined on this platform", - true, false, false); - - MBEAN_PARAM_SIGAR = new MBeanParameterInfo("sigar", Sigar.class - .getName(), "The Sigar instance to use to fetch data from"); - - MBEAN_CONSTR_SIGAR = new MBeanConstructorInfo( - SigarLoadAverage.class.getName(), - "Creates a new instance, using the Sigar instance specified " - + "to fetch the data. Fails if the CPU index is out of range.", - new MBeanParameterInfo[] { MBEAN_PARAM_SIGAR }); - MBEAN_INFO = new MBeanInfo( - SigarLoadAverage.class.getName(), - "Sigar load average MBean. Provides load averages of the " - + "system over the last one, five and 15 minutes. Due to the " - + "long term character of that information, the fetch is done " - + "using a Sigar proxy cache with a timeout of 30 seconds.", - new MBeanAttributeInfo[] { MBEAN_ATTR_LAST1MIN, - MBEAN_ATTR_LAST5MIN, MBEAN_ATTR_LAST15MIN }, - new MBeanConstructorInfo[] { MBEAN_CONSTR_SIGAR }, null, null); - - } - - /** - * Object name this instance will give itself when being registered to an - * MBeanServer. - */ - private final String objectName; - - /** - *

Set true when the load average fetch failed with a - * SigarException that indicates the method is not implemented. - * Any subsequent call to this instance will then be answered with - * {@link #NOT_IMPLEMENTED_LOAD_VALUE}. - *

- * - *

FIXME : This is a workaround and should be replaced by something - * more stable, as the code setting this member true relies on - * a substring being present within the exception. A proposal was made at - * issue SIGAR-52. - *

- */ - private boolean notImplemented; - - /** - * Creates a new instance, using a new Sigar instance to fetch the data. - * - * @throws IllegalArgumentException - * If an unexpected Sigar error occurs. - */ - public SigarLoadAverage() throws IllegalArgumentException { - this(new Sigar()); - } - - /** - * Creates a new instance, using the Sigar instance specified to fetch the - * data. - * - * @param sigar - * The Sigar instance to use to fetch data from - * - * @throws IllegalArgumentException - * If an unexpected Sigar error occurs - */ - public SigarLoadAverage(Sigar sigar) throws IllegalArgumentException { - super(sigar, CACHED_30SEC); - - // all fine - this.objectName = SigarInvokerJMX.DOMAIN_NAME + ":" + MBEAN_ATTR_TYPE - + "=" + MBEAN_TYPE; - } - - /** - * Object name this instance will give itself when being registered to an - * MBeanServer. - */ - public String getObjectName() { - return this.objectName; - } - - /** - * @return The load average in the last minute, as a fraction of 1, or - * -1.0d if the load cannot be determined on this platform - */ - public double getLastMinute() { - try { - return sigarImpl.getLoadAverage()[0]; - - } catch (SigarNotImplementedException e) { - return NOT_IMPLEMENTED_LOAD_VALUE; - - } catch (SigarException e) { - throw unexpectedError(MBEAN_TYPE, e); - } - } - - /** - * @return The load average over the last five minutes, as a fraction of 1, - * or -1.0d if the load cannot be determined on this - * platform - */ - public double getLastFiveMinutes() { - try { - return sigarImpl.getLoadAverage()[1]; - - } catch (SigarNotImplementedException e) { - return NOT_IMPLEMENTED_LOAD_VALUE; - - } catch (SigarException e) { - throw unexpectedError(MBEAN_TYPE, e); - } - } - - /** - * @return The load average over the last 15 minutes, as a fraction of 1, or - * -1.0d if the load cannot be determined on this platform - */ - public double getLast15Minutes() { - try { - return sigarImpl.getLoadAverage()[2]; - - } catch (SigarNotImplementedException e) { - return NOT_IMPLEMENTED_LOAD_VALUE; - - } catch (SigarException e) { - throw unexpectedError(MBEAN_TYPE, e); - } - } - - // ------- - // Implementation of the DynamicMBean interface - // ------- - - /* - * (non-Javadoc) - * - * @see DynamicMBean#getAttribute(String) - */ - public Object getAttribute(String attr) throws AttributeNotFoundException { - - if (MBEAN_ATTR_LAST1MIN.getName().equals(attr)) { - return new Double(getLastMinute()); - - } else if (MBEAN_ATTR_LAST5MIN.getName().equals(attr)) { - return new Double(getLastFiveMinutes()); - - } else if (MBEAN_ATTR_LAST15MIN.getName().equals(attr)) { - return new Double(getLast15Minutes()); - - } else { - throw new AttributeNotFoundException(attr); - } - } - - /* - * (non-Javadoc) - * - * @see DynamicMBean#setAttribute(Attribute) - */ - public void setAttribute(Attribute attr) throws AttributeNotFoundException { - throw new AttributeNotFoundException(attr.getName()); - } - - /* - * (non-Javadoc) - * - * @see DynamicMBean#invoke(String, Object[], String[]) - */ - public Object invoke(String actionName, Object[] params, String[] signature) - throws ReflectionException { - throw new ReflectionException(new NoSuchMethodException(actionName), - actionName); - } - - /* - * (non-Javadoc) - * - * @see DynamicMBean#getMBeanInfo() - */ - public MBeanInfo getMBeanInfo() { - return MBEAN_INFO; - } -} +/* + * Copyright (C) [2004, 2005, 2006, 2007], Hyperic, Inc. + * This file is part of SIGAR. + * + * SIGAR is free software; you can redistribute it and/or modify + * it under the terms version 2 of the GNU General Public License as + * published by the Free Software Foundation. This program is distributed + * in the hope that it will be useful, but WITHOUT ANY WARRANTY; without + * even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU General Public License for more + * details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 + * USA. + */ + +package org.hyperic.sigar.jmx; + +import javax.management.Attribute; +import javax.management.AttributeNotFoundException; +import javax.management.MBeanAttributeInfo; +import javax.management.MBeanConstructorInfo; +import javax.management.MBeanInfo; +import javax.management.MBeanParameterInfo; +import javax.management.ReflectionException; + +import org.hyperic.sigar.Sigar; +import org.hyperic.sigar.SigarException; +import org.hyperic.sigar.SigarNotImplementedException; + +/** + * Sigar JMX MBean implementation for the LoadAverage information + * package. Provides an OpenMBean conform implementation. + * + * @author Bjoern Martin + * @since 1.5 + */ +public class SigarLoadAverage extends AbstractMBean { + + private static final String MBEAN_TYPE = "LoadAverage"; + + /** + * Returned if {@link Sigar#getLoadAverage()}} is detected to be not + * implemented on the platform. + * + * @see #notImplemented + */ + private static final double NOT_IMPLEMENTED_LOAD_VALUE = -1.0d; + + private static final MBeanInfo MBEAN_INFO; + + private static final MBeanAttributeInfo MBEAN_ATTR_LAST1MIN; + + private static final MBeanAttributeInfo MBEAN_ATTR_LAST5MIN; + + private static final MBeanAttributeInfo MBEAN_ATTR_LAST15MIN; + + private static final MBeanConstructorInfo MBEAN_CONSTR_SIGAR; + + private static MBeanParameterInfo MBEAN_PARAM_SIGAR; + + static { + MBEAN_ATTR_LAST1MIN = new MBeanAttributeInfo( + "LastMinute", + "double", + "The load average in the last minute, as a fraction of 1, or " + + "-1.0 if the load cannot be determined on this platform", + true, false, false); + MBEAN_ATTR_LAST5MIN = new MBeanAttributeInfo( + "LastFiveMinutes", + "double", + "The load average over the last five minutes, as a fraction " + + "of 1, or -1.0 if the load cannot be determined on this platform", + true, false, false); + MBEAN_ATTR_LAST15MIN = new MBeanAttributeInfo( + "Last15Minutes", + "double", + "The load average over the last 15 minutes, as a fraction of " + + "1, or -1.0 if the load cannot be determined on this platform", + true, false, false); + + MBEAN_PARAM_SIGAR = new MBeanParameterInfo("sigar", Sigar.class + .getName(), "The Sigar instance to use to fetch data from"); + + MBEAN_CONSTR_SIGAR = new MBeanConstructorInfo( + SigarLoadAverage.class.getName(), + "Creates a new instance, using the Sigar instance specified " + + "to fetch the data. Fails if the CPU index is out of range.", + new MBeanParameterInfo[] { MBEAN_PARAM_SIGAR }); + MBEAN_INFO = new MBeanInfo( + SigarLoadAverage.class.getName(), + "Sigar load average MBean. Provides load averages of the " + + "system over the last one, five and 15 minutes. Due to the " + + "long term character of that information, the fetch is done " + + "using a Sigar proxy cache with a timeout of 30 seconds.", + new MBeanAttributeInfo[] { MBEAN_ATTR_LAST1MIN, + MBEAN_ATTR_LAST5MIN, MBEAN_ATTR_LAST15MIN }, + new MBeanConstructorInfo[] { MBEAN_CONSTR_SIGAR }, null, null); + + } + + /** + * Object name this instance will give itself when being registered to an + * MBeanServer. + */ + private final String objectName; + + /** + *

Set true when the load average fetch failed with a + * SigarException that indicates the method is not implemented. + * Any subsequent call to this instance will then be answered with + * {@link #NOT_IMPLEMENTED_LOAD_VALUE}. + *

+ * + *

FIXME : This is a workaround and should be replaced by something + * more stable, as the code setting this member true relies on + * a substring being present within the exception. A proposal was made at + * issue SIGAR-52. + *

+ */ + private boolean notImplemented; + + /** + * Creates a new instance, using a new Sigar instance to fetch the data. + * + * @throws IllegalArgumentException + * If an unexpected Sigar error occurs. + */ + public SigarLoadAverage() throws IllegalArgumentException { + this(new Sigar()); + } + + /** + * Creates a new instance, using the Sigar instance specified to fetch the + * data. + * + * @param sigar + * The Sigar instance to use to fetch data from + * + * @throws IllegalArgumentException + * If an unexpected Sigar error occurs + */ + public SigarLoadAverage(Sigar sigar) throws IllegalArgumentException { + super(sigar, CACHED_30SEC); + + // all fine + this.objectName = SigarInvokerJMX.DOMAIN_NAME + ":" + MBEAN_ATTR_TYPE + + "=" + MBEAN_TYPE; + } + + /** + * Object name this instance will give itself when being registered to an + * MBeanServer. + */ + public String getObjectName() { + return this.objectName; + } + + /** + * @return The load average in the last minute, as a fraction of 1, or + * -1.0d if the load cannot be determined on this platform + */ + public double getLastMinute() { + try { + return sigarImpl.getLoadAverage()[0]; + + } catch (SigarNotImplementedException e) { + return NOT_IMPLEMENTED_LOAD_VALUE; + + } catch (SigarException e) { + throw unexpectedError(MBEAN_TYPE, e); + } + } + + /** + * @return The load average over the last five minutes, as a fraction of 1, + * or -1.0d if the load cannot be determined on this + * platform + */ + public double getLastFiveMinutes() { + try { + return sigarImpl.getLoadAverage()[1]; + + } catch (SigarNotImplementedException e) { + return NOT_IMPLEMENTED_LOAD_VALUE; + + } catch (SigarException e) { + throw unexpectedError(MBEAN_TYPE, e); + } + } + + /** + * @return The load average over the last 15 minutes, as a fraction of 1, or + * -1.0d if the load cannot be determined on this platform + */ + public double getLast15Minutes() { + try { + return sigarImpl.getLoadAverage()[2]; + + } catch (SigarNotImplementedException e) { + return NOT_IMPLEMENTED_LOAD_VALUE; + + } catch (SigarException e) { + throw unexpectedError(MBEAN_TYPE, e); + } + } + + // ------- + // Implementation of the DynamicMBean interface + // ------- + + /* + * (non-Javadoc) + * + * @see DynamicMBean#getAttribute(String) + */ + public Object getAttribute(String attr) throws AttributeNotFoundException { + + if (MBEAN_ATTR_LAST1MIN.getName().equals(attr)) { + return new Double(getLastMinute()); + + } else if (MBEAN_ATTR_LAST5MIN.getName().equals(attr)) { + return new Double(getLastFiveMinutes()); + + } else if (MBEAN_ATTR_LAST15MIN.getName().equals(attr)) { + return new Double(getLast15Minutes()); + + } else { + throw new AttributeNotFoundException(attr); + } + } + + /* + * (non-Javadoc) + * + * @see DynamicMBean#setAttribute(Attribute) + */ + public void setAttribute(Attribute attr) throws AttributeNotFoundException { + throw new AttributeNotFoundException(attr.getName()); + } + + /* + * (non-Javadoc) + * + * @see DynamicMBean#invoke(String, Object[], String[]) + */ + public Object invoke(String actionName, Object[] params, String[] signature) + throws ReflectionException { + throw new ReflectionException(new NoSuchMethodException(actionName), + actionName); + } + + /* + * (non-Javadoc) + * + * @see DynamicMBean#getMBeanInfo() + */ + public MBeanInfo getMBeanInfo() { + return MBEAN_INFO; + } +} diff --git a/bindings/java/src/org/hyperic/sigar/jmx/SigarRegistry.java b/bindings/java/src/org/hyperic/sigar/jmx/SigarRegistry.java index 43fc091f..d6dee6b6 100644 --- a/bindings/java/src/org/hyperic/sigar/jmx/SigarRegistry.java +++ b/bindings/java/src/org/hyperic/sigar/jmx/SigarRegistry.java @@ -1,342 +1,342 @@ -/* - * Copyright (C) [2004, 2005, 2006, 2007], Hyperic, Inc. - * This file is part of SIGAR. - * - * SIGAR is free software; you can redistribute it and/or modify - * it under the terms version 2 of the GNU General Public License as - * published by the Free Software Foundation. This program is distributed - * in the hope that it will be useful, but WITHOUT ANY WARRANTY; without - * even the implied warranty of MERCHANTABILITY or FITNESS FOR A - * PARTICULAR PURPOSE. See the GNU General Public License for more - * details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 - * USA. - */ - -package org.hyperic.sigar.jmx; - -import java.util.ArrayList; - -import javax.management.Attribute; -import javax.management.AttributeNotFoundException; -import javax.management.MBeanConstructorInfo; -import javax.management.MBeanException; -import javax.management.MBeanInfo; -import javax.management.MBeanParameterInfo; -import javax.management.MBeanServer; -import javax.management.ObjectInstance; -import javax.management.ObjectName; -import javax.management.ReflectionException; - -import org.hyperic.sigar.Sigar; -import org.hyperic.sigar.SigarException; - -/** - *

Registry of all Sigar MBeans. Can be used as a convenient way to invoke - * Sigar MBeans at a central point. This brings a bunch of advantages with - * it:

- * - * - * - *

So using this class to manage the Sigar MBeans requires one line of code - * for creation, registration and MBean spawning, and one line of code to shut - * it all down again.

- * - * @author Bjoern Martin - * @since 1.5 - */ -public class SigarRegistry extends AbstractMBean { - - private static final String MBEAN_TYPE = "SigarRegistry"; - - private static final MBeanInfo MBEAN_INFO; - - private static final MBeanConstructorInfo MBEAN_CONSTR_DEFAULT; - -// private static final MBeanOperationInfo MBEAN_OPER_LISTPROCESSES; - - static { - MBEAN_CONSTR_DEFAULT = new MBeanConstructorInfo( - SigarRegistry.class.getName(), - "Creates a new instance of this class. Will create the Sigar " - + "instance this class uses when constructing other MBeans", - new MBeanParameterInfo[0]); -// MBEAN_OPER_LISTPROCESSES = new MBeanOperationInfo("listProcesses", -// "Executes a query returning the process IDs of all processes " + -// "found on the system.", -// null /* new MBeanParameterInfo[0] */, -// String.class.getName(), MBeanOperationInfo.INFO); - - MBEAN_INFO = new MBeanInfo( - SigarRegistry.class.getName(), - "Sigar MBean registry. Provides a central point for creation " - + "and destruction of Sigar MBeans. Any Sigar MBean created via " - + "this instance will automatically be cleaned up when this " - + "instance is deregistered from the MBean server.", - null /*new MBeanAttributeInfo[0]*/, - new MBeanConstructorInfo[] { MBEAN_CONSTR_DEFAULT }, - null /*new MBeanOperationInfo[0] */, - null /*new MBeanNotificationInfo[0]*/); - } - - private final String objectName; - - private final ArrayList managedBeans; - - /** - * Creates a new instance of this class. Will create the Sigar instance this - * class uses when constructing other MBeans. - */ - public SigarRegistry() { - super(new Sigar(), CACHELESS); - this.objectName = SigarInvokerJMX.DOMAIN_NAME + ":" + MBEAN_ATTR_TYPE - + "=" + MBEAN_TYPE; - this.managedBeans = new ArrayList(); - } - - /* (non-Javadoc) - * @see AbstractMBean#getObjectName() - */ - public String getObjectName() { - return this.objectName; - } - -/* public String listProcesses() { - try { - final long start = System.currentTimeMillis(); - long[] ids = sigar.getProcList(); - StringBuffer procNames = new StringBuffer(); - for (int i = 0; i < ids.length; i++) { - try { - procNames.append(ids[i] + ":" + sigar.getProcExe(ids[i]).getName()).append('\n'); - } catch (SigarException e) { - procNames.append(ids[i] + ":" + e.getMessage()).append('\n'); - } - } - - final long end = System.currentTimeMillis(); - procNames.append("-- Took " + (end-start) + "ms"); - return procNames.toString(); - - } catch (SigarException e) { - throw unexpectedError("ProcList", e); - } - } -*/ - /* (non-Javadoc) - * @see javax.management.DynamicMBean#getAttribute(java.lang.String) - */ - public Object getAttribute(String attr) throws AttributeNotFoundException { - throw new AttributeNotFoundException(attr); - } - - /* (non-Javadoc) - * @see javax.management.DynamicMBean#setAttribute(javax.management.Attribute) - */ - public void setAttribute(Attribute attr) throws AttributeNotFoundException { - throw new AttributeNotFoundException(attr.getName()); - } - - /* (non-Javadoc) - * @see javax.management.DynamicMBean#invoke(java.lang.String, java.lang.Object[], java.lang.String[]) - */ - public Object invoke(String action, Object[] params, String[] signatures) - throws MBeanException, ReflectionException { - -/* if (MBEAN_OPER_LISTPROCESSES.getName().equals(action)) - return listProcesses(); - - else */ - throw new ReflectionException(new NoSuchMethodException(action), action); - } - - /* (non-Javadoc) - * @see javax.management.DynamicMBean#getMBeanInfo() - */ - public MBeanInfo getMBeanInfo() { - return MBEAN_INFO; - } - - // ------- - // Implementation of the MBeanRegistration interface - // ------- - - /** - * Registers the default set of Sigar MBeans. Before doing so, a super call - * is made to satisfy {@link AbstractMBean}. - * - * @see AbstractMBean#postRegister(Boolean) - */ - public void postRegister(Boolean success) { - - super.postRegister(success); - - if (!success.booleanValue()) - return; - - // get CPUs - registerCpuBeans(); - - // get memory - registerMemoryBeans(); - - // get system - registerSystemBeans(); - } - - /** - * Registers MBeans for the Sigar types Cpu, CpuPerc - * and CpuInfo. One instance will be registered for each CPU - * (core?) found. - */ - private void registerCpuBeans() { - ObjectInstance nextRegistered = null; - - try { - final int cpuCount = sigar.getCpuInfoList().length; - for (int i = 0; i < cpuCount; i++) { - // add CPU bean - SigarCpu nextCpu = new SigarCpu(sigarImpl, i); - try { - if (!mbeanServer.isRegistered(new ObjectName(nextCpu - .getObjectName()))) - nextRegistered = mbeanServer.registerMBean(nextCpu, - null); - } catch (Exception e) { // ignore - } - // add MBean to set of managed beans - if (nextRegistered != null) - managedBeans.add(nextRegistered.getObjectName()); - nextRegistered = null; - - // add CPU percentage bean - SigarCpuPerc nextCpuPerc = new SigarCpuPerc(sigarImpl, i); - try { - if (!mbeanServer.isRegistered(new ObjectName(nextCpuPerc - .getObjectName()))) - nextRegistered = mbeanServer.registerMBean(nextCpuPerc, - null); - } catch (Exception e) { // ignore - } - // add MBean to set of managed beans - if (nextRegistered != null) - managedBeans.add(nextRegistered.getObjectName()); - nextRegistered = null; - - // add CPU info bean - SigarCpuInfo nextCpuInfo = new SigarCpuInfo(sigarImpl, i); - try { - if (!mbeanServer.isRegistered(new ObjectName(nextCpuInfo - .getObjectName()))) - nextRegistered = mbeanServer.registerMBean(nextCpuInfo, - null); - } catch (Exception e) { // ignore - } - // add MBean to set of managed beans - if (nextRegistered != null) - managedBeans.add(nextRegistered.getObjectName()); - nextRegistered = null; - } - - } catch (SigarException e) { - throw unexpectedError("CpuInfoList", e); - } - } - - /** - * Registers MBeans for the Sigar types Mem and Swap. - */ - private void registerMemoryBeans() { - - ObjectInstance nextRegistered = null; - - // add physical memory bean - SigarMem mem = new SigarMem(sigarImpl); - - try { - if (!mbeanServer.isRegistered(new ObjectName(mem.getObjectName()))) - nextRegistered = mbeanServer.registerMBean(mem, null); - } catch (Exception e) { // ignore - } - - // add MBean to set of managed beans - if (nextRegistered != null) - managedBeans.add(nextRegistered.getObjectName()); - nextRegistered = null; - - // add swap memory bean - SigarSwap swap = new SigarSwap(sigarImpl); - try { - if (!mbeanServer.isRegistered(new ObjectName(swap.getObjectName()))) - nextRegistered = mbeanServer.registerMBean(swap, null); - } catch (Exception e) { // ignore - nextRegistered = null; - } - - // add MBean to set of managed beans - if (nextRegistered != null) - managedBeans.add(nextRegistered.getObjectName()); - nextRegistered = null; - } - - /** - * Registers MBeans for the Sigar types LoadAverage... - */ - private void registerSystemBeans() { - - ObjectInstance nextRegistered = null; - - // add load average bean - SigarLoadAverage loadAvg = new SigarLoadAverage(sigarImpl); - - try { - if (!mbeanServer.isRegistered(new ObjectName(loadAvg - .getObjectName()))) - nextRegistered = mbeanServer.registerMBean(loadAvg, null); - } catch (Exception e) { // ignore - } - - // add MBean to set of managed beans - if (nextRegistered != null) - managedBeans.add(nextRegistered.getObjectName()); - nextRegistered = null; - } - - /** - * Deregisters all Sigar MBeans that were created and registered using this - * instance. After doing so, a super call is made to satisfy {@link AbstractMBean}. - * @throws Exception - * - * @see AbstractMBean#preDeregister() - */ - public void preDeregister() throws Exception { - - // count backwards to remove ONs immediately - for (int i = managedBeans.size() - 1; i >= 0; i--) { - ObjectName next = (ObjectName) managedBeans.remove(i); - if (mbeanServer.isRegistered(next)) { - try { - mbeanServer.unregisterMBean(next); - } catch (Exception e) { // ignore - } - } - } - - // do the super call - super.preDeregister(); - } -} +/* + * Copyright (C) [2004, 2005, 2006, 2007], Hyperic, Inc. + * This file is part of SIGAR. + * + * SIGAR is free software; you can redistribute it and/or modify + * it under the terms version 2 of the GNU General Public License as + * published by the Free Software Foundation. This program is distributed + * in the hope that it will be useful, but WITHOUT ANY WARRANTY; without + * even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU General Public License for more + * details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 + * USA. + */ + +package org.hyperic.sigar.jmx; + +import java.util.ArrayList; + +import javax.management.Attribute; +import javax.management.AttributeNotFoundException; +import javax.management.MBeanConstructorInfo; +import javax.management.MBeanException; +import javax.management.MBeanInfo; +import javax.management.MBeanParameterInfo; +import javax.management.MBeanServer; +import javax.management.ObjectInstance; +import javax.management.ObjectName; +import javax.management.ReflectionException; + +import org.hyperic.sigar.Sigar; +import org.hyperic.sigar.SigarException; + +/** + *

Registry of all Sigar MBeans. Can be used as a convenient way to invoke + * Sigar MBeans at a central point. This brings a bunch of advantages with + * it:

+ * + * + * + *

So using this class to manage the Sigar MBeans requires one line of code + * for creation, registration and MBean spawning, and one line of code to shut + * it all down again.

+ * + * @author Bjoern Martin + * @since 1.5 + */ +public class SigarRegistry extends AbstractMBean { + + private static final String MBEAN_TYPE = "SigarRegistry"; + + private static final MBeanInfo MBEAN_INFO; + + private static final MBeanConstructorInfo MBEAN_CONSTR_DEFAULT; + +// private static final MBeanOperationInfo MBEAN_OPER_LISTPROCESSES; + + static { + MBEAN_CONSTR_DEFAULT = new MBeanConstructorInfo( + SigarRegistry.class.getName(), + "Creates a new instance of this class. Will create the Sigar " + + "instance this class uses when constructing other MBeans", + new MBeanParameterInfo[0]); +// MBEAN_OPER_LISTPROCESSES = new MBeanOperationInfo("listProcesses", +// "Executes a query returning the process IDs of all processes " + +// "found on the system.", +// null /* new MBeanParameterInfo[0] */, +// String.class.getName(), MBeanOperationInfo.INFO); + + MBEAN_INFO = new MBeanInfo( + SigarRegistry.class.getName(), + "Sigar MBean registry. Provides a central point for creation " + + "and destruction of Sigar MBeans. Any Sigar MBean created via " + + "this instance will automatically be cleaned up when this " + + "instance is deregistered from the MBean server.", + null /*new MBeanAttributeInfo[0]*/, + new MBeanConstructorInfo[] { MBEAN_CONSTR_DEFAULT }, + null /*new MBeanOperationInfo[0] */, + null /*new MBeanNotificationInfo[0]*/); + } + + private final String objectName; + + private final ArrayList managedBeans; + + /** + * Creates a new instance of this class. Will create the Sigar instance this + * class uses when constructing other MBeans. + */ + public SigarRegistry() { + super(new Sigar(), CACHELESS); + this.objectName = SigarInvokerJMX.DOMAIN_NAME + ":" + MBEAN_ATTR_TYPE + + "=" + MBEAN_TYPE; + this.managedBeans = new ArrayList(); + } + + /* (non-Javadoc) + * @see AbstractMBean#getObjectName() + */ + public String getObjectName() { + return this.objectName; + } + +/* public String listProcesses() { + try { + final long start = System.currentTimeMillis(); + long[] ids = sigar.getProcList(); + StringBuffer procNames = new StringBuffer(); + for (int i = 0; i < ids.length; i++) { + try { + procNames.append(ids[i] + ":" + sigar.getProcExe(ids[i]).getName()).append('\n'); + } catch (SigarException e) { + procNames.append(ids[i] + ":" + e.getMessage()).append('\n'); + } + } + + final long end = System.currentTimeMillis(); + procNames.append("-- Took " + (end-start) + "ms"); + return procNames.toString(); + + } catch (SigarException e) { + throw unexpectedError("ProcList", e); + } + } +*/ + /* (non-Javadoc) + * @see javax.management.DynamicMBean#getAttribute(java.lang.String) + */ + public Object getAttribute(String attr) throws AttributeNotFoundException { + throw new AttributeNotFoundException(attr); + } + + /* (non-Javadoc) + * @see javax.management.DynamicMBean#setAttribute(javax.management.Attribute) + */ + public void setAttribute(Attribute attr) throws AttributeNotFoundException { + throw new AttributeNotFoundException(attr.getName()); + } + + /* (non-Javadoc) + * @see javax.management.DynamicMBean#invoke(java.lang.String, java.lang.Object[], java.lang.String[]) + */ + public Object invoke(String action, Object[] params, String[] signatures) + throws MBeanException, ReflectionException { + +/* if (MBEAN_OPER_LISTPROCESSES.getName().equals(action)) + return listProcesses(); + + else */ + throw new ReflectionException(new NoSuchMethodException(action), action); + } + + /* (non-Javadoc) + * @see javax.management.DynamicMBean#getMBeanInfo() + */ + public MBeanInfo getMBeanInfo() { + return MBEAN_INFO; + } + + // ------- + // Implementation of the MBeanRegistration interface + // ------- + + /** + * Registers the default set of Sigar MBeans. Before doing so, a super call + * is made to satisfy {@link AbstractMBean}. + * + * @see AbstractMBean#postRegister(Boolean) + */ + public void postRegister(Boolean success) { + + super.postRegister(success); + + if (!success.booleanValue()) + return; + + // get CPUs + registerCpuBeans(); + + // get memory + registerMemoryBeans(); + + // get system + registerSystemBeans(); + } + + /** + * Registers MBeans for the Sigar types Cpu, CpuPerc + * and CpuInfo. One instance will be registered for each CPU + * (core?) found. + */ + private void registerCpuBeans() { + ObjectInstance nextRegistered = null; + + try { + final int cpuCount = sigar.getCpuInfoList().length; + for (int i = 0; i < cpuCount; i++) { + // add CPU bean + SigarCpu nextCpu = new SigarCpu(sigarImpl, i); + try { + if (!mbeanServer.isRegistered(new ObjectName(nextCpu + .getObjectName()))) + nextRegistered = mbeanServer.registerMBean(nextCpu, + null); + } catch (Exception e) { // ignore + } + // add MBean to set of managed beans + if (nextRegistered != null) + managedBeans.add(nextRegistered.getObjectName()); + nextRegistered = null; + + // add CPU percentage bean + SigarCpuPerc nextCpuPerc = new SigarCpuPerc(sigarImpl, i); + try { + if (!mbeanServer.isRegistered(new ObjectName(nextCpuPerc + .getObjectName()))) + nextRegistered = mbeanServer.registerMBean(nextCpuPerc, + null); + } catch (Exception e) { // ignore + } + // add MBean to set of managed beans + if (nextRegistered != null) + managedBeans.add(nextRegistered.getObjectName()); + nextRegistered = null; + + // add CPU info bean + SigarCpuInfo nextCpuInfo = new SigarCpuInfo(sigarImpl, i); + try { + if (!mbeanServer.isRegistered(new ObjectName(nextCpuInfo + .getObjectName()))) + nextRegistered = mbeanServer.registerMBean(nextCpuInfo, + null); + } catch (Exception e) { // ignore + } + // add MBean to set of managed beans + if (nextRegistered != null) + managedBeans.add(nextRegistered.getObjectName()); + nextRegistered = null; + } + + } catch (SigarException e) { + throw unexpectedError("CpuInfoList", e); + } + } + + /** + * Registers MBeans for the Sigar types Mem and Swap. + */ + private void registerMemoryBeans() { + + ObjectInstance nextRegistered = null; + + // add physical memory bean + SigarMem mem = new SigarMem(sigarImpl); + + try { + if (!mbeanServer.isRegistered(new ObjectName(mem.getObjectName()))) + nextRegistered = mbeanServer.registerMBean(mem, null); + } catch (Exception e) { // ignore + } + + // add MBean to set of managed beans + if (nextRegistered != null) + managedBeans.add(nextRegistered.getObjectName()); + nextRegistered = null; + + // add swap memory bean + SigarSwap swap = new SigarSwap(sigarImpl); + try { + if (!mbeanServer.isRegistered(new ObjectName(swap.getObjectName()))) + nextRegistered = mbeanServer.registerMBean(swap, null); + } catch (Exception e) { // ignore + nextRegistered = null; + } + + // add MBean to set of managed beans + if (nextRegistered != null) + managedBeans.add(nextRegistered.getObjectName()); + nextRegistered = null; + } + + /** + * Registers MBeans for the Sigar types LoadAverage... + */ + private void registerSystemBeans() { + + ObjectInstance nextRegistered = null; + + // add load average bean + SigarLoadAverage loadAvg = new SigarLoadAverage(sigarImpl); + + try { + if (!mbeanServer.isRegistered(new ObjectName(loadAvg + .getObjectName()))) + nextRegistered = mbeanServer.registerMBean(loadAvg, null); + } catch (Exception e) { // ignore + } + + // add MBean to set of managed beans + if (nextRegistered != null) + managedBeans.add(nextRegistered.getObjectName()); + nextRegistered = null; + } + + /** + * Deregisters all Sigar MBeans that were created and registered using this + * instance. After doing so, a super call is made to satisfy {@link AbstractMBean}. + * @throws Exception + * + * @see AbstractMBean#preDeregister() + */ + public void preDeregister() throws Exception { + + // count backwards to remove ONs immediately + for (int i = managedBeans.size() - 1; i >= 0; i--) { + ObjectName next = (ObjectName) managedBeans.remove(i); + if (mbeanServer.isRegistered(next)) { + try { + mbeanServer.unregisterMBean(next); + } catch (Exception e) { // ignore + } + } + } + + // do the super call + super.preDeregister(); + } +} From 7ef48da3271e3a354878629ba0d958f75aca49fd Mon Sep 17 00:00:00 2001 From: Doug MacEachern Date: Mon, 9 Feb 2009 14:21:00 -0800 Subject: [PATCH 02/18] dos2unix --- .../src/org/hyperic/sigar/jmx/SigarCpu.java | 668 +++++++++--------- .../org/hyperic/sigar/jmx/SigarCpuInfo.java | 572 +++++++-------- .../org/hyperic/sigar/jmx/SigarCpuPerc.java | 666 ++++++++--------- .../src/org/hyperic/sigar/jmx/SigarMem.java | 502 ++++++------- .../src/org/hyperic/sigar/jmx/SigarSwap.java | 398 +++++------ 5 files changed, 1403 insertions(+), 1403 deletions(-) diff --git a/bindings/java/src/org/hyperic/sigar/jmx/SigarCpu.java b/bindings/java/src/org/hyperic/sigar/jmx/SigarCpu.java index f1f6453a..14ae253a 100644 --- a/bindings/java/src/org/hyperic/sigar/jmx/SigarCpu.java +++ b/bindings/java/src/org/hyperic/sigar/jmx/SigarCpu.java @@ -1,334 +1,334 @@ -/* - * Copyright (C) [2004, 2005, 2006, 2007], Hyperic, Inc. - * This file is part of SIGAR. - * - * SIGAR is free software; you can redistribute it and/or modify - * it under the terms version 2 of the GNU General Public License as - * published by the Free Software Foundation. This program is distributed - * in the hope that it will be useful, but WITHOUT ANY WARRANTY; without - * even the implied warranty of MERCHANTABILITY or FITNESS FOR A - * PARTICULAR PURPOSE. See the GNU General Public License for more - * details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 - * USA. - */ - -package org.hyperic.sigar.jmx; - -import javax.management.Attribute; -import javax.management.AttributeNotFoundException; -import javax.management.MBeanAttributeInfo; -import javax.management.MBeanConstructorInfo; -import javax.management.MBeanInfo; -import javax.management.MBeanParameterInfo; -import javax.management.ReflectionException; - -import org.hyperic.sigar.Sigar; -import org.hyperic.sigar.SigarException; - -/** - * Sigar JMX MBean implementation for the Cpu information - * package. Provides an OpenMBean conform implementation. - * - * @author Bjoern Martin - * @since 1.5 - */ -public class SigarCpu extends AbstractMBean { - - private static final String MBEAN_TYPE = "CpuList"; - - private static final MBeanInfo MBEAN_INFO; - - private static final MBeanAttributeInfo MBEAN_ATTR_CPUINDEX; - - private static final MBeanAttributeInfo MBEAN_ATTR_IDLE; - - private static final MBeanAttributeInfo MBEAN_ATTR_NICE; - - private static final MBeanAttributeInfo MBEAN_ATTR_SYS; - - private static final MBeanAttributeInfo MBEAN_ATTR_TOTAL; - - private static final MBeanAttributeInfo MBEAN_ATTR_USER; - - private static final MBeanAttributeInfo MBEAN_ATTR_WAIT; - - private static final MBeanConstructorInfo MBEAN_CONSTR_CPUINDEX; - - private static final MBeanConstructorInfo MBEAN_CONSTR_CPUINDEX_SIGAR; - - private static MBeanParameterInfo MBEAN_PARAM_CPUINDEX; - - private static MBeanParameterInfo MBEAN_PARAM_SIGAR; - - static { - MBEAN_ATTR_CPUINDEX = new MBeanAttributeInfo("CpuIndex", "int", - "The index of the CPU, typically starting at 0", true, false, - false); - MBEAN_ATTR_IDLE = new MBeanAttributeInfo("Idle", "long", - "The idle time of the CPU, in [ms]", true, false, false); - MBEAN_ATTR_NICE = new MBeanAttributeInfo("Nice", "long", - "The time of the CPU spent on nice priority, in [ms]", true, - false, false); - MBEAN_ATTR_SYS = new MBeanAttributeInfo("Sys", "long", - "The time of the CPU used by the system, in [ms]", true, false, - false); - MBEAN_ATTR_TOTAL = new MBeanAttributeInfo("Total", "long", - "The total time of the CPU, in [ms]", true, false, false); - MBEAN_ATTR_USER = new MBeanAttributeInfo("User", "long", - "The time of the CPU used by user processes, in [ms]", true, - false, false); - MBEAN_ATTR_WAIT = new MBeanAttributeInfo("Wait", "long", - "The time the CPU had to wait for data to be loaded, in [ms]", - true, false, false); - MBEAN_PARAM_CPUINDEX = new MBeanParameterInfo("cpuIndex", "int", - "The index of the CPU to read data for. Must be >= 0 " - + "and not exceed the CPU count of the system"); - MBEAN_PARAM_SIGAR = new MBeanParameterInfo("sigar", Sigar.class - .getName(), "The Sigar instance to use to fetch data from"); - MBEAN_CONSTR_CPUINDEX = new MBeanConstructorInfo(SigarCpu.class - .getName(), - "Creates a new instance for the CPU index specified, " - + "using a new Sigar instance to fetch the data. " - + "Fails if the CPU index is out of range.", - new MBeanParameterInfo[] { MBEAN_PARAM_CPUINDEX }); - MBEAN_CONSTR_CPUINDEX_SIGAR = new MBeanConstructorInfo( - SigarCpu.class.getName(), - "Creates a new instance for the CPU index specified, " - + "using the Sigar instance specified to fetch the data. " - + "Fails if the CPU index is out of range.", - new MBeanParameterInfo[] { MBEAN_PARAM_SIGAR, - MBEAN_PARAM_CPUINDEX }); - MBEAN_INFO = new MBeanInfo( - SigarCpu.class.getName(), - "Sigar CPU MBean. Provides raw timing data for a single " - + "CPU. The data is cached for 500ms, meaning each request " - + "(and as a result each block request to all parameters) " - + "within half a second is satisfied from the same dataset.", - new MBeanAttributeInfo[] { MBEAN_ATTR_CPUINDEX, - MBEAN_ATTR_IDLE, MBEAN_ATTR_NICE, MBEAN_ATTR_SYS, - MBEAN_ATTR_TOTAL, MBEAN_ATTR_USER, MBEAN_ATTR_WAIT }, - new MBeanConstructorInfo[] { MBEAN_CONSTR_CPUINDEX, - MBEAN_CONSTR_CPUINDEX_SIGAR }, null, null); - - } - - /** - * Index of the CPU processed by the instance. - */ - private final int cpuIndex; - - /** - * Object name this instance will give itself when being registered to an - * MBeanServer. - */ - private final String objectName; - - /** - * Creates a new instance for the CPU index specified, using a new Sigar - * instance to fetch the data. Fails if the CPU index is out of range. - * - * @param cpuIndex - * The index of the CPU to read data for. Must be >= 0 - * and not exceed the CPU count of the system. - * - * @throws IllegalArgumentException - * If the CPU index is out of range or an unexpected Sigar error - * occurs. - */ - public SigarCpu(int cpuIndex) throws IllegalArgumentException { - this(new Sigar(), cpuIndex); - } - - /** - * Creates a new instance for the CPU index specified, using the Sigar - * instance specified to fetch the data. Fails if the CPU index is out of - * range. - * - * @param sigar - * The Sigar instance to use to fetch data from - * @param cpuIndex - * The index of the CPU to read data for. Must be - * >= 0 and not exceed the CPU count of the - * system. - * - * @throws IllegalArgumentException - * If the CPU index is out of range or an unexpected Sigar error - * occurs - */ - public SigarCpu(Sigar sigar, int cpuIndex) throws IllegalArgumentException { - super(sigar, CACHED_500MS); - - // check index - if (cpuIndex < 0) - throw new IllegalArgumentException( - "CPU index has to be non-negative: " + cpuIndex); - try { - int cpuCount; - if ((cpuCount = sigar.getCpuList().length) < cpuIndex) - throw new IllegalArgumentException( - "CPU index out of range (found " + cpuCount - + " CPU(s)): " + cpuIndex); - - } catch (SigarException e) { - throw unexpectedError(MBEAN_TYPE, e); - } - - // all fine - this.cpuIndex = cpuIndex; - this.objectName = SigarInvokerJMX.DOMAIN_NAME + ":" + MBEAN_ATTR_TYPE - + "=Cpu," - + MBEAN_ATTR_CPUINDEX.getName().substring(0, 1).toLowerCase() - + MBEAN_ATTR_CPUINDEX.getName().substring(1) + "=" + cpuIndex; - } - - /** - * Object name this instance will give itself when being registered to an - * MBeanServer. - */ - public String getObjectName() { - return this.objectName; - } - - /** - * @return The index of the CPU, typically starting at 0 - */ - public int getCpuIndex() { - return this.cpuIndex; - } - - /** - * @return The idle time of the CPU, in [ms] - */ - public long getIdle() { - try { - return sigar.getCpuList()[this.cpuIndex].getIdle(); - } catch (SigarException e) { - throw unexpectedError(MBEAN_TYPE, e); - } - } - - /** - * @return The time of the CPU spent on nice priority, in [ms] - */ - public long getNice() { - try { - return sigar.getCpuList()[this.cpuIndex].getNice(); - } catch (SigarException e) { - throw unexpectedError(MBEAN_TYPE, e); - } - } - - /** - * @return The time of the CPU used by the system, in [ms] - */ - public long getSys() { - try { - return sigar.getCpuList()[this.cpuIndex].getSys(); - } catch (SigarException e) { - throw unexpectedError(MBEAN_TYPE, e); - } - } - - /** - * @return The total time of the CPU, in [ms] - */ - public long getTotal() { - try { - return sigar.getCpuList()[this.cpuIndex].getTotal(); - } catch (SigarException e) { - throw unexpectedError(MBEAN_TYPE, e); - } - } - - /** - * @return The time of the CPU used by user processes, in [ms] - */ - public long getUser() { - try { - return sigar.getCpuList()[this.cpuIndex].getUser(); - } catch (SigarException e) { - throw unexpectedError(MBEAN_TYPE, e); - } - } - - /** - * @return The time the CPU had to wait for data to be loaded, in [ms] - */ - public long getWait() { - try { - return sigar.getCpuList()[this.cpuIndex].getWait(); - } catch (SigarException e) { - throw unexpectedError(MBEAN_TYPE, e); - } - } - - // ------- - // Implementation of the DynamicMBean interface - // ------- - - /* - * (non-Javadoc) - * - * @see DynamicMBean#getAttribute(String) - */ - public Object getAttribute(String attr) throws AttributeNotFoundException { - - if (MBEAN_ATTR_CPUINDEX.getName().equals(attr)) { - return new Integer(getCpuIndex()); - - } else if (MBEAN_ATTR_IDLE.getName().equals(attr)) { - return new Long(getIdle()); - - } else if (MBEAN_ATTR_NICE.getName().equals(attr)) { - return new Long(getNice()); - - } else if (MBEAN_ATTR_SYS.getName().equals(attr)) { - return new Long(getSys()); - - } else if (MBEAN_ATTR_TOTAL.getName().equals(attr)) { - return new Long(getTotal()); - - } else if (MBEAN_ATTR_USER.getName().equals(attr)) { - return new Long(getUser()); - - } else if (MBEAN_ATTR_WAIT.getName().equals(attr)) { - return new Long(getWait()); - - } else { - throw new AttributeNotFoundException(attr); - } - } - - /* - * (non-Javadoc) - * - * @see DynamicMBean#setAttribute(Attribute) - */ - public void setAttribute(Attribute attr) throws AttributeNotFoundException { - throw new AttributeNotFoundException(attr.getName()); - } - - /* - * (non-Javadoc) - * - * @see DynamicMBean#invoke(String, Object[], String[]) - */ - public Object invoke(String actionName, Object[] params, String[] signature) - throws ReflectionException { - throw new ReflectionException(new NoSuchMethodException(actionName), - actionName); - } - - /* - * (non-Javadoc) - * - * @see DynamicMBean#getMBeanInfo() - */ - public MBeanInfo getMBeanInfo() { - return MBEAN_INFO; - } -} +/* + * Copyright (C) [2004, 2005, 2006, 2007], Hyperic, Inc. + * This file is part of SIGAR. + * + * SIGAR is free software; you can redistribute it and/or modify + * it under the terms version 2 of the GNU General Public License as + * published by the Free Software Foundation. This program is distributed + * in the hope that it will be useful, but WITHOUT ANY WARRANTY; without + * even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU General Public License for more + * details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 + * USA. + */ + +package org.hyperic.sigar.jmx; + +import javax.management.Attribute; +import javax.management.AttributeNotFoundException; +import javax.management.MBeanAttributeInfo; +import javax.management.MBeanConstructorInfo; +import javax.management.MBeanInfo; +import javax.management.MBeanParameterInfo; +import javax.management.ReflectionException; + +import org.hyperic.sigar.Sigar; +import org.hyperic.sigar.SigarException; + +/** + * Sigar JMX MBean implementation for the Cpu information + * package. Provides an OpenMBean conform implementation. + * + * @author Bjoern Martin + * @since 1.5 + */ +public class SigarCpu extends AbstractMBean { + + private static final String MBEAN_TYPE = "CpuList"; + + private static final MBeanInfo MBEAN_INFO; + + private static final MBeanAttributeInfo MBEAN_ATTR_CPUINDEX; + + private static final MBeanAttributeInfo MBEAN_ATTR_IDLE; + + private static final MBeanAttributeInfo MBEAN_ATTR_NICE; + + private static final MBeanAttributeInfo MBEAN_ATTR_SYS; + + private static final MBeanAttributeInfo MBEAN_ATTR_TOTAL; + + private static final MBeanAttributeInfo MBEAN_ATTR_USER; + + private static final MBeanAttributeInfo MBEAN_ATTR_WAIT; + + private static final MBeanConstructorInfo MBEAN_CONSTR_CPUINDEX; + + private static final MBeanConstructorInfo MBEAN_CONSTR_CPUINDEX_SIGAR; + + private static MBeanParameterInfo MBEAN_PARAM_CPUINDEX; + + private static MBeanParameterInfo MBEAN_PARAM_SIGAR; + + static { + MBEAN_ATTR_CPUINDEX = new MBeanAttributeInfo("CpuIndex", "int", + "The index of the CPU, typically starting at 0", true, false, + false); + MBEAN_ATTR_IDLE = new MBeanAttributeInfo("Idle", "long", + "The idle time of the CPU, in [ms]", true, false, false); + MBEAN_ATTR_NICE = new MBeanAttributeInfo("Nice", "long", + "The time of the CPU spent on nice priority, in [ms]", true, + false, false); + MBEAN_ATTR_SYS = new MBeanAttributeInfo("Sys", "long", + "The time of the CPU used by the system, in [ms]", true, false, + false); + MBEAN_ATTR_TOTAL = new MBeanAttributeInfo("Total", "long", + "The total time of the CPU, in [ms]", true, false, false); + MBEAN_ATTR_USER = new MBeanAttributeInfo("User", "long", + "The time of the CPU used by user processes, in [ms]", true, + false, false); + MBEAN_ATTR_WAIT = new MBeanAttributeInfo("Wait", "long", + "The time the CPU had to wait for data to be loaded, in [ms]", + true, false, false); + MBEAN_PARAM_CPUINDEX = new MBeanParameterInfo("cpuIndex", "int", + "The index of the CPU to read data for. Must be >= 0 " + + "and not exceed the CPU count of the system"); + MBEAN_PARAM_SIGAR = new MBeanParameterInfo("sigar", Sigar.class + .getName(), "The Sigar instance to use to fetch data from"); + MBEAN_CONSTR_CPUINDEX = new MBeanConstructorInfo(SigarCpu.class + .getName(), + "Creates a new instance for the CPU index specified, " + + "using a new Sigar instance to fetch the data. " + + "Fails if the CPU index is out of range.", + new MBeanParameterInfo[] { MBEAN_PARAM_CPUINDEX }); + MBEAN_CONSTR_CPUINDEX_SIGAR = new MBeanConstructorInfo( + SigarCpu.class.getName(), + "Creates a new instance for the CPU index specified, " + + "using the Sigar instance specified to fetch the data. " + + "Fails if the CPU index is out of range.", + new MBeanParameterInfo[] { MBEAN_PARAM_SIGAR, + MBEAN_PARAM_CPUINDEX }); + MBEAN_INFO = new MBeanInfo( + SigarCpu.class.getName(), + "Sigar CPU MBean. Provides raw timing data for a single " + + "CPU. The data is cached for 500ms, meaning each request " + + "(and as a result each block request to all parameters) " + + "within half a second is satisfied from the same dataset.", + new MBeanAttributeInfo[] { MBEAN_ATTR_CPUINDEX, + MBEAN_ATTR_IDLE, MBEAN_ATTR_NICE, MBEAN_ATTR_SYS, + MBEAN_ATTR_TOTAL, MBEAN_ATTR_USER, MBEAN_ATTR_WAIT }, + new MBeanConstructorInfo[] { MBEAN_CONSTR_CPUINDEX, + MBEAN_CONSTR_CPUINDEX_SIGAR }, null, null); + + } + + /** + * Index of the CPU processed by the instance. + */ + private final int cpuIndex; + + /** + * Object name this instance will give itself when being registered to an + * MBeanServer. + */ + private final String objectName; + + /** + * Creates a new instance for the CPU index specified, using a new Sigar + * instance to fetch the data. Fails if the CPU index is out of range. + * + * @param cpuIndex + * The index of the CPU to read data for. Must be >= 0 + * and not exceed the CPU count of the system. + * + * @throws IllegalArgumentException + * If the CPU index is out of range or an unexpected Sigar error + * occurs. + */ + public SigarCpu(int cpuIndex) throws IllegalArgumentException { + this(new Sigar(), cpuIndex); + } + + /** + * Creates a new instance for the CPU index specified, using the Sigar + * instance specified to fetch the data. Fails if the CPU index is out of + * range. + * + * @param sigar + * The Sigar instance to use to fetch data from + * @param cpuIndex + * The index of the CPU to read data for. Must be + * >= 0 and not exceed the CPU count of the + * system. + * + * @throws IllegalArgumentException + * If the CPU index is out of range or an unexpected Sigar error + * occurs + */ + public SigarCpu(Sigar sigar, int cpuIndex) throws IllegalArgumentException { + super(sigar, CACHED_500MS); + + // check index + if (cpuIndex < 0) + throw new IllegalArgumentException( + "CPU index has to be non-negative: " + cpuIndex); + try { + int cpuCount; + if ((cpuCount = sigar.getCpuList().length) < cpuIndex) + throw new IllegalArgumentException( + "CPU index out of range (found " + cpuCount + + " CPU(s)): " + cpuIndex); + + } catch (SigarException e) { + throw unexpectedError(MBEAN_TYPE, e); + } + + // all fine + this.cpuIndex = cpuIndex; + this.objectName = SigarInvokerJMX.DOMAIN_NAME + ":" + MBEAN_ATTR_TYPE + + "=Cpu," + + MBEAN_ATTR_CPUINDEX.getName().substring(0, 1).toLowerCase() + + MBEAN_ATTR_CPUINDEX.getName().substring(1) + "=" + cpuIndex; + } + + /** + * Object name this instance will give itself when being registered to an + * MBeanServer. + */ + public String getObjectName() { + return this.objectName; + } + + /** + * @return The index of the CPU, typically starting at 0 + */ + public int getCpuIndex() { + return this.cpuIndex; + } + + /** + * @return The idle time of the CPU, in [ms] + */ + public long getIdle() { + try { + return sigar.getCpuList()[this.cpuIndex].getIdle(); + } catch (SigarException e) { + throw unexpectedError(MBEAN_TYPE, e); + } + } + + /** + * @return The time of the CPU spent on nice priority, in [ms] + */ + public long getNice() { + try { + return sigar.getCpuList()[this.cpuIndex].getNice(); + } catch (SigarException e) { + throw unexpectedError(MBEAN_TYPE, e); + } + } + + /** + * @return The time of the CPU used by the system, in [ms] + */ + public long getSys() { + try { + return sigar.getCpuList()[this.cpuIndex].getSys(); + } catch (SigarException e) { + throw unexpectedError(MBEAN_TYPE, e); + } + } + + /** + * @return The total time of the CPU, in [ms] + */ + public long getTotal() { + try { + return sigar.getCpuList()[this.cpuIndex].getTotal(); + } catch (SigarException e) { + throw unexpectedError(MBEAN_TYPE, e); + } + } + + /** + * @return The time of the CPU used by user processes, in [ms] + */ + public long getUser() { + try { + return sigar.getCpuList()[this.cpuIndex].getUser(); + } catch (SigarException e) { + throw unexpectedError(MBEAN_TYPE, e); + } + } + + /** + * @return The time the CPU had to wait for data to be loaded, in [ms] + */ + public long getWait() { + try { + return sigar.getCpuList()[this.cpuIndex].getWait(); + } catch (SigarException e) { + throw unexpectedError(MBEAN_TYPE, e); + } + } + + // ------- + // Implementation of the DynamicMBean interface + // ------- + + /* + * (non-Javadoc) + * + * @see DynamicMBean#getAttribute(String) + */ + public Object getAttribute(String attr) throws AttributeNotFoundException { + + if (MBEAN_ATTR_CPUINDEX.getName().equals(attr)) { + return new Integer(getCpuIndex()); + + } else if (MBEAN_ATTR_IDLE.getName().equals(attr)) { + return new Long(getIdle()); + + } else if (MBEAN_ATTR_NICE.getName().equals(attr)) { + return new Long(getNice()); + + } else if (MBEAN_ATTR_SYS.getName().equals(attr)) { + return new Long(getSys()); + + } else if (MBEAN_ATTR_TOTAL.getName().equals(attr)) { + return new Long(getTotal()); + + } else if (MBEAN_ATTR_USER.getName().equals(attr)) { + return new Long(getUser()); + + } else if (MBEAN_ATTR_WAIT.getName().equals(attr)) { + return new Long(getWait()); + + } else { + throw new AttributeNotFoundException(attr); + } + } + + /* + * (non-Javadoc) + * + * @see DynamicMBean#setAttribute(Attribute) + */ + public void setAttribute(Attribute attr) throws AttributeNotFoundException { + throw new AttributeNotFoundException(attr.getName()); + } + + /* + * (non-Javadoc) + * + * @see DynamicMBean#invoke(String, Object[], String[]) + */ + public Object invoke(String actionName, Object[] params, String[] signature) + throws ReflectionException { + throw new ReflectionException(new NoSuchMethodException(actionName), + actionName); + } + + /* + * (non-Javadoc) + * + * @see DynamicMBean#getMBeanInfo() + */ + public MBeanInfo getMBeanInfo() { + return MBEAN_INFO; + } +} diff --git a/bindings/java/src/org/hyperic/sigar/jmx/SigarCpuInfo.java b/bindings/java/src/org/hyperic/sigar/jmx/SigarCpuInfo.java index 500ebed1..eb17fea9 100644 --- a/bindings/java/src/org/hyperic/sigar/jmx/SigarCpuInfo.java +++ b/bindings/java/src/org/hyperic/sigar/jmx/SigarCpuInfo.java @@ -1,286 +1,286 @@ -/* - * Copyright (C) [2004, 2005, 2006, 2007], Hyperic, Inc. - * This file is part of SIGAR. - * - * SIGAR is free software; you can redistribute it and/or modify - * it under the terms version 2 of the GNU General Public License as - * published by the Free Software Foundation. This program is distributed - * in the hope that it will be useful, but WITHOUT ANY WARRANTY; without - * even the implied warranty of MERCHANTABILITY or FITNESS FOR A - * PARTICULAR PURPOSE. See the GNU General Public License for more - * details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 - * USA. - */ - -package org.hyperic.sigar.jmx; - -import javax.management.Attribute; -import javax.management.AttributeNotFoundException; -import javax.management.MBeanAttributeInfo; -import javax.management.MBeanConstructorInfo; -import javax.management.MBeanInfo; -import javax.management.MBeanParameterInfo; -import javax.management.ReflectionException; - -import org.hyperic.sigar.Sigar; -import org.hyperic.sigar.SigarException; - -/** - * Sigar JMX MBean implementation for the CpuInfo information - * package. Provides an OpenMBean conform implementation. - * - * @author Bjoern Martin - * @since 1.5 - */ -public class SigarCpuInfo extends AbstractMBean { - - private static final String MBEAN_TYPE = "CpuInfoList"; - - private static final MBeanInfo MBEAN_INFO; - - private static final MBeanAttributeInfo MBEAN_ATTR_CPUINDEX; - - private static final MBeanAttributeInfo MBEAN_ATTR_CACHESIZE; - - private static final MBeanAttributeInfo MBEAN_ATTR_MHZ; - - private static final MBeanAttributeInfo MBEAN_ATTR_MODEL; - - private static final MBeanAttributeInfo MBEAN_ATTR_VENDOR; - - private static final MBeanConstructorInfo MBEAN_CONSTR_CPUINDEX; - - private static final MBeanConstructorInfo MBEAN_CONSTR_CPUINDEX_SIGAR; - - private static final MBeanParameterInfo MBEAN_PARAM_CPUINDEX; - - private static final MBeanParameterInfo MBEAN_PARAM_SIGAR; - - static { - MBEAN_ATTR_CPUINDEX = new MBeanAttributeInfo("CpuIndex", "int", - "The index of the CPU, typically starting at 0", true, false, - false); - MBEAN_ATTR_CACHESIZE = new MBeanAttributeInfo("CacheSize", "long", - "The cache size of the CPU, in [byte]", true, false, false); - MBEAN_ATTR_MHZ = new MBeanAttributeInfo("Mhz", "int", - "The clock speed of the CPU, in [MHz]", true, false, false); - MBEAN_ATTR_MODEL = new MBeanAttributeInfo("Model", "java.lang.String", - "The CPU model reported", true, false, false); - MBEAN_ATTR_VENDOR = new MBeanAttributeInfo("Vendor", - "java.lang.String", "The CPU vendor reported", true, false, - false); - MBEAN_PARAM_CPUINDEX = new MBeanParameterInfo("cpuIndex", "int", - "The index of the CPU to read data for. Must be >= 0 " - + "and not exceed the CPU count of the system"); - MBEAN_PARAM_SIGAR = new MBeanParameterInfo("sigar", Sigar.class - .getName(), "The Sigar instance to use to fetch data from"); - MBEAN_CONSTR_CPUINDEX = new MBeanConstructorInfo(SigarCpuInfo.class - .getName(), - "Creates a new instance for the CPU index specified, " - + "using a new Sigar instance to fetch the data. " - + "Fails if the CPU index is out of range.", - new MBeanParameterInfo[] { MBEAN_PARAM_CPUINDEX }); - MBEAN_CONSTR_CPUINDEX_SIGAR = new MBeanConstructorInfo( - SigarCpuInfo.class.getName(), - "Creates a new instance for the CPU index specified, " - + "using the Sigar instance specified to fetch the data. " - + "Fails if the CPU index is out of range.", - new MBeanParameterInfo[] { MBEAN_PARAM_SIGAR, - MBEAN_PARAM_CPUINDEX }); - MBEAN_INFO = new MBeanInfo( - SigarCpuInfo.class.getName(), - "Sigar CPU Info MBean, provides overall information for a " - + "single CPU. This information only changes if, for example, " - + "a CPU is reducing its clock frequency or shutting down " - + "part of its cache. Subsequent requests are satisfied from " - + "within a cache that invalidates after 30 seconds.", - new MBeanAttributeInfo[] { MBEAN_ATTR_CPUINDEX, - MBEAN_ATTR_CACHESIZE, MBEAN_ATTR_MHZ, MBEAN_ATTR_MODEL, - MBEAN_ATTR_VENDOR }, new MBeanConstructorInfo[] { - MBEAN_CONSTR_CPUINDEX, MBEAN_CONSTR_CPUINDEX_SIGAR }, - null, null); - - } - - /** - * Index of the CPU processed by the instance. - */ - private int cpuIndex; - - /** - * Object name this instance will give itself when being registered to an - * MBeanServer. - */ - private String objectName; - - /** - * Creates a new instance for the CPU index specified, using a new Sigar - * instance to fetch the data. Fails if the CPU index is out of range. - * - * @param cpuIndex The index of the CPU to read data for. Must be - * >= 0 and not exceed the CPU count of the system. - * - * @throws IllegalArgumentException If the CPU index is out of range or - * an unexpected Sigar error occurs - */ - public SigarCpuInfo(int index) throws IllegalArgumentException { - this(new Sigar(), index); - } - - /** - * Creates a new instance for the CPU index specified, using the Sigar - * instance specified to fetch the data. Fails if the CPU index is out - * of range. - * - * @param sigar The Sigar instance to use to fetch data from - * @param cpuIndex The index of the CPU to read data for. Must be - * >= 0 and not exceed the CPU count of the system. - * - * @throws IllegalArgumentException If the CPU index is out of range or - * an unexpected Sigar error occurs - */ - public SigarCpuInfo(Sigar sigar, int index) { - super(sigar, DEFAULT); - - // check index - if (index < 0) - throw new IllegalArgumentException( - "CPU index has to be non-negative: " + index); - try { - int cpuCount; - if ((cpuCount = sigar.getCpuInfoList().length) < index) - throw new IllegalArgumentException( - "CPU index out of range (found " + cpuCount - + " CPU(s)): " + index); - - } catch (SigarException e) { - throw unexpectedError(MBEAN_TYPE, e); - } - - // all fine - this.cpuIndex = index; - this.objectName = SigarInvokerJMX.DOMAIN_NAME + ":" + MBEAN_ATTR_TYPE - + "=CpuInfo," - + MBEAN_ATTR_CPUINDEX.getName().substring(0, 1).toLowerCase() - + MBEAN_ATTR_CPUINDEX.getName().substring(1) + "=" + cpuIndex; - } - - /** - * Object name this instance will give itself when being registered to an - * MBeanServer. - */ - public String getObjectName() { - return this.objectName; - } - - /** - * @return The index of the CPU, typically starting at 0 - */ - public int getCpuIndex() { - return this.cpuIndex; - } - - /** - * @return The cache size of the CPU, in [byte] - */ - public long getCacheSize() { - try { - return sigar.getCpuInfoList()[this.cpuIndex].getCacheSize(); - } catch (SigarException e) { - throw unexpectedError(MBEAN_TYPE, e); - } - } - - /** - * @return The clock speed of the CPU, in [MHz] - */ - public int getMhz() { - try { - return sigar.getCpuInfoList()[this.cpuIndex].getMhz(); - } catch (SigarException e) { - throw unexpectedError(MBEAN_TYPE, e); - } - } - - /** - * @return The CPU model reported - */ - public String getModel() { - try { - return sigar.getCpuInfoList()[this.cpuIndex].getModel(); - } catch (SigarException e) { - throw unexpectedError(MBEAN_TYPE, e); - } - } - - /** - * @return The CPU vendor reported - */ - public String getVendor() { - try { - return sigar.getCpuInfoList()[this.cpuIndex].getVendor(); - } catch (SigarException e) { - throw unexpectedError(MBEAN_TYPE, e); - } - } - - // ------- - // Implementation of the DynamicMBean interface - // ------- - - /* - * (non-Javadoc) - * @see DynamicMBean#getAttribute(String) - */ - public Object getAttribute(String attr) throws AttributeNotFoundException { - - if (MBEAN_ATTR_CACHESIZE.getName().equals(attr)) { - return new Long(getCacheSize()); - - } else if (MBEAN_ATTR_CPUINDEX.getName().equals(attr)) { - return new Integer(getCpuIndex()); - - } else if (MBEAN_ATTR_MHZ.getName().equals(attr)) { - return new Integer(getMhz()); - - } else if (MBEAN_ATTR_MODEL.getName().equals(attr)) { - return getModel(); - - } else if (MBEAN_ATTR_VENDOR.getName().equals(attr)) { - return getVendor(); - - } else { - throw new AttributeNotFoundException(attr); - } - } - - /* - * (non-Javadoc) - * @see DynamicMBean#setAttribute(Attribute) - */ - public void setAttribute(Attribute attr) throws AttributeNotFoundException { - throw new AttributeNotFoundException(attr.getName()); - } - - /* - * (non-Javadoc) - * @see DynamicMBean#invoke(String, Object[], String[]) - */ - public Object invoke(String actionName, Object[] params, String[] signature) - throws ReflectionException { - throw new ReflectionException(new NoSuchMethodException(actionName), - actionName); - } - - /* - * (non-Javadoc) - * @see DynamicMBean#getMBeanInfo() - */ - public MBeanInfo getMBeanInfo() { - return MBEAN_INFO; - } -} +/* + * Copyright (C) [2004, 2005, 2006, 2007], Hyperic, Inc. + * This file is part of SIGAR. + * + * SIGAR is free software; you can redistribute it and/or modify + * it under the terms version 2 of the GNU General Public License as + * published by the Free Software Foundation. This program is distributed + * in the hope that it will be useful, but WITHOUT ANY WARRANTY; without + * even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU General Public License for more + * details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 + * USA. + */ + +package org.hyperic.sigar.jmx; + +import javax.management.Attribute; +import javax.management.AttributeNotFoundException; +import javax.management.MBeanAttributeInfo; +import javax.management.MBeanConstructorInfo; +import javax.management.MBeanInfo; +import javax.management.MBeanParameterInfo; +import javax.management.ReflectionException; + +import org.hyperic.sigar.Sigar; +import org.hyperic.sigar.SigarException; + +/** + * Sigar JMX MBean implementation for the CpuInfo information + * package. Provides an OpenMBean conform implementation. + * + * @author Bjoern Martin + * @since 1.5 + */ +public class SigarCpuInfo extends AbstractMBean { + + private static final String MBEAN_TYPE = "CpuInfoList"; + + private static final MBeanInfo MBEAN_INFO; + + private static final MBeanAttributeInfo MBEAN_ATTR_CPUINDEX; + + private static final MBeanAttributeInfo MBEAN_ATTR_CACHESIZE; + + private static final MBeanAttributeInfo MBEAN_ATTR_MHZ; + + private static final MBeanAttributeInfo MBEAN_ATTR_MODEL; + + private static final MBeanAttributeInfo MBEAN_ATTR_VENDOR; + + private static final MBeanConstructorInfo MBEAN_CONSTR_CPUINDEX; + + private static final MBeanConstructorInfo MBEAN_CONSTR_CPUINDEX_SIGAR; + + private static final MBeanParameterInfo MBEAN_PARAM_CPUINDEX; + + private static final MBeanParameterInfo MBEAN_PARAM_SIGAR; + + static { + MBEAN_ATTR_CPUINDEX = new MBeanAttributeInfo("CpuIndex", "int", + "The index of the CPU, typically starting at 0", true, false, + false); + MBEAN_ATTR_CACHESIZE = new MBeanAttributeInfo("CacheSize", "long", + "The cache size of the CPU, in [byte]", true, false, false); + MBEAN_ATTR_MHZ = new MBeanAttributeInfo("Mhz", "int", + "The clock speed of the CPU, in [MHz]", true, false, false); + MBEAN_ATTR_MODEL = new MBeanAttributeInfo("Model", "java.lang.String", + "The CPU model reported", true, false, false); + MBEAN_ATTR_VENDOR = new MBeanAttributeInfo("Vendor", + "java.lang.String", "The CPU vendor reported", true, false, + false); + MBEAN_PARAM_CPUINDEX = new MBeanParameterInfo("cpuIndex", "int", + "The index of the CPU to read data for. Must be >= 0 " + + "and not exceed the CPU count of the system"); + MBEAN_PARAM_SIGAR = new MBeanParameterInfo("sigar", Sigar.class + .getName(), "The Sigar instance to use to fetch data from"); + MBEAN_CONSTR_CPUINDEX = new MBeanConstructorInfo(SigarCpuInfo.class + .getName(), + "Creates a new instance for the CPU index specified, " + + "using a new Sigar instance to fetch the data. " + + "Fails if the CPU index is out of range.", + new MBeanParameterInfo[] { MBEAN_PARAM_CPUINDEX }); + MBEAN_CONSTR_CPUINDEX_SIGAR = new MBeanConstructorInfo( + SigarCpuInfo.class.getName(), + "Creates a new instance for the CPU index specified, " + + "using the Sigar instance specified to fetch the data. " + + "Fails if the CPU index is out of range.", + new MBeanParameterInfo[] { MBEAN_PARAM_SIGAR, + MBEAN_PARAM_CPUINDEX }); + MBEAN_INFO = new MBeanInfo( + SigarCpuInfo.class.getName(), + "Sigar CPU Info MBean, provides overall information for a " + + "single CPU. This information only changes if, for example, " + + "a CPU is reducing its clock frequency or shutting down " + + "part of its cache. Subsequent requests are satisfied from " + + "within a cache that invalidates after 30 seconds.", + new MBeanAttributeInfo[] { MBEAN_ATTR_CPUINDEX, + MBEAN_ATTR_CACHESIZE, MBEAN_ATTR_MHZ, MBEAN_ATTR_MODEL, + MBEAN_ATTR_VENDOR }, new MBeanConstructorInfo[] { + MBEAN_CONSTR_CPUINDEX, MBEAN_CONSTR_CPUINDEX_SIGAR }, + null, null); + + } + + /** + * Index of the CPU processed by the instance. + */ + private int cpuIndex; + + /** + * Object name this instance will give itself when being registered to an + * MBeanServer. + */ + private String objectName; + + /** + * Creates a new instance for the CPU index specified, using a new Sigar + * instance to fetch the data. Fails if the CPU index is out of range. + * + * @param cpuIndex The index of the CPU to read data for. Must be + * >= 0 and not exceed the CPU count of the system. + * + * @throws IllegalArgumentException If the CPU index is out of range or + * an unexpected Sigar error occurs + */ + public SigarCpuInfo(int index) throws IllegalArgumentException { + this(new Sigar(), index); + } + + /** + * Creates a new instance for the CPU index specified, using the Sigar + * instance specified to fetch the data. Fails if the CPU index is out + * of range. + * + * @param sigar The Sigar instance to use to fetch data from + * @param cpuIndex The index of the CPU to read data for. Must be + * >= 0 and not exceed the CPU count of the system. + * + * @throws IllegalArgumentException If the CPU index is out of range or + * an unexpected Sigar error occurs + */ + public SigarCpuInfo(Sigar sigar, int index) { + super(sigar, DEFAULT); + + // check index + if (index < 0) + throw new IllegalArgumentException( + "CPU index has to be non-negative: " + index); + try { + int cpuCount; + if ((cpuCount = sigar.getCpuInfoList().length) < index) + throw new IllegalArgumentException( + "CPU index out of range (found " + cpuCount + + " CPU(s)): " + index); + + } catch (SigarException e) { + throw unexpectedError(MBEAN_TYPE, e); + } + + // all fine + this.cpuIndex = index; + this.objectName = SigarInvokerJMX.DOMAIN_NAME + ":" + MBEAN_ATTR_TYPE + + "=CpuInfo," + + MBEAN_ATTR_CPUINDEX.getName().substring(0, 1).toLowerCase() + + MBEAN_ATTR_CPUINDEX.getName().substring(1) + "=" + cpuIndex; + } + + /** + * Object name this instance will give itself when being registered to an + * MBeanServer. + */ + public String getObjectName() { + return this.objectName; + } + + /** + * @return The index of the CPU, typically starting at 0 + */ + public int getCpuIndex() { + return this.cpuIndex; + } + + /** + * @return The cache size of the CPU, in [byte] + */ + public long getCacheSize() { + try { + return sigar.getCpuInfoList()[this.cpuIndex].getCacheSize(); + } catch (SigarException e) { + throw unexpectedError(MBEAN_TYPE, e); + } + } + + /** + * @return The clock speed of the CPU, in [MHz] + */ + public int getMhz() { + try { + return sigar.getCpuInfoList()[this.cpuIndex].getMhz(); + } catch (SigarException e) { + throw unexpectedError(MBEAN_TYPE, e); + } + } + + /** + * @return The CPU model reported + */ + public String getModel() { + try { + return sigar.getCpuInfoList()[this.cpuIndex].getModel(); + } catch (SigarException e) { + throw unexpectedError(MBEAN_TYPE, e); + } + } + + /** + * @return The CPU vendor reported + */ + public String getVendor() { + try { + return sigar.getCpuInfoList()[this.cpuIndex].getVendor(); + } catch (SigarException e) { + throw unexpectedError(MBEAN_TYPE, e); + } + } + + // ------- + // Implementation of the DynamicMBean interface + // ------- + + /* + * (non-Javadoc) + * @see DynamicMBean#getAttribute(String) + */ + public Object getAttribute(String attr) throws AttributeNotFoundException { + + if (MBEAN_ATTR_CACHESIZE.getName().equals(attr)) { + return new Long(getCacheSize()); + + } else if (MBEAN_ATTR_CPUINDEX.getName().equals(attr)) { + return new Integer(getCpuIndex()); + + } else if (MBEAN_ATTR_MHZ.getName().equals(attr)) { + return new Integer(getMhz()); + + } else if (MBEAN_ATTR_MODEL.getName().equals(attr)) { + return getModel(); + + } else if (MBEAN_ATTR_VENDOR.getName().equals(attr)) { + return getVendor(); + + } else { + throw new AttributeNotFoundException(attr); + } + } + + /* + * (non-Javadoc) + * @see DynamicMBean#setAttribute(Attribute) + */ + public void setAttribute(Attribute attr) throws AttributeNotFoundException { + throw new AttributeNotFoundException(attr.getName()); + } + + /* + * (non-Javadoc) + * @see DynamicMBean#invoke(String, Object[], String[]) + */ + public Object invoke(String actionName, Object[] params, String[] signature) + throws ReflectionException { + throw new ReflectionException(new NoSuchMethodException(actionName), + actionName); + } + + /* + * (non-Javadoc) + * @see DynamicMBean#getMBeanInfo() + */ + public MBeanInfo getMBeanInfo() { + return MBEAN_INFO; + } +} diff --git a/bindings/java/src/org/hyperic/sigar/jmx/SigarCpuPerc.java b/bindings/java/src/org/hyperic/sigar/jmx/SigarCpuPerc.java index f53682b2..e4b03cc1 100644 --- a/bindings/java/src/org/hyperic/sigar/jmx/SigarCpuPerc.java +++ b/bindings/java/src/org/hyperic/sigar/jmx/SigarCpuPerc.java @@ -1,333 +1,333 @@ -/* - * Copyright (C) [2004, 2005, 2006, 2007], Hyperic, Inc. - * This file is part of SIGAR. - * - * SIGAR is free software; you can redistribute it and/or modify - * it under the terms version 2 of the GNU General Public License as - * published by the Free Software Foundation. This program is distributed - * in the hope that it will be useful, but WITHOUT ANY WARRANTY; without - * even the implied warranty of MERCHANTABILITY or FITNESS FOR A - * PARTICULAR PURPOSE. See the GNU General Public License for more - * details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 - * USA. - */ - -package org.hyperic.sigar.jmx; - -import javax.management.Attribute; -import javax.management.AttributeNotFoundException; -import javax.management.MBeanAttributeInfo; -import javax.management.MBeanConstructorInfo; -import javax.management.MBeanInfo; -import javax.management.MBeanParameterInfo; -import javax.management.ReflectionException; - -import org.hyperic.sigar.Sigar; -import org.hyperic.sigar.SigarException; - -/** - *

Sigar JMX MBean implementation for the CpuPerc information - * package. Provides an OpenMBean conform implementation.

- * - * @author Bjoern Martin - * @since 1.5 - */ -public class SigarCpuPerc extends AbstractMBean { - - private static final String MBEAN_TYPE = "CpuPercList"; - - private static final MBeanInfo MBEAN_INFO; - - private static final MBeanAttributeInfo MBEAN_ATTR_CPUINDEX; - - private static final MBeanAttributeInfo MBEAN_ATTR_COMBINED; - - private static final MBeanAttributeInfo MBEAN_ATTR_IDLE; - - private static final MBeanAttributeInfo MBEAN_ATTR_NICE; - - private static final MBeanAttributeInfo MBEAN_ATTR_SYS; - - private static final MBeanAttributeInfo MBEAN_ATTR_USER; - - private static final MBeanAttributeInfo MBEAN_ATTR_WAIT; - - private static final MBeanConstructorInfo MBEAN_CONSTR_CPUINDEX; - - private static final MBeanConstructorInfo MBEAN_CONSTR_CPUINDEX_SIGAR; - - private static MBeanParameterInfo MBEAN_PARAM_CPUINDEX; - - private static MBeanParameterInfo MBEAN_PARAM_SIGAR; - - static { - MBEAN_ATTR_CPUINDEX = new MBeanAttributeInfo("CpuIndex", "int", - "The index of the CPU, typically starting at 0", true, false, - false); - MBEAN_ATTR_COMBINED = new MBeanAttributeInfo("Combined", "double", - "The total time of the CPU, as a fraction of 1", true, false, - false); - MBEAN_ATTR_IDLE = new MBeanAttributeInfo("Idle", "double", - "The idle time of the CPU, as a fraction of 1", true, false, - false); - MBEAN_ATTR_NICE = new MBeanAttributeInfo( - "Nice", - "double", - "The time of the CPU spent on nice priority, as a fraction of 1", - true, false, false); - MBEAN_ATTR_SYS = new MBeanAttributeInfo("Sys", "double", - "The time of the CPU used by the system, as a fraction of 1", - true, false, false); - MBEAN_ATTR_USER = new MBeanAttributeInfo( - "User", - "double", - "The time of the CPU used by user processes, as a fraction of 1", - true, false, false); - MBEAN_ATTR_WAIT = new MBeanAttributeInfo( - "Wait", - "double", - "The time the CPU had to wait for data to be loaded, as a fraction of 1", - true, false, false); - MBEAN_PARAM_CPUINDEX = new MBeanParameterInfo("cpuIndex", "int", - "The index of the CPU to read data for. Must be >= 0 " - + "and not exceed the CPU count of the system"); - MBEAN_PARAM_SIGAR = new MBeanParameterInfo("sigar", Sigar.class - .getName(), "The Sigar instance to use to fetch data from"); - MBEAN_CONSTR_CPUINDEX = new MBeanConstructorInfo(SigarCpuPerc.class - .getName(), - "Creates a new instance for the CPU index specified, " - + "using a new Sigar instance to fetch the data. " - + "Fails if the CPU index is out of range.", - new MBeanParameterInfo[] { MBEAN_PARAM_CPUINDEX }); - MBEAN_CONSTR_CPUINDEX_SIGAR = new MBeanConstructorInfo( - SigarCpuPerc.class.getName(), - "Creates a new instance for the CPU index specified, " - + "using the Sigar instance specified to fetch the data. " - + "Fails if the CPU index is out of range.", - new MBeanParameterInfo[] { MBEAN_PARAM_SIGAR, - MBEAN_PARAM_CPUINDEX }); - MBEAN_INFO = new MBeanInfo( - SigarCpuPerc.class.getName(), - "Sigar CPU MBean. Provides percentage data for a single " - + "CPU, averaged over the timeframe between the last and " - + "the current measurement point. Two measurement points " - + "can be as close as 5 seconds, meaning subsequent requests " - + "for data within 5 seconds after the last executed call " - + "will be satisfied from cached data.", - new MBeanAttributeInfo[] { MBEAN_ATTR_CPUINDEX, - MBEAN_ATTR_COMBINED, MBEAN_ATTR_IDLE, MBEAN_ATTR_NICE, - MBEAN_ATTR_SYS, MBEAN_ATTR_USER, MBEAN_ATTR_WAIT }, - new MBeanConstructorInfo[] { MBEAN_CONSTR_CPUINDEX, - MBEAN_CONSTR_CPUINDEX_SIGAR }, null, null); - } - - /** - * Index of the CPU processed by the instance. - */ - private int cpuIndex; - - /** - * Object name this instance will give itself when being registered to an - * MBeanServer. - */ - private String objectName; - - /** - * Creates a new instance for the CPU index specified, using a new Sigar - * instance to fetch the data. Fails if the CPU index is out of range. - * - * @param cpuIndex The index of the CPU to read data for. Must be - * >= 0 and not exceed the CPU count of the system. - * - * @throws IllegalArgumentException If the CPU index is out of range or - * an unexpected Sigar error occurs - */ - public SigarCpuPerc(int index) { - this(new Sigar(), index); - } - - /** - * Creates a new instance for the CPU index specified, using the Sigar - * instance specified to fetch the data. Fails if the CPU index is out - * of range. - * - * @param sigar The Sigar instance to use to fetch data from - * @param cpuIndex The index of the CPU to read data for. Must be - * >= 0 and not exceed the CPU count of the system. - * - * @throws IllegalArgumentException If the CPU index is out of range or - * an unexpected Sigar error occurs - */ - public SigarCpuPerc(Sigar sigar, int index) { - super(sigar, CACHED_5SEC); - - // check index - if (index < 0) - throw new IllegalArgumentException( - "CPU index has to be non-negative: " + index); - try { - int cpuCount; - if ((cpuCount = sigar.getCpuPercList().length) < index) - throw new IllegalArgumentException( - "CPU index out of range (found " + cpuCount - + " CPU(s)): " + index); - - } catch (SigarException e) { - throw unexpectedError(MBEAN_TYPE, e); - } - - // all fine - this.cpuIndex = index; - this.objectName = SigarInvokerJMX.DOMAIN_NAME + ":" + MBEAN_ATTR_TYPE - + "=CpuPerc," - + MBEAN_ATTR_CPUINDEX.getName().substring(0, 1).toLowerCase() - + MBEAN_ATTR_CPUINDEX.getName().substring(1) + "=" + cpuIndex; - } - - /** - * Object name this instance will give itself when being registered to an - * MBeanServer. - */ - public String getObjectName() { - return this.objectName; - } - - /** - * @return The index of the CPU, typically starting at 0 - */ - public int getCpuIndex() { - return this.cpuIndex; - } - - /** - * @return The total time of the CPU, as a fraction of 1 - */ - public double getCombined() { - try { - return sigar.getCpuPercList()[this.cpuIndex].getCombined(); - } catch (SigarException e) { - throw unexpectedError(MBEAN_TYPE, e); - } - } - - /** - * @return The idle time of the CPU, as a fraction of 1 - */ - public double getIdle() { - try { - return sigar.getCpuPercList()[this.cpuIndex].getIdle(); - } catch (SigarException e) { - throw unexpectedError(MBEAN_TYPE, e); - } - } - - /** - * @return The time of the CPU spent on nice priority, as a fraction of 1 - */ - public double getNice() { - try { - return sigar.getCpuPercList()[this.cpuIndex].getNice(); - } catch (SigarException e) { - throw unexpectedError(MBEAN_TYPE, e); - } - } - - /** - * @return The time of the CPU used by the system, as a fraction of 1 - */ - public double getSys() { - try { - return sigar.getCpuPercList()[this.cpuIndex].getSys(); - } catch (SigarException e) { - throw unexpectedError(MBEAN_TYPE, e); - } - } - - /** - * @return The time of the CPU used by user processes, as a fraction of 1 - */ - public double getUser() { - try { - return sigar.getCpuPercList()[this.cpuIndex].getUser(); - } catch (SigarException e) { - throw unexpectedError(MBEAN_TYPE, e); - } - } - - /** - * @return The time the CPU had to wait for data to be loaded, as a fraction of 1 - */ - public double getWait() { - try { - return sigar.getCpuPercList()[this.cpuIndex].getWait(); - } catch (SigarException e) { - throw unexpectedError(MBEAN_TYPE, e); - } - } - - // ------- - // Implementation of the DynamicMBean interface - // ------- - - /* - * (non-Javadoc) - * @see DynamicMBean#getAttribute(String) - */ - public Object getAttribute(String attr) throws AttributeNotFoundException { - - if (MBEAN_ATTR_COMBINED.getName().equals(attr)) { - return new Double(getCombined()); - - } else if (MBEAN_ATTR_CPUINDEX.getName().equals(attr)) { - return new Integer(getCpuIndex()); - - } else if (MBEAN_ATTR_IDLE.getName().equals(attr)) { - return new Double(getIdle()); - - } else if (MBEAN_ATTR_NICE.getName().equals(attr)) { - return new Double(getNice()); - - } else if (MBEAN_ATTR_SYS.getName().equals(attr)) { - return new Double(getSys()); - - } else if (MBEAN_ATTR_USER.getName().equals(attr)) { - return new Double(getUser()); - - } else if (MBEAN_ATTR_WAIT.getName().equals(attr)) { - return new Double(getWait()); - - } else { - throw new AttributeNotFoundException(attr); - } - } - - /* - * (non-Javadoc) - * @see DynamicMBean#setAttribute(Attribute) - */ - public void setAttribute(Attribute attr) throws AttributeNotFoundException { - throw new AttributeNotFoundException(attr.getName()); - } - - /* - * (non-Javadoc) - * @see DynamicMBean#invoke(String, Object[], String[]) - */ - public Object invoke(String actionName, Object[] params, String[] signature) - throws ReflectionException { - throw new ReflectionException(new NoSuchMethodException(actionName), - actionName); - } - - /* - * (non-Javadoc) - * @see DynamicMBean#getMBeanInfo() - */ - public MBeanInfo getMBeanInfo() { - return MBEAN_INFO; - } -} +/* + * Copyright (C) [2004, 2005, 2006, 2007], Hyperic, Inc. + * This file is part of SIGAR. + * + * SIGAR is free software; you can redistribute it and/or modify + * it under the terms version 2 of the GNU General Public License as + * published by the Free Software Foundation. This program is distributed + * in the hope that it will be useful, but WITHOUT ANY WARRANTY; without + * even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU General Public License for more + * details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 + * USA. + */ + +package org.hyperic.sigar.jmx; + +import javax.management.Attribute; +import javax.management.AttributeNotFoundException; +import javax.management.MBeanAttributeInfo; +import javax.management.MBeanConstructorInfo; +import javax.management.MBeanInfo; +import javax.management.MBeanParameterInfo; +import javax.management.ReflectionException; + +import org.hyperic.sigar.Sigar; +import org.hyperic.sigar.SigarException; + +/** + *

Sigar JMX MBean implementation for the CpuPerc information + * package. Provides an OpenMBean conform implementation.

+ * + * @author Bjoern Martin + * @since 1.5 + */ +public class SigarCpuPerc extends AbstractMBean { + + private static final String MBEAN_TYPE = "CpuPercList"; + + private static final MBeanInfo MBEAN_INFO; + + private static final MBeanAttributeInfo MBEAN_ATTR_CPUINDEX; + + private static final MBeanAttributeInfo MBEAN_ATTR_COMBINED; + + private static final MBeanAttributeInfo MBEAN_ATTR_IDLE; + + private static final MBeanAttributeInfo MBEAN_ATTR_NICE; + + private static final MBeanAttributeInfo MBEAN_ATTR_SYS; + + private static final MBeanAttributeInfo MBEAN_ATTR_USER; + + private static final MBeanAttributeInfo MBEAN_ATTR_WAIT; + + private static final MBeanConstructorInfo MBEAN_CONSTR_CPUINDEX; + + private static final MBeanConstructorInfo MBEAN_CONSTR_CPUINDEX_SIGAR; + + private static MBeanParameterInfo MBEAN_PARAM_CPUINDEX; + + private static MBeanParameterInfo MBEAN_PARAM_SIGAR; + + static { + MBEAN_ATTR_CPUINDEX = new MBeanAttributeInfo("CpuIndex", "int", + "The index of the CPU, typically starting at 0", true, false, + false); + MBEAN_ATTR_COMBINED = new MBeanAttributeInfo("Combined", "double", + "The total time of the CPU, as a fraction of 1", true, false, + false); + MBEAN_ATTR_IDLE = new MBeanAttributeInfo("Idle", "double", + "The idle time of the CPU, as a fraction of 1", true, false, + false); + MBEAN_ATTR_NICE = new MBeanAttributeInfo( + "Nice", + "double", + "The time of the CPU spent on nice priority, as a fraction of 1", + true, false, false); + MBEAN_ATTR_SYS = new MBeanAttributeInfo("Sys", "double", + "The time of the CPU used by the system, as a fraction of 1", + true, false, false); + MBEAN_ATTR_USER = new MBeanAttributeInfo( + "User", + "double", + "The time of the CPU used by user processes, as a fraction of 1", + true, false, false); + MBEAN_ATTR_WAIT = new MBeanAttributeInfo( + "Wait", + "double", + "The time the CPU had to wait for data to be loaded, as a fraction of 1", + true, false, false); + MBEAN_PARAM_CPUINDEX = new MBeanParameterInfo("cpuIndex", "int", + "The index of the CPU to read data for. Must be >= 0 " + + "and not exceed the CPU count of the system"); + MBEAN_PARAM_SIGAR = new MBeanParameterInfo("sigar", Sigar.class + .getName(), "The Sigar instance to use to fetch data from"); + MBEAN_CONSTR_CPUINDEX = new MBeanConstructorInfo(SigarCpuPerc.class + .getName(), + "Creates a new instance for the CPU index specified, " + + "using a new Sigar instance to fetch the data. " + + "Fails if the CPU index is out of range.", + new MBeanParameterInfo[] { MBEAN_PARAM_CPUINDEX }); + MBEAN_CONSTR_CPUINDEX_SIGAR = new MBeanConstructorInfo( + SigarCpuPerc.class.getName(), + "Creates a new instance for the CPU index specified, " + + "using the Sigar instance specified to fetch the data. " + + "Fails if the CPU index is out of range.", + new MBeanParameterInfo[] { MBEAN_PARAM_SIGAR, + MBEAN_PARAM_CPUINDEX }); + MBEAN_INFO = new MBeanInfo( + SigarCpuPerc.class.getName(), + "Sigar CPU MBean. Provides percentage data for a single " + + "CPU, averaged over the timeframe between the last and " + + "the current measurement point. Two measurement points " + + "can be as close as 5 seconds, meaning subsequent requests " + + "for data within 5 seconds after the last executed call " + + "will be satisfied from cached data.", + new MBeanAttributeInfo[] { MBEAN_ATTR_CPUINDEX, + MBEAN_ATTR_COMBINED, MBEAN_ATTR_IDLE, MBEAN_ATTR_NICE, + MBEAN_ATTR_SYS, MBEAN_ATTR_USER, MBEAN_ATTR_WAIT }, + new MBeanConstructorInfo[] { MBEAN_CONSTR_CPUINDEX, + MBEAN_CONSTR_CPUINDEX_SIGAR }, null, null); + } + + /** + * Index of the CPU processed by the instance. + */ + private int cpuIndex; + + /** + * Object name this instance will give itself when being registered to an + * MBeanServer. + */ + private String objectName; + + /** + * Creates a new instance for the CPU index specified, using a new Sigar + * instance to fetch the data. Fails if the CPU index is out of range. + * + * @param cpuIndex The index of the CPU to read data for. Must be + * >= 0 and not exceed the CPU count of the system. + * + * @throws IllegalArgumentException If the CPU index is out of range or + * an unexpected Sigar error occurs + */ + public SigarCpuPerc(int index) { + this(new Sigar(), index); + } + + /** + * Creates a new instance for the CPU index specified, using the Sigar + * instance specified to fetch the data. Fails if the CPU index is out + * of range. + * + * @param sigar The Sigar instance to use to fetch data from + * @param cpuIndex The index of the CPU to read data for. Must be + * >= 0 and not exceed the CPU count of the system. + * + * @throws IllegalArgumentException If the CPU index is out of range or + * an unexpected Sigar error occurs + */ + public SigarCpuPerc(Sigar sigar, int index) { + super(sigar, CACHED_5SEC); + + // check index + if (index < 0) + throw new IllegalArgumentException( + "CPU index has to be non-negative: " + index); + try { + int cpuCount; + if ((cpuCount = sigar.getCpuPercList().length) < index) + throw new IllegalArgumentException( + "CPU index out of range (found " + cpuCount + + " CPU(s)): " + index); + + } catch (SigarException e) { + throw unexpectedError(MBEAN_TYPE, e); + } + + // all fine + this.cpuIndex = index; + this.objectName = SigarInvokerJMX.DOMAIN_NAME + ":" + MBEAN_ATTR_TYPE + + "=CpuPerc," + + MBEAN_ATTR_CPUINDEX.getName().substring(0, 1).toLowerCase() + + MBEAN_ATTR_CPUINDEX.getName().substring(1) + "=" + cpuIndex; + } + + /** + * Object name this instance will give itself when being registered to an + * MBeanServer. + */ + public String getObjectName() { + return this.objectName; + } + + /** + * @return The index of the CPU, typically starting at 0 + */ + public int getCpuIndex() { + return this.cpuIndex; + } + + /** + * @return The total time of the CPU, as a fraction of 1 + */ + public double getCombined() { + try { + return sigar.getCpuPercList()[this.cpuIndex].getCombined(); + } catch (SigarException e) { + throw unexpectedError(MBEAN_TYPE, e); + } + } + + /** + * @return The idle time of the CPU, as a fraction of 1 + */ + public double getIdle() { + try { + return sigar.getCpuPercList()[this.cpuIndex].getIdle(); + } catch (SigarException e) { + throw unexpectedError(MBEAN_TYPE, e); + } + } + + /** + * @return The time of the CPU spent on nice priority, as a fraction of 1 + */ + public double getNice() { + try { + return sigar.getCpuPercList()[this.cpuIndex].getNice(); + } catch (SigarException e) { + throw unexpectedError(MBEAN_TYPE, e); + } + } + + /** + * @return The time of the CPU used by the system, as a fraction of 1 + */ + public double getSys() { + try { + return sigar.getCpuPercList()[this.cpuIndex].getSys(); + } catch (SigarException e) { + throw unexpectedError(MBEAN_TYPE, e); + } + } + + /** + * @return The time of the CPU used by user processes, as a fraction of 1 + */ + public double getUser() { + try { + return sigar.getCpuPercList()[this.cpuIndex].getUser(); + } catch (SigarException e) { + throw unexpectedError(MBEAN_TYPE, e); + } + } + + /** + * @return The time the CPU had to wait for data to be loaded, as a fraction of 1 + */ + public double getWait() { + try { + return sigar.getCpuPercList()[this.cpuIndex].getWait(); + } catch (SigarException e) { + throw unexpectedError(MBEAN_TYPE, e); + } + } + + // ------- + // Implementation of the DynamicMBean interface + // ------- + + /* + * (non-Javadoc) + * @see DynamicMBean#getAttribute(String) + */ + public Object getAttribute(String attr) throws AttributeNotFoundException { + + if (MBEAN_ATTR_COMBINED.getName().equals(attr)) { + return new Double(getCombined()); + + } else if (MBEAN_ATTR_CPUINDEX.getName().equals(attr)) { + return new Integer(getCpuIndex()); + + } else if (MBEAN_ATTR_IDLE.getName().equals(attr)) { + return new Double(getIdle()); + + } else if (MBEAN_ATTR_NICE.getName().equals(attr)) { + return new Double(getNice()); + + } else if (MBEAN_ATTR_SYS.getName().equals(attr)) { + return new Double(getSys()); + + } else if (MBEAN_ATTR_USER.getName().equals(attr)) { + return new Double(getUser()); + + } else if (MBEAN_ATTR_WAIT.getName().equals(attr)) { + return new Double(getWait()); + + } else { + throw new AttributeNotFoundException(attr); + } + } + + /* + * (non-Javadoc) + * @see DynamicMBean#setAttribute(Attribute) + */ + public void setAttribute(Attribute attr) throws AttributeNotFoundException { + throw new AttributeNotFoundException(attr.getName()); + } + + /* + * (non-Javadoc) + * @see DynamicMBean#invoke(String, Object[], String[]) + */ + public Object invoke(String actionName, Object[] params, String[] signature) + throws ReflectionException { + throw new ReflectionException(new NoSuchMethodException(actionName), + actionName); + } + + /* + * (non-Javadoc) + * @see DynamicMBean#getMBeanInfo() + */ + public MBeanInfo getMBeanInfo() { + return MBEAN_INFO; + } +} diff --git a/bindings/java/src/org/hyperic/sigar/jmx/SigarMem.java b/bindings/java/src/org/hyperic/sigar/jmx/SigarMem.java index bf7c1ea3..8e19932e 100644 --- a/bindings/java/src/org/hyperic/sigar/jmx/SigarMem.java +++ b/bindings/java/src/org/hyperic/sigar/jmx/SigarMem.java @@ -1,251 +1,251 @@ -/* - * Copyright (C) [2004, 2005, 2006, 2007], Hyperic, Inc. - * This file is part of SIGAR. - * - * SIGAR is free software; you can redistribute it and/or modify - * it under the terms version 2 of the GNU General Public License as - * published by the Free Software Foundation. This program is distributed - * in the hope that it will be useful, but WITHOUT ANY WARRANTY; without - * even the implied warranty of MERCHANTABILITY or FITNESS FOR A - * PARTICULAR PURPOSE. See the GNU General Public License for more - * details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 - * USA. - */ - -package org.hyperic.sigar.jmx; - -import javax.management.Attribute; -import javax.management.AttributeNotFoundException; -import javax.management.MBeanAttributeInfo; -import javax.management.MBeanConstructorInfo; -import javax.management.MBeanException; -import javax.management.MBeanInfo; -import javax.management.MBeanParameterInfo; -import javax.management.ReflectionException; - -import org.hyperic.sigar.Sigar; -import org.hyperic.sigar.SigarException; - -/** - * Sigar JMX MBean implementation for the Mem information - * package. Provides an OpenMBean conform implementation. - * - * @author Bjoern Martin - * @since 1.5 - */ -public class SigarMem extends AbstractMBean { - - private static final String MBEAN_TYPE = "Mem"; - - private static final MBeanInfo MBEAN_INFO; - - private static final MBeanAttributeInfo MBEAN_ATTR_ACTUAL_FREE; - - private static final MBeanAttributeInfo MBEAN_ATTR_ACTUAL_USED; - - private static final MBeanAttributeInfo MBEAN_ATTR_FREE; - - private static final MBeanAttributeInfo MBEAN_ATTR_RAM; - - private static final MBeanAttributeInfo MBEAN_ATTR_TOTAL; - - private static final MBeanAttributeInfo MBEAN_ATTR_USED; - - private static final MBeanConstructorInfo MBEAN_CONSTR_SIGAR; - - private static MBeanParameterInfo MBEAN_PARAM_SIGAR; - - static { - MBEAN_ATTR_ACTUAL_FREE = new MBeanAttributeInfo("ActualFree", "long", - "TODO add proper description here", true, false, false); - MBEAN_ATTR_ACTUAL_USED = new MBeanAttributeInfo("ActualUsed", "long", - "TODO add proper description here", true, false, false); - MBEAN_ATTR_FREE = new MBeanAttributeInfo("Free", "long", - "TODO add proper description here", true, false, false); - MBEAN_ATTR_RAM = new MBeanAttributeInfo("Ram", "long", - "TODO add proper description here", true, false, false); - MBEAN_ATTR_TOTAL = new MBeanAttributeInfo("Total", "long", - "TODO add proper description here", true, false, false); - MBEAN_ATTR_USED = new MBeanAttributeInfo("Used", "long", - "TODO add proper description here", true, false, false); - MBEAN_PARAM_SIGAR = new MBeanParameterInfo("sigar", Sigar.class - .getName(), "The Sigar instance to use to fetch data from"); - MBEAN_CONSTR_SIGAR = new MBeanConstructorInfo(SigarMem.class.getName(), - "Creates a new instance, using the Sigar instance " - + "specified to fetch the data.", - new MBeanParameterInfo[] { MBEAN_PARAM_SIGAR }); - MBEAN_INFO = new MBeanInfo( - SigarMem.class.getName(), - "Sigar Memory MBean, provides raw data for the physical " - + "memory installed on the system. Uses an internal cache " - + "that invalidates within 500ms, allowing for bulk request " - + "being satisfied with a single dataset fetch.", - new MBeanAttributeInfo[] { MBEAN_ATTR_ACTUAL_FREE, - MBEAN_ATTR_ACTUAL_USED, MBEAN_ATTR_FREE, - MBEAN_ATTR_RAM, MBEAN_ATTR_TOTAL, MBEAN_ATTR_USED }, - new MBeanConstructorInfo[] { MBEAN_CONSTR_SIGAR }, null, null); - - } - - /** - * Object name this instance will give itself when being registered to an - * MBeanServer. - */ - private final String objectName; - - /** - * Creates a new instance, using the Sigar instance specified to fetch the - * data. - * - * @param sigar - * The Sigar instance to use to fetch data from - * - * @throws IllegalArgumentException - * If an unexpected Sigar error occurs - */ - public SigarMem(Sigar sigar) throws IllegalArgumentException { - super(sigar, CACHED_500MS); - - this.objectName = SigarInvokerJMX.DOMAIN_NAME + ":" + MBEAN_ATTR_TYPE - + "=Memory"; - } - - /** - * Object name this instance will give itself when being registered to an - * MBeanServer. - */ - public String getObjectName() { - return this.objectName; - } - - /** - * @return The actual amount of free physical memory, in [bytes] - */ - public long getActualFree() { - try { - return sigar.getMem().getActualFree(); - } catch (SigarException e) { - throw unexpectedError(MBEAN_TYPE, e); - } - } - - /** - * @return The actual amount of physical memory used, in [bytes] - */ - public long getActualUsed() { - try { - return sigar.getMem().getActualUsed(); - } catch (SigarException e) { - throw unexpectedError(MBEAN_TYPE, e); - } - } - - /** - * @return The amount of free physical memory, in [bytes] - */ - public long getFree() { - try { - return sigar.getMem().getFree(); - } catch (SigarException e) { - throw unexpectedError(MBEAN_TYPE, e); - } - } - - /** - * @return The amount of physical memory, in [bytes] - */ - public long getRam() { - try { - return sigar.getMem().getRam(); - } catch (SigarException e) { - throw unexpectedError(MBEAN_TYPE, e); - } - } - - /** - * @return The total amount of physical memory, in [bytes] - */ - public long getTotal() { - try { - return sigar.getMem().getTotal(); - } catch (SigarException e) { - throw unexpectedError(MBEAN_TYPE, e); - } - } - - /** - * @return The amount of physical memory in use, in [bytes] - */ - public long getUsed() { - try { - return sigar.getMem().getUsed(); - } catch (SigarException e) { - throw unexpectedError(MBEAN_TYPE, e); - } - } - - // ------- - // Implementation of the DynamicMBean interface - // ------- - - /* - * (non-Javadoc) - * - * @see javax.management.DynamicMBean#getAttribute(java.lang.String) - */ - public Object getAttribute(String attr) throws AttributeNotFoundException, - MBeanException, ReflectionException { - if (MBEAN_ATTR_ACTUAL_FREE.getName().equals(attr)) { - return new Long(getActualFree()); - - } else if (MBEAN_ATTR_ACTUAL_USED.getName().equals(attr)) { - return new Long(getActualUsed()); - - } else if (MBEAN_ATTR_FREE.getName().equals(attr)) { - return new Long(getFree()); - - } else if (MBEAN_ATTR_RAM.getName().equals(attr)) { - return new Long(getRam()); - - } else if (MBEAN_ATTR_TOTAL.getName().equals(attr)) { - return new Long(getTotal()); - - } else if (MBEAN_ATTR_USED.getName().equals(attr)) { - return new Long(getUsed()); - - } else { - throw new AttributeNotFoundException(attr); - } - } - - /* - * (non-Javadoc) - * @see javax.management.DynamicMBean#setAttribute(javax.management.Attribute) - */ - public void setAttribute(Attribute attr) throws AttributeNotFoundException { - throw new AttributeNotFoundException(attr.getName()); - } - - /* - * (non-Javadoc) - * @see javax.management.DynamicMBean#invoke(java.lang.String, - * java.lang.Object[], java.lang.String[]) - */ - public Object invoke(String actionName, Object[] params, String[] signature) - throws ReflectionException { - throw new ReflectionException(new NoSuchMethodException(actionName), - actionName); - } - - /* - * (non-Javadoc) - * @see javax.management.DynamicMBean#getMBeanInfo() - */ - public MBeanInfo getMBeanInfo() { - return MBEAN_INFO; - } -} +/* + * Copyright (C) [2004, 2005, 2006, 2007], Hyperic, Inc. + * This file is part of SIGAR. + * + * SIGAR is free software; you can redistribute it and/or modify + * it under the terms version 2 of the GNU General Public License as + * published by the Free Software Foundation. This program is distributed + * in the hope that it will be useful, but WITHOUT ANY WARRANTY; without + * even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU General Public License for more + * details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 + * USA. + */ + +package org.hyperic.sigar.jmx; + +import javax.management.Attribute; +import javax.management.AttributeNotFoundException; +import javax.management.MBeanAttributeInfo; +import javax.management.MBeanConstructorInfo; +import javax.management.MBeanException; +import javax.management.MBeanInfo; +import javax.management.MBeanParameterInfo; +import javax.management.ReflectionException; + +import org.hyperic.sigar.Sigar; +import org.hyperic.sigar.SigarException; + +/** + * Sigar JMX MBean implementation for the Mem information + * package. Provides an OpenMBean conform implementation. + * + * @author Bjoern Martin + * @since 1.5 + */ +public class SigarMem extends AbstractMBean { + + private static final String MBEAN_TYPE = "Mem"; + + private static final MBeanInfo MBEAN_INFO; + + private static final MBeanAttributeInfo MBEAN_ATTR_ACTUAL_FREE; + + private static final MBeanAttributeInfo MBEAN_ATTR_ACTUAL_USED; + + private static final MBeanAttributeInfo MBEAN_ATTR_FREE; + + private static final MBeanAttributeInfo MBEAN_ATTR_RAM; + + private static final MBeanAttributeInfo MBEAN_ATTR_TOTAL; + + private static final MBeanAttributeInfo MBEAN_ATTR_USED; + + private static final MBeanConstructorInfo MBEAN_CONSTR_SIGAR; + + private static MBeanParameterInfo MBEAN_PARAM_SIGAR; + + static { + MBEAN_ATTR_ACTUAL_FREE = new MBeanAttributeInfo("ActualFree", "long", + "TODO add proper description here", true, false, false); + MBEAN_ATTR_ACTUAL_USED = new MBeanAttributeInfo("ActualUsed", "long", + "TODO add proper description here", true, false, false); + MBEAN_ATTR_FREE = new MBeanAttributeInfo("Free", "long", + "TODO add proper description here", true, false, false); + MBEAN_ATTR_RAM = new MBeanAttributeInfo("Ram", "long", + "TODO add proper description here", true, false, false); + MBEAN_ATTR_TOTAL = new MBeanAttributeInfo("Total", "long", + "TODO add proper description here", true, false, false); + MBEAN_ATTR_USED = new MBeanAttributeInfo("Used", "long", + "TODO add proper description here", true, false, false); + MBEAN_PARAM_SIGAR = new MBeanParameterInfo("sigar", Sigar.class + .getName(), "The Sigar instance to use to fetch data from"); + MBEAN_CONSTR_SIGAR = new MBeanConstructorInfo(SigarMem.class.getName(), + "Creates a new instance, using the Sigar instance " + + "specified to fetch the data.", + new MBeanParameterInfo[] { MBEAN_PARAM_SIGAR }); + MBEAN_INFO = new MBeanInfo( + SigarMem.class.getName(), + "Sigar Memory MBean, provides raw data for the physical " + + "memory installed on the system. Uses an internal cache " + + "that invalidates within 500ms, allowing for bulk request " + + "being satisfied with a single dataset fetch.", + new MBeanAttributeInfo[] { MBEAN_ATTR_ACTUAL_FREE, + MBEAN_ATTR_ACTUAL_USED, MBEAN_ATTR_FREE, + MBEAN_ATTR_RAM, MBEAN_ATTR_TOTAL, MBEAN_ATTR_USED }, + new MBeanConstructorInfo[] { MBEAN_CONSTR_SIGAR }, null, null); + + } + + /** + * Object name this instance will give itself when being registered to an + * MBeanServer. + */ + private final String objectName; + + /** + * Creates a new instance, using the Sigar instance specified to fetch the + * data. + * + * @param sigar + * The Sigar instance to use to fetch data from + * + * @throws IllegalArgumentException + * If an unexpected Sigar error occurs + */ + public SigarMem(Sigar sigar) throws IllegalArgumentException { + super(sigar, CACHED_500MS); + + this.objectName = SigarInvokerJMX.DOMAIN_NAME + ":" + MBEAN_ATTR_TYPE + + "=Memory"; + } + + /** + * Object name this instance will give itself when being registered to an + * MBeanServer. + */ + public String getObjectName() { + return this.objectName; + } + + /** + * @return The actual amount of free physical memory, in [bytes] + */ + public long getActualFree() { + try { + return sigar.getMem().getActualFree(); + } catch (SigarException e) { + throw unexpectedError(MBEAN_TYPE, e); + } + } + + /** + * @return The actual amount of physical memory used, in [bytes] + */ + public long getActualUsed() { + try { + return sigar.getMem().getActualUsed(); + } catch (SigarException e) { + throw unexpectedError(MBEAN_TYPE, e); + } + } + + /** + * @return The amount of free physical memory, in [bytes] + */ + public long getFree() { + try { + return sigar.getMem().getFree(); + } catch (SigarException e) { + throw unexpectedError(MBEAN_TYPE, e); + } + } + + /** + * @return The amount of physical memory, in [bytes] + */ + public long getRam() { + try { + return sigar.getMem().getRam(); + } catch (SigarException e) { + throw unexpectedError(MBEAN_TYPE, e); + } + } + + /** + * @return The total amount of physical memory, in [bytes] + */ + public long getTotal() { + try { + return sigar.getMem().getTotal(); + } catch (SigarException e) { + throw unexpectedError(MBEAN_TYPE, e); + } + } + + /** + * @return The amount of physical memory in use, in [bytes] + */ + public long getUsed() { + try { + return sigar.getMem().getUsed(); + } catch (SigarException e) { + throw unexpectedError(MBEAN_TYPE, e); + } + } + + // ------- + // Implementation of the DynamicMBean interface + // ------- + + /* + * (non-Javadoc) + * + * @see javax.management.DynamicMBean#getAttribute(java.lang.String) + */ + public Object getAttribute(String attr) throws AttributeNotFoundException, + MBeanException, ReflectionException { + if (MBEAN_ATTR_ACTUAL_FREE.getName().equals(attr)) { + return new Long(getActualFree()); + + } else if (MBEAN_ATTR_ACTUAL_USED.getName().equals(attr)) { + return new Long(getActualUsed()); + + } else if (MBEAN_ATTR_FREE.getName().equals(attr)) { + return new Long(getFree()); + + } else if (MBEAN_ATTR_RAM.getName().equals(attr)) { + return new Long(getRam()); + + } else if (MBEAN_ATTR_TOTAL.getName().equals(attr)) { + return new Long(getTotal()); + + } else if (MBEAN_ATTR_USED.getName().equals(attr)) { + return new Long(getUsed()); + + } else { + throw new AttributeNotFoundException(attr); + } + } + + /* + * (non-Javadoc) + * @see javax.management.DynamicMBean#setAttribute(javax.management.Attribute) + */ + public void setAttribute(Attribute attr) throws AttributeNotFoundException { + throw new AttributeNotFoundException(attr.getName()); + } + + /* + * (non-Javadoc) + * @see javax.management.DynamicMBean#invoke(java.lang.String, + * java.lang.Object[], java.lang.String[]) + */ + public Object invoke(String actionName, Object[] params, String[] signature) + throws ReflectionException { + throw new ReflectionException(new NoSuchMethodException(actionName), + actionName); + } + + /* + * (non-Javadoc) + * @see javax.management.DynamicMBean#getMBeanInfo() + */ + public MBeanInfo getMBeanInfo() { + return MBEAN_INFO; + } +} diff --git a/bindings/java/src/org/hyperic/sigar/jmx/SigarSwap.java b/bindings/java/src/org/hyperic/sigar/jmx/SigarSwap.java index c209d32f..76d73779 100644 --- a/bindings/java/src/org/hyperic/sigar/jmx/SigarSwap.java +++ b/bindings/java/src/org/hyperic/sigar/jmx/SigarSwap.java @@ -1,199 +1,199 @@ -/* - * Copyright (C) [2004, 2005, 2006, 2007], Hyperic, Inc. - * This file is part of SIGAR. - * - * SIGAR is free software; you can redistribute it and/or modify - * it under the terms version 2 of the GNU General Public License as - * published by the Free Software Foundation. This program is distributed - * in the hope that it will be useful, but WITHOUT ANY WARRANTY; without - * even the implied warranty of MERCHANTABILITY or FITNESS FOR A - * PARTICULAR PURPOSE. See the GNU General Public License for more - * details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 - * USA. - */ - -package org.hyperic.sigar.jmx; - -import javax.management.Attribute; -import javax.management.AttributeNotFoundException; -import javax.management.MBeanAttributeInfo; -import javax.management.MBeanConstructorInfo; -import javax.management.MBeanException; -import javax.management.MBeanInfo; -import javax.management.MBeanParameterInfo; -import javax.management.ReflectionException; - -import org.hyperic.sigar.Sigar; -import org.hyperic.sigar.SigarException; - -/** - * Sigar JMX MBean implementation for the Swap information - * package. Provides an OpenMBean conform implementation. - * - * @author Bjoern Martin - * @since 1.5 - */ -public class SigarSwap extends AbstractMBean { - - private static final String MBEAN_TYPE = "Swap"; - - private static final MBeanInfo MBEAN_INFO; - - private static final MBeanAttributeInfo MBEAN_ATTR_FREE; - - private static final MBeanAttributeInfo MBEAN_ATTR_TOTAL; - - private static final MBeanAttributeInfo MBEAN_ATTR_USED; - - private static final MBeanConstructorInfo MBEAN_CONSTR_SIGAR; - - private static MBeanParameterInfo MBEAN_PARAM_SIGAR; - - static { - MBEAN_ATTR_FREE = new MBeanAttributeInfo("Free", "long", - "The amount of free swap memory, in [bytes]", true, false, - false); - MBEAN_ATTR_TOTAL = new MBeanAttributeInfo("Total", "long", - "The total amount of swap memory, in [bytes]", true, false, - false); - MBEAN_ATTR_USED = new MBeanAttributeInfo("Used", "long", - "The amount of swap memory in use, in [bytes]", true, false, - false); - MBEAN_PARAM_SIGAR = new MBeanParameterInfo("sigar", Sigar.class - .getName(), "The Sigar instance to use to fetch data from"); - MBEAN_CONSTR_SIGAR = new MBeanConstructorInfo( - SigarSwap.class.getName(), - "Creates a new instance, using the Sigar instance " - + "specified to fetch the data.", - new MBeanParameterInfo[] { MBEAN_PARAM_SIGAR }); - MBEAN_INFO = new MBeanInfo( - SigarSwap.class.getName(), - "Sigar Swap MBean, provides raw data for the swap memory " - + "configured on the system. Uses an internal cache that " - + "invalidates within 5 seconds.", - new MBeanAttributeInfo[] { MBEAN_ATTR_FREE, MBEAN_ATTR_TOTAL, - MBEAN_ATTR_USED }, - new MBeanConstructorInfo[] { MBEAN_CONSTR_SIGAR }, null, null); - - } - - /** - * Object name this instance will give itself when being registered to an - * MBeanServer. - */ - private final String objectName; - - /** - * Creates a new instance, using the Sigar instance specified to fetch the - * data. - * - * @param sigar - * The Sigar instance to use to fetch data from - * - * @throws IllegalArgumentException - * If an unexpected Sigar error occurs - */ - public SigarSwap(Sigar sigar) throws IllegalArgumentException { - super(sigar, CACHED_5SEC); - - this.objectName = SigarInvokerJMX.DOMAIN_NAME + ":" + MBEAN_ATTR_TYPE - + "=Swap"; - } - - /** - * Object name this instance will give itself when being registered to an - * MBeanServer. - */ - public String getObjectName() { - return this.objectName; - } - - /** - * @return The amount of free swap memory, in [bytes] - */ - public long getFree() { - try { - return sigar.getSwap().getFree(); - } catch (SigarException e) { - throw unexpectedError(MBEAN_TYPE, e); - } - } - - /** - * @return The total amount of swap memory, in [bytes] - */ - public long getTotal() { - try { - return sigar.getSwap().getTotal(); - } catch (SigarException e) { - throw unexpectedError(MBEAN_TYPE, e); - } - } - - /** - * @return The amount of swap memory in use, in [bytes] - */ - public long getUsed() { - try { - return sigar.getSwap().getUsed(); - } catch (SigarException e) { - throw unexpectedError(MBEAN_TYPE, e); - } - } - - // ------- - // Implementation of the DynamicMBean interface - // ------- - - /* - * (non-Javadoc) - * - * @see javax.management.DynamicMBean#getAttribute(java.lang.String) - */ - public Object getAttribute(String attr) throws AttributeNotFoundException, - MBeanException, ReflectionException { - if (MBEAN_ATTR_FREE.getName().equals(attr)) { - return new Long(getFree()); - - } else if (MBEAN_ATTR_TOTAL.getName().equals(attr)) { - return new Long(getTotal()); - - } else if (MBEAN_ATTR_USED.getName().equals(attr)) { - return new Long(getUsed()); - - } else { - throw new AttributeNotFoundException(attr); - } - } - - /* - * (non-Javadoc) - * @see javax.management.DynamicMBean#setAttribute(javax.management.Attribute) - */ - public void setAttribute(Attribute attr) throws AttributeNotFoundException { - throw new AttributeNotFoundException(attr.getName()); - } - - /* - * (non-Javadoc) - * @see javax.management.DynamicMBean#invoke(java.lang.String, - * java.lang.Object[], java.lang.String[]) - */ - public Object invoke(String actionName, Object[] params, String[] signature) - throws ReflectionException { - throw new ReflectionException(new NoSuchMethodException(actionName), - actionName); - } - - /* - * (non-Javadoc) - * @see javax.management.DynamicMBean#getMBeanInfo() - */ - public MBeanInfo getMBeanInfo() { - return MBEAN_INFO; - } -} +/* + * Copyright (C) [2004, 2005, 2006, 2007], Hyperic, Inc. + * This file is part of SIGAR. + * + * SIGAR is free software; you can redistribute it and/or modify + * it under the terms version 2 of the GNU General Public License as + * published by the Free Software Foundation. This program is distributed + * in the hope that it will be useful, but WITHOUT ANY WARRANTY; without + * even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU General Public License for more + * details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 + * USA. + */ + +package org.hyperic.sigar.jmx; + +import javax.management.Attribute; +import javax.management.AttributeNotFoundException; +import javax.management.MBeanAttributeInfo; +import javax.management.MBeanConstructorInfo; +import javax.management.MBeanException; +import javax.management.MBeanInfo; +import javax.management.MBeanParameterInfo; +import javax.management.ReflectionException; + +import org.hyperic.sigar.Sigar; +import org.hyperic.sigar.SigarException; + +/** + * Sigar JMX MBean implementation for the Swap information + * package. Provides an OpenMBean conform implementation. + * + * @author Bjoern Martin + * @since 1.5 + */ +public class SigarSwap extends AbstractMBean { + + private static final String MBEAN_TYPE = "Swap"; + + private static final MBeanInfo MBEAN_INFO; + + private static final MBeanAttributeInfo MBEAN_ATTR_FREE; + + private static final MBeanAttributeInfo MBEAN_ATTR_TOTAL; + + private static final MBeanAttributeInfo MBEAN_ATTR_USED; + + private static final MBeanConstructorInfo MBEAN_CONSTR_SIGAR; + + private static MBeanParameterInfo MBEAN_PARAM_SIGAR; + + static { + MBEAN_ATTR_FREE = new MBeanAttributeInfo("Free", "long", + "The amount of free swap memory, in [bytes]", true, false, + false); + MBEAN_ATTR_TOTAL = new MBeanAttributeInfo("Total", "long", + "The total amount of swap memory, in [bytes]", true, false, + false); + MBEAN_ATTR_USED = new MBeanAttributeInfo("Used", "long", + "The amount of swap memory in use, in [bytes]", true, false, + false); + MBEAN_PARAM_SIGAR = new MBeanParameterInfo("sigar", Sigar.class + .getName(), "The Sigar instance to use to fetch data from"); + MBEAN_CONSTR_SIGAR = new MBeanConstructorInfo( + SigarSwap.class.getName(), + "Creates a new instance, using the Sigar instance " + + "specified to fetch the data.", + new MBeanParameterInfo[] { MBEAN_PARAM_SIGAR }); + MBEAN_INFO = new MBeanInfo( + SigarSwap.class.getName(), + "Sigar Swap MBean, provides raw data for the swap memory " + + "configured on the system. Uses an internal cache that " + + "invalidates within 5 seconds.", + new MBeanAttributeInfo[] { MBEAN_ATTR_FREE, MBEAN_ATTR_TOTAL, + MBEAN_ATTR_USED }, + new MBeanConstructorInfo[] { MBEAN_CONSTR_SIGAR }, null, null); + + } + + /** + * Object name this instance will give itself when being registered to an + * MBeanServer. + */ + private final String objectName; + + /** + * Creates a new instance, using the Sigar instance specified to fetch the + * data. + * + * @param sigar + * The Sigar instance to use to fetch data from + * + * @throws IllegalArgumentException + * If an unexpected Sigar error occurs + */ + public SigarSwap(Sigar sigar) throws IllegalArgumentException { + super(sigar, CACHED_5SEC); + + this.objectName = SigarInvokerJMX.DOMAIN_NAME + ":" + MBEAN_ATTR_TYPE + + "=Swap"; + } + + /** + * Object name this instance will give itself when being registered to an + * MBeanServer. + */ + public String getObjectName() { + return this.objectName; + } + + /** + * @return The amount of free swap memory, in [bytes] + */ + public long getFree() { + try { + return sigar.getSwap().getFree(); + } catch (SigarException e) { + throw unexpectedError(MBEAN_TYPE, e); + } + } + + /** + * @return The total amount of swap memory, in [bytes] + */ + public long getTotal() { + try { + return sigar.getSwap().getTotal(); + } catch (SigarException e) { + throw unexpectedError(MBEAN_TYPE, e); + } + } + + /** + * @return The amount of swap memory in use, in [bytes] + */ + public long getUsed() { + try { + return sigar.getSwap().getUsed(); + } catch (SigarException e) { + throw unexpectedError(MBEAN_TYPE, e); + } + } + + // ------- + // Implementation of the DynamicMBean interface + // ------- + + /* + * (non-Javadoc) + * + * @see javax.management.DynamicMBean#getAttribute(java.lang.String) + */ + public Object getAttribute(String attr) throws AttributeNotFoundException, + MBeanException, ReflectionException { + if (MBEAN_ATTR_FREE.getName().equals(attr)) { + return new Long(getFree()); + + } else if (MBEAN_ATTR_TOTAL.getName().equals(attr)) { + return new Long(getTotal()); + + } else if (MBEAN_ATTR_USED.getName().equals(attr)) { + return new Long(getUsed()); + + } else { + throw new AttributeNotFoundException(attr); + } + } + + /* + * (non-Javadoc) + * @see javax.management.DynamicMBean#setAttribute(javax.management.Attribute) + */ + public void setAttribute(Attribute attr) throws AttributeNotFoundException { + throw new AttributeNotFoundException(attr.getName()); + } + + /* + * (non-Javadoc) + * @see javax.management.DynamicMBean#invoke(java.lang.String, + * java.lang.Object[], java.lang.String[]) + */ + public Object invoke(String actionName, Object[] params, String[] signature) + throws ReflectionException { + throw new ReflectionException(new NoSuchMethodException(actionName), + actionName); + } + + /* + * (non-Javadoc) + * @see javax.management.DynamicMBean#getMBeanInfo() + */ + public MBeanInfo getMBeanInfo() { + return MBEAN_INFO; + } +} From bc3e8ed6d41a0c92e6e0c07fad9b765e9f0127c2 Mon Sep 17 00:00:00 2001 From: Doug MacEachern Date: Tue, 10 Feb 2009 13:50:08 -0800 Subject: [PATCH 03/18] (SIGAR-73) check for 'ocfs' in addition to 'ocfs2' --- src/os/linux/linux_sigar.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/os/linux/linux_sigar.c b/src/os/linux/linux_sigar.c index 55776b3d..f1fb5147 100644 --- a/src/os/linux/linux_sigar.c +++ b/src/os/linux/linux_sigar.c @@ -1086,7 +1086,7 @@ int sigar_os_fs_type_get(sigar_file_system_t *fsp) } break; case 'o': - if (strEQ(type, "ocfs2")) { + if (strnEQ(type, "ocfs", 4)) { fsp->type = SIGAR_FSTYPE_LOCAL_DISK; } break; From b64ebca57e591147af93734404ffde2d35c29944 Mon Sep 17 00:00:00 2001 From: Doug MacEachern Date: Tue, 10 Feb 2009 17:37:51 -0800 Subject: [PATCH 04/18] s/SVN/SCM/ --- src/sigar_version.c.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/sigar_version.c.in b/src/sigar_version.c.in index 72dd4f7f..cb4220cd 100644 --- a/src/sigar_version.c.in +++ b/src/sigar_version.c.in @@ -8,7 +8,7 @@ static sigar_version_t sigar_version = { "@@ARCHLIB@@", "@@BINNAME@@", "SIGAR-@@VERSION_STRING@@, " - "SVN revision @@SCM_REVISION@@, " + "SCM revision @@SCM_REVISION@@, " "built @@BUILD_DATE@@ as @@ARCHLIB@@", @@VERSION_MAJOR@@, @@VERSION_MINOR@@, From ae289d3d4157ddea81b3e2bc8b94fead318de41d Mon Sep 17 00:00:00 2001 From: Doug MacEachern Date: Thu, 12 Feb 2009 16:32:36 -0800 Subject: [PATCH 05/18] (SIGAR-134) use UNICODE in EventLog wrapper --- bindings/java/src/jni/win32/eventlog.c | 134 +++++++++++++------------ 1 file changed, 70 insertions(+), 64 deletions(-) diff --git a/bindings/java/src/jni/win32/eventlog.c b/bindings/java/src/jni/win32/eventlog.c index 06bff698..b208ca3b 100644 --- a/bindings/java/src/jni/win32/eventlog.c +++ b/bindings/java/src/jni/win32/eventlog.c @@ -17,13 +17,25 @@ */ #ifdef WIN32 +#define UNICODE +#define _UNICODE + #include "javasigar.h" #include "win32bindings.h" #define MAX_MSG_LENGTH 8192 #define MAX_ERROR_LENGTH 1024 -#define REG_MSGFILE_ROOT "SYSTEM\\CurrentControlSet\\Services\\EventLog\\" +#define REG_MSGFILE_ROOT L"SYSTEM\\CurrentControlSet\\Services\\EventLog\\" +#define FILESEP L";" +#define STRING_SIG "Ljava/lang/String;" + +#define UNICODE_SetStringField(field, str) \ + id = JENV->GetFieldID(env, cls, field, STRING_SIG); \ + value = JENV->NewString(env, (const jchar *)str, wcslen(str)); \ + JENV->SetObjectField(env, obj, id, value) + +#define ARRLEN(arr) (sizeof(arr) / sizeof(arr[0])) static void win32_set_pointer(JNIEnv *env, jobject obj, const void *ptr) { @@ -57,27 +69,32 @@ static HANDLE win32_get_pointer(JNIEnv *env, jobject obj) return h; } -static int get_messagefile_dll(const char *app, char *source, char *dllfile) +static int get_messagefile_dll(LPWSTR app, LPWSTR source, LPWSTR dllfile) { HKEY hk; - char buf[MAX_MSG_LENGTH]; + WCHAR buf[MAX_MSG_LENGTH]; DWORD type, data = sizeof(buf); LONG rc; - sprintf(buf, "%s%s\\%s", REG_MSGFILE_ROOT, app, source); - rc = RegOpenKey(HKEY_LOCAL_MACHINE, buf, &hk); + wcscpy(buf, REG_MSGFILE_ROOT); + wcscat(buf, app); + wcscat(buf, L"\\"); + wcscat(buf, source); + + rc = RegOpenKeyEx(HKEY_LOCAL_MACHINE, buf, + 0, KEY_READ, &hk); if (rc) { return rc; } - rc = RegQueryValueEx(hk, "EventMessageFile", NULL, &type, - (UCHAR *)buf, &data); + rc = RegQueryValueEx(hk, L"EventMessageFile", NULL, &type, + (LPBYTE)buf, &data); if (rc) { RegCloseKey(hk); return rc; } - strncpy(dllfile, buf, MAX_MSG_LENGTH); + wcsncpy(dllfile, buf, MAX_MSG_LENGTH); dllfile[MAX_MSG_LENGTH-1] = '\0'; RegCloseKey(hk); @@ -85,13 +102,13 @@ static int get_messagefile_dll(const char *app, char *source, char *dllfile) return ERROR_SUCCESS; } -static int get_formatted_message(EVENTLOGRECORD *pevlr, char *dllfile, - char *msg) +static int get_formatted_message(EVENTLOGRECORD *pevlr, LPWSTR dllfile, + LPWSTR msg) { LPVOID msgbuf = NULL; - char msgdll[MAX_MSG_LENGTH]; - char *insert_strs[56], *ptr; - int i, max = sizeof(insert_strs) / sizeof(char *); + WCHAR msgdll[MAX_MSG_LENGTH]; + LPWSTR insert_strs[56], ptr; + int i, max = ARRLEN(insert_strs); const DWORD flags = FORMAT_MESSAGE_FROM_HMODULE | FORMAT_MESSAGE_FROM_SYSTEM | @@ -99,25 +116,20 @@ static int get_formatted_message(EVENTLOGRECORD *pevlr, char *dllfile, FORMAT_MESSAGE_ARGUMENT_ARRAY | FORMAT_MESSAGE_MAX_WIDTH_MASK; - if (!ExpandEnvironmentStrings(dllfile, msgdll, sizeof(msgdll))) { + if (!ExpandEnvironmentStrings(dllfile, msgdll, ARRLEN(msgdll))) { return GetLastError(); } memset(insert_strs, '\0', sizeof(insert_strs)); - ptr = (char *)((LPBYTE)pevlr + pevlr->StringOffset); + ptr = (LPWSTR)((LPBYTE)pevlr + pevlr->StringOffset); for (i = 0; i < pevlr->NumStrings && i < max; i++) { insert_strs[i] = ptr; - ptr += strlen(ptr) + 1; + ptr += wcslen(ptr) + 1; } - ptr = msgdll; + ptr = wcstok(msgdll, FILESEP); while (ptr) { HINSTANCE hlib; - char *delim = strchr(ptr, ';'); - - if (delim) { - *delim++ = '\0'; - } hlib = LoadLibraryEx(ptr, NULL, LOAD_LIBRARY_AS_DATAFILE); @@ -126,20 +138,20 @@ static int get_formatted_message(EVENTLOGRECORD *pevlr, char *dllfile, hlib, pevlr->EventID, MAKELANGID(LANG_NEUTRAL, SUBLANG_ENGLISH_US), - (LPTSTR) &msgbuf, - sizeof(msgbuf), - insert_strs); + (LPWSTR) &msgbuf, + sizeof(msgbuf), //min bytes w/ FORMAT_MESSAGE_ALLOCATE_BUFFER + (va_list *)insert_strs); FreeLibrary(hlib); if (msgbuf) { break; } } - ptr = delim; + ptr = wcstok(NULL, FILESEP); } if (msgbuf) { - strncpy(msg, msgbuf, MAX_MSG_LENGTH); + wcsncpy(msg, msgbuf, MAX_MSG_LENGTH); msg[MAX_MSG_LENGTH-1] = '\0'; LocalFree(msgbuf); return ERROR_SUCCESS; @@ -153,9 +165,9 @@ JNIEXPORT void SIGAR_JNI(win32_EventLog_openlog) (JNIEnv *env, jobject obj, jstring lpSourceName) { HANDLE h; - const char *name; + LPWSTR name; - name = JENV->GetStringUTFChars(env, lpSourceName, 0); + name = (LPWSTR)JENV->GetStringChars(env, lpSourceName, NULL); h = OpenEventLog(NULL, name); if (h == NULL) { @@ -163,12 +175,12 @@ JNIEXPORT void SIGAR_JNI(win32_EventLog_openlog) DWORD lastError = GetLastError(); sprintf(buf, "Unable to open event log: %d", lastError); - JENV->ReleaseStringUTFChars(env, lpSourceName, name); + JENV->ReleaseStringChars(env, lpSourceName, name); win32_throw_exception(env, buf); return; } - JENV->ReleaseStringUTFChars(env, lpSourceName, name); + JENV->ReleaseStringChars(env, lpSourceName, name); /* Save the handle for later use */ win32_set_pointer(env, obj, h); @@ -217,16 +229,16 @@ JNIEXPORT jobject SIGAR_JNI(win32_EventLog_readlog) { EVENTLOGRECORD *pevlr; BYTE buffer[8192]; - char dllfile[MAX_MSG_LENGTH]; - char msg[MAX_MSG_LENGTH]; + WCHAR dllfile[MAX_MSG_LENGTH]; + WCHAR msg[MAX_MSG_LENGTH]; DWORD dwRead, dwNeeded; - LPSTR source, machineName; + LPWSTR source, machineName; HANDLE h; BOOL rv; jclass cls = WIN32_FIND_CLASS("EventLogRecord"); - jobject eventObj; /* Actual instance of the EventLogRecord */ jfieldID id; - const char *name; + jstring value; + LPWSTR name; h = win32_get_pointer(env, obj); @@ -254,59 +266,54 @@ JNIEXPORT jobject SIGAR_JNI(win32_EventLog_readlog) return NULL; } - eventObj = JENV->AllocObject(env, cls); + obj = JENV->AllocObject(env, cls); id = JENV->GetFieldID(env, cls, "recordNumber", "J"); - JENV->SetLongField(env, eventObj, id, pevlr->RecordNumber); + JENV->SetLongField(env, obj, id, pevlr->RecordNumber); id = JENV->GetFieldID(env, cls, "timeGenerated", "J"); - JENV->SetLongField(env, eventObj, id, pevlr->TimeGenerated); + JENV->SetLongField(env, obj, id, pevlr->TimeGenerated); id = JENV->GetFieldID(env, cls, "timeWritten", "J"); - JENV->SetLongField(env, eventObj, id, pevlr->TimeWritten); + JENV->SetLongField(env, obj, id, pevlr->TimeWritten); id = JENV->GetFieldID(env, cls, "eventId", "J"); - JENV->SetLongField(env, eventObj, id, pevlr->EventID); + JENV->SetLongField(env, obj, id, pevlr->EventID); id = JENV->GetFieldID(env, cls, "eventType", "S"); - JENV->SetShortField(env, eventObj, id, pevlr->EventType); + JENV->SetShortField(env, obj, id, pevlr->EventType); /* Extract string data from the end of the structure. Lame. */ - id = JENV->GetFieldID(env, cls, "source", "Ljava/lang/String;"); - source = (LPSTR)((LPBYTE)pevlr + sizeof(EVENTLOGRECORD)); - SetStringField(env, eventObj, id, source); + source = (LPWSTR)((LPBYTE)pevlr + sizeof(EVENTLOGRECORD)); + UNICODE_SetStringField("source", source); - name = JENV->GetStringUTFChars(env, jname, 0); + name = (LPWSTR)JENV->GetStringChars(env, jname, NULL); /* Get the formatted message */ if ((pevlr->NumStrings > 0) && (get_messagefile_dll(name, source, dllfile) == ERROR_SUCCESS) && (get_formatted_message(pevlr, dllfile, msg) == ERROR_SUCCESS)) { - id = JENV->GetFieldID(env, cls, "message", - "Ljava/lang/String;"); - SetStringField(env, eventObj, id, msg); + UNICODE_SetStringField("message", msg); } else if (pevlr->NumStrings > 0) { - char *tmp = (LPSTR)((LPBYTE)pevlr + pevlr->StringOffset); - id = JENV->GetFieldID(env, cls, "message", "Ljava/lang/String;"); - SetStringField(env, eventObj, id, tmp); + LPWSTR tmp = (LPWSTR)((LPBYTE)pevlr + pevlr->StringOffset); + UNICODE_SetStringField("message", tmp); } - JENV->ReleaseStringUTFChars(env, jname, name); + JENV->ReleaseStringChars(env, jname, name); /* Increment up to the machine name. */ - id = JENV->GetFieldID(env, cls, "computerName", "Ljava/lang/String;"); - machineName = (LPSTR)((LPBYTE)pevlr + sizeof(EVENTLOGRECORD) + - strlen(source) + 1); - SetStringField(env, eventObj, id, machineName); + machineName = (LPWSTR)((LPBYTE)pevlr + sizeof(EVENTLOGRECORD) + + wcslen(source) + 1); + UNICODE_SetStringField("computerName", machineName); /* Get user id info */ if (pevlr->UserSidLength > 0) { - char name[256]; - char domain[256]; - DWORD namelen = sizeof(name); - DWORD domainlen = sizeof(domain); + WCHAR name[256]; + WCHAR domain[256]; + DWORD namelen = ARRLEN(name); + DWORD domainlen = ARRLEN(domain); DWORD len; SID_NAME_USE snu; PSID sid; @@ -314,12 +321,11 @@ JNIEXPORT jobject SIGAR_JNI(win32_EventLog_readlog) sid = (PSID)((LPBYTE)pevlr + pevlr->UserSidOffset); if (LookupAccountSid(NULL, sid, name, &namelen, domain, &domainlen, &snu)) { - id = JENV->GetFieldID(env, cls, "user", "Ljava/lang/String;"); - SetStringField(env, eventObj, id, name); + UNICODE_SetStringField("user", name); } } - return eventObj; + return obj; } JNIEXPORT void SIGAR_JNI(win32_EventLog_waitForChange) From 880a24ad30b71d3038d780adaabb41badfc43ec8 Mon Sep 17 00:00:00 2001 From: Doug MacEachern Date: Sat, 28 Feb 2009 08:15:20 -0800 Subject: [PATCH 06/18] bump version --- bindings/java/version.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bindings/java/version.properties b/bindings/java/version.properties index e6fa48db..3a74afce 100644 --- a/bindings/java/version.properties +++ b/bindings/java/version.properties @@ -1,6 +1,6 @@ copyright.year=2004-2009 version.major=1 version.minor=6 -version.maint=2 +version.maint=3 version.build=0 From 6d6b5577b1ca9dcd2a103999560c7cc659960c58 Mon Sep 17 00:00:00 2001 From: Doug MacEachern Date: Wed, 25 Mar 2009 11:18:04 -0700 Subject: [PATCH 07/18] (SIGAR-140) interface aliases are valid in sigar_net_interface_config_primary_get --- src/sigar.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/sigar.c b/src/sigar.c index b371bace..4d228c67 100644 --- a/src/sigar.c +++ b/src/sigar.c @@ -1810,19 +1810,23 @@ sigar_net_interface_config_primary_get(sigar_t *sigar, if ((status != SIGAR_OK) || (ifconfig->flags & SIGAR_IFF_LOOPBACK) || - !ifconfig->hwaddr.addr.in || /* no mac address */ - strchr(iflist.data[i], ':')) /* alias */ + !ifconfig->hwaddr.addr.in) /* no mac address */ { continue; } if (!possible_config.flags) { - /* save for later for use if we're not connected to the net */ + /* save for later for use if we're not connected to the net + * or all interfaces are aliases (e.g. solaris zone) + */ memcpy(&possible_config, ifconfig, sizeof(*ifconfig)); } if (!ifconfig->address.addr.in) { continue; /* no ip address */ } + if (strchr(iflist.data[i], ':')) { + continue; /* alias */ + } found = 1; break; From 68cf08cf4d86ad2452891d669fbc53f427741269 Mon Sep 17 00:00:00 2001 From: Doug MacEachern Date: Fri, 27 Mar 2009 15:07:32 -0700 Subject: [PATCH 08/18] (SIGAR-141) sigar.jar location is not required to find native library --- .../src/org/hyperic/jni/ArchLoader.java | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/bindings/java/hyperic_jni/src/org/hyperic/jni/ArchLoader.java b/bindings/java/hyperic_jni/src/org/hyperic/jni/ArchLoader.java index 34091b6e..634ecc09 100644 --- a/bindings/java/hyperic_jni/src/org/hyperic/jni/ArchLoader.java +++ b/bindings/java/hyperic_jni/src/org/hyperic/jni/ArchLoader.java @@ -250,6 +250,11 @@ public class ArchLoader { } public String findJarPath(String libName) + throws ArchLoaderException { + return findJarPath(libName, true); + } + + private String findJarPath(String libName, boolean isRequired) throws ArchLoaderException { /* * native libraries should be installed along side @@ -280,8 +285,13 @@ public class ArchLoader { } if (url == null) { - throw new ArchLoaderException("Unable to find " + - getJarName()); + if (isRequired) { + throw new ArchLoaderException("Unable to find " + + getJarName()); + } + else { + return null; + } } path = url.getFile(); @@ -385,11 +395,11 @@ public class ArchLoader { if (path.equals("-")) { return; //assume library is already loaded } - findJarPath(null); //check for versioned .jar + findJarPath(null, false); //check for versioned .jar findNativeLibrary(path, libName); } else { - if (findJarPath(libName) == null) { + if (findJarPath(libName, false) == null) { findInJavaLibraryPath(libName); } } From 039080f722b66d825e557d941986eca0e3956ab4 Mon Sep 17 00:00:00 2001 From: Doug MacEachern Date: Mon, 20 Apr 2009 18:39:36 -0700 Subject: [PATCH 09/18] (SIGAR-39) Use kern.cp_times in cpu_list on FreeBSD 7.x+ --- src/os/darwin/darwin_sigar.c | 53 +++++++++++++++++++++++++++++++++++- 1 file changed, 52 insertions(+), 1 deletion(-) diff --git a/src/os/darwin/darwin_sigar.c b/src/os/darwin/darwin_sigar.c index 9f0bb8ed..fca70acd 100644 --- a/src/os/darwin/darwin_sigar.c +++ b/src/os/darwin/darwin_sigar.c @@ -783,6 +783,52 @@ int sigar_cpu_get(sigar_t *sigar, sigar_cpu_t *cpu) return SIGAR_OK; } +#if defined(__FreeBSD__) && (__FreeBSD_version >= 700000) +#define HAVE_KERN_CP_TIMES /* kern.cp_times came later than 7.0, not sure exactly when */ +static int sigar_cp_times_get(sigar_t *sigar, sigar_cpu_list_t *cpulist) +{ + int maxcpu, status; + size_t len = sizeof(maxcpu), size; + long *times; + + if (sysctlbyname("kern.smp.maxcpus", &maxcpu, &len, NULL, 0) == -1) { + return errno; + } + + size = sizeof(long) * maxcpu * CPUSTATES; + times = malloc(size); + if (sysctlbyname("kern.cp_times", times, &size, NULL, 0) == -1) { + status = errno; + } + else { + int i, maxid = (size / CPUSTATES / sizeof(long)); + long *cp_time = times; + status = SIGAR_OK; + + for (i=0; idata[cpulist->number++]; + cpu->user = SIGAR_TICK2MSEC(cp_time[CP_USER]); + cpu->nice = SIGAR_TICK2MSEC(cp_time[CP_NICE]); + cpu->sys = SIGAR_TICK2MSEC(cp_time[CP_SYS]); + cpu->idle = SIGAR_TICK2MSEC(cp_time[CP_IDLE]); + cpu->wait = 0; /*N/A*/ + cpu->irq = SIGAR_TICK2MSEC(cp_time[CP_INTR]); + cpu->soft_irq = 0; /*N/A*/ + cpu->stolen = 0; /*N/A*/ + cpu->total = cpu->user + cpu->nice + cpu->sys + cpu->idle + cpu->irq; + cp_time += CPUSTATES; + } + } + + free(times); + return status; +} +#endif + int sigar_cpu_list_get(sigar_t *sigar, sigar_cpu_list_t *cpulist) { #ifdef DARWIN @@ -830,7 +876,12 @@ int sigar_cpu_list_get(sigar_t *sigar, sigar_cpu_list_t *cpulist) sigar_cpu_list_create(cpulist); - /* XXX howto multi cpu in freebsd? +#ifdef HAVE_KERN_CP_TIMES + if ((status = sigar_cp_times_get(sigar, cpulist)) == SIGAR_OK) { + return SIGAR_OK; + } +#endif + /* XXX no multi cpu in freebsd < 7.0, howbout others? * for now just report all metrics on the 1st cpu * 0's for the rest */ From 8c8d4cf814d76228a817d88851651c5920f3a4c0 Mon Sep 17 00:00:00 2001 From: Doug MacEachern Date: Sat, 25 Apr 2009 09:52:07 -0700 Subject: [PATCH 10/18] getrusage on NetBSD may not return monotonically increasing values for CPU time. See: http://archives.devshed.com/forums/bsd-93/kern-30115-getrusage-returns-bogus-ru-utime-values-220800.html --- src/os/darwin/darwin_sigar.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/os/darwin/darwin_sigar.c b/src/os/darwin/darwin_sigar.c index fca70acd..faf8c5c5 100644 --- a/src/os/darwin/darwin_sigar.c +++ b/src/os/darwin/darwin_sigar.c @@ -1905,7 +1905,7 @@ int sigar_thread_cpu_get(sigar_t *sigar, sigar_uint64_t id, sigar_thread_cpu_t *cpu) { -#ifdef DARWIN +#if defined(DARWIN) mach_port_t self = mach_thread_self(); thread_basic_info_data_t info; mach_msg_type_number_t count = THREAD_BASIC_INFO_COUNT; @@ -1922,6 +1922,8 @@ int sigar_thread_cpu_get(sigar_t *sigar, cpu->user = tval2nsec(info.user_time); cpu->sys = tval2nsec(info.system_time); cpu->total = cpu->user + cpu->sys; +#elif defined(__NetBSD__) + return SIGAR_ENOTIMPL; /* http://tinyurl.com/chbvln */ #else /* XXX this is not per-thread, it is for the whole-process. * just want to use for the shell time command at the moment. From 4c5873885eb60830bf9e4ad69b19fefc9f7e5b44 Mon Sep 17 00:00:00 2001 From: Doug MacEachern Date: Sun, 15 Feb 2009 19:02:25 -0800 Subject: [PATCH 11/18] require libperfstat on aix --- bindings/java/build.xml | 13 +- src/os/aix/aix_sigar.c | 797 +++------------------------ src/os/aix/libperfstat.h | 542 ------------------ src/os/aix/perfstat/build.xml | 40 -- src/os/aix/perfstat/libperfstat.a | Bin 157571 -> 0 bytes src/os/aix/perfstat/libpthreads.a | Bin 935060 -> 0 bytes src/os/aix/perfstat/sigar_perfstat.c | 102 ---- src/os/aix/sigar_os.h | 40 -- 8 files changed, 78 insertions(+), 1456 deletions(-) delete mode 100644 src/os/aix/libperfstat.h delete mode 100644 src/os/aix/perfstat/build.xml delete mode 100644 src/os/aix/perfstat/libperfstat.a delete mode 100644 src/os/aix/perfstat/libpthreads.a delete mode 100644 src/os/aix/perfstat/sigar_perfstat.c diff --git a/bindings/java/build.xml b/bindings/java/build.xml index d97d30f2..1317803d 100644 --- a/bindings/java/build.xml +++ b/bindings/java/build.xml @@ -287,7 +287,7 @@ - + @@ -354,15 +354,6 @@ depends="jni-init,prepare-src,jni-compile,jni-lib-copy,copy-includes" if="jni.libarch"/> - - - - - - - - - @@ -374,7 +365,7 @@ - + diff --git a/src/os/aix/aix_sigar.c b/src/os/aix/aix_sigar.c index 4679617a..ae89fa58 100644 --- a/src/os/aix/aix_sigar.c +++ b/src/os/aix/aix_sigar.c @@ -33,6 +33,8 @@ #include #include #include +#include +#include #include #include @@ -134,6 +136,21 @@ static int kread(sigar_t *sigar, void *data, int size, long offset) return SIGAR_OK; } +static int sigar_thread_rusage(struct rusage *usage, int mode) +{ + return pthread_getrusage_np(pthread_self(), usage, mode); +} + +static int sigar_perfstat_memory(perfstat_memory_total_t *memory) +{ + return perfstat_memory_total(NULL, memory, sizeof(*memory), 1); +} + +static int sigar_perfstat_cpu(perfstat_cpu_total_t *cpu_total) +{ + return perfstat_cpu_total(NULL, cpu_total, sizeof(*cpu_total), 1); +} + int sigar_os_open(sigar_t **sigar) { int status, i; @@ -146,7 +163,6 @@ int sigar_os_open(sigar_t **sigar) (*sigar)->getprocfd = NULL; /*XXX*/ (*sigar)->kmem = kmem; - (*sigar)->dmem = -1; (*sigar)->pagesize = 0; (*sigar)->ticks = sysconf(_SC_CLK_TCK); (*sigar)->boot_time = 0; @@ -155,7 +171,6 @@ int sigar_os_open(sigar_t **sigar) (*sigar)->cpuinfo = NULL; (*sigar)->cpuinfo_size = 0; SIGAR_ZERO(&(*sigar)->swaps); - SIGAR_ZERO(&(*sigar)->perfstat); i = getpagesize(); while ((i >>= 1) > 0) { @@ -193,25 +208,19 @@ int sigar_os_close(sigar_t *sigar) if (sigar->kmem > 0) { close(sigar->kmem); } - if (sigar->dmem > 0) { - close(sigar->dmem); - } if (sigar->pinfo) { free(sigar->pinfo); } if (sigar->cpuinfo) { free(sigar->cpuinfo); } - if (sigar->perfstat.handle) { - dlclose(sigar->perfstat.handle); - } if (sigar->diskmap) { sigar_cache_destroy(sigar->diskmap); } if (sigar->thrusage == PTHRDSINFO_RUSAGE_START) { struct rusage usage; - sigar->perfstat.thread_rusage(&usage, - PTHRDSINFO_RUSAGE_STOP); + sigar_thread_rusage(&usage, + PTHRDSINFO_RUSAGE_STOP); } free(sigar); return SIGAR_OK; @@ -227,263 +236,21 @@ char *sigar_os_error_string(sigar_t *sigar, int err) } } -static int proc_module_get_self(void *data, char *name, int len) -{ - sigar_t *sigar = (sigar_t *)data; - char *ptr = rindex(name, '/'); - - if (!ptr) { - return SIGAR_OK; - } - - if (strnEQ(ptr+1, "libsigar-", 9)) { - *ptr = '\0'; /* chop libsigar-powerpc-ibm-aix-4.3.x.so */ - - sigar->self_path = sigar_strdup(name); - - if (SIGAR_LOG_IS_DEBUG(sigar)) { - sigar_log_printf(sigar, SIGAR_LOG_DEBUG, - "detected sigar-lib='%s'", - sigar->self_path); - } - - return !SIGAR_OK; /* break loop */ - } - - return SIGAR_OK; -} - -static char *sigar_get_self_path(sigar_t *sigar) -{ - if (!sigar->self_path) { - sigar_proc_modules_t procmods; - procmods.module_getter = proc_module_get_self; - procmods.data = sigar; - - sigar_proc_modules_get(sigar, sigar_pid_get(sigar), - &procmods); - - if (!sigar->self_path) { - /* dont try again */ - sigar->self_path = sigar_strdup("."); - } - } - - return sigar->self_path; -} - -/* - * the perfstat api is only supported in aix 5.2+ - * in order to be binary compatible with 4.3 and 5.1 - * we must jump through some hoops. libperfstat.a - * is a static library, we need dynamic. - * libsigar_aixperfstat.so is juat a proxy to libperfstat.a - */ -#define SIGAR_AIXPERFSTAT "/libsigar_aixperfstat.so" - -static int sigar_perfstat_init(sigar_t *sigar) -{ - void *handle; - char libperfstat[SIGAR_PATH_MAX+1], *path; - int len; - - if (sigar->perfstat.avail == 1) { - return SIGAR_OK; - } - if (sigar->perfstat.avail == -1) { - return ENOENT; - } - - path = sigar_get_self_path(sigar); - len = strlen(path); - - memcpy(&libperfstat[0], path, len); - memcpy(&libperfstat[len], SIGAR_AIXPERFSTAT, - sizeof(SIGAR_AIXPERFSTAT)); - - if (!(handle = dlopen(libperfstat, RTLD_LOCAL|RTLD_LAZY))) { - if (SIGAR_LOG_IS_DEBUG(sigar)) { - sigar_log_printf(sigar, SIGAR_LOG_DEBUG, - "failed to open '%s': %s", - libperfstat, sigar_strerror(sigar, errno)); - } - - sigar->perfstat.avail = -1; - return errno; - } - - sigar->perfstat.thread_rusage = - (thread_rusage_func_t)dlsym(handle, - "sigar_thread_rusage"); - - if (!sigar->perfstat.thread_rusage) { - if (SIGAR_LOG_IS_DEBUG(sigar)) { - sigar_log_printf(sigar, SIGAR_LOG_DEBUG, - "dlsym(sigar_thread_rusage) failed: %s", - dlerror()); - } - } - - sigar->perfstat.cpu_total = - (perfstat_cpu_total_func_t)dlsym(handle, - "sigar_perfstat_cpu_total"); - - if (!sigar->perfstat.cpu_total) { - if (SIGAR_LOG_IS_DEBUG(sigar)) { - sigar_log_printf(sigar, SIGAR_LOG_DEBUG, - "dlsym(sigar_perfstat_cpu_total) failed: %s", - dlerror()); - } - - dlclose(handle); - - sigar->perfstat.avail = -1; - return ENOENT; - } - - sigar->perfstat.cpu = - (perfstat_cpu_func_t)dlsym(handle, - "sigar_perfstat_cpu"); - - if (!sigar->perfstat.cpu) { - if (SIGAR_LOG_IS_DEBUG(sigar)) { - sigar_log_printf(sigar, SIGAR_LOG_DEBUG, - "dlsym(sigar_perfstat_cpu) failed: %s", - dlerror()); - } - - dlclose(handle); - - sigar->perfstat.avail = -1; - return ENOENT; - } - - sigar->perfstat.swap = - (perfstat_swap_func_t)dlsym(handle, - "sigar_perfstat_pagingspace"); - - if (!sigar->perfstat.swap) { - if (SIGAR_LOG_IS_DEBUG(sigar)) { - sigar_log_printf(sigar, SIGAR_LOG_DEBUG, - "dlsym(sigar_perfstat_pagingspace) failed: %s", - dlerror()); - } - - dlclose(handle); - - sigar->perfstat.avail = -1; - return ENOENT; - } - - sigar->perfstat.mem = - (perfstat_mem_func_t)dlsym(handle, - "sigar_perfstat_memory"); - - if (!sigar->perfstat.mem) { - if (SIGAR_LOG_IS_DEBUG(sigar)) { - sigar_log_printf(sigar, SIGAR_LOG_DEBUG, - "dlsym(sigar_perfstat_memory) failed: %s", - dlerror()); - } - - dlclose(handle); - - sigar->perfstat.avail = -1; - return ENOENT; - } - - sigar->perfstat.disk = - (perfstat_disk_func_t)dlsym(handle, - "sigar_perfstat_disk"); - - if (!sigar->perfstat.disk) { - if (SIGAR_LOG_IS_DEBUG(sigar)) { - sigar_log_printf(sigar, SIGAR_LOG_DEBUG, - "dlsym(sigar_perfstat_disk) failed: %s", - dlerror()); - } - - dlclose(handle); - - sigar->perfstat.avail = -1; - return ENOENT; - } - - sigar->perfstat.ifstat = - (perfstat_ifstat_func_t)dlsym(handle, - "sigar_perfstat_netinterface"); - - if (!sigar->perfstat.ifstat) { - if (SIGAR_LOG_IS_DEBUG(sigar)) { - sigar_log_printf(sigar, SIGAR_LOG_DEBUG, - "dlsym(sigar_perfstat_netinterface) failed: %s", - dlerror()); - } - - dlclose(handle); - - sigar->perfstat.avail = -1; - return ENOENT; - } - - sigar->perfstat.protocol = - (perfstat_protocol_func_t)dlsym(handle, - "sigar_perfstat_protocol"); - - if (!sigar->perfstat.protocol) { - if (SIGAR_LOG_IS_DEBUG(sigar)) { - sigar_log_printf(sigar, SIGAR_LOG_DEBUG, - "dlsym(sigar_perfstat_protocol) failed: %s", - dlerror()); - } - - dlclose(handle); - - sigar->perfstat.avail = -1; - return ENOENT; - } - - sigar->perfstat.avail = 1; - sigar->perfstat.handle = handle; - - return SIGAR_OK; -} - #define PAGESHIFT(v) \ ((v) << sigar->pagesize) int sigar_mem_get(sigar_t *sigar, sigar_mem_t *mem) { int status; + perfstat_memory_total_t minfo; - if (sigar_perfstat_init(sigar) == SIGAR_OK) { - perfstat_memory_total_t minfo; - - sigar_log(sigar, SIGAR_LOG_DEBUG, "[mem] using libperfstat"); - - if (sigar->perfstat.mem(&minfo) == 1) { - mem->total = PAGESHIFT(minfo.real_total); - mem->free = PAGESHIFT(minfo.real_free); - } - else { - return errno; - } + if (sigar_perfstat_memory(&minfo) == 1) { + mem->total = PAGESHIFT(minfo.real_total); + mem->free = PAGESHIFT(minfo.real_free); } else { - struct vminfo vm; - - sigar_log(sigar, SIGAR_LOG_DEBUG, "[mem] using /dev/kmem"); - - status = kread(sigar, &vm, sizeof(vm), - sigar->koffsets[KOFFSET_VMINFO]); - - if (status != SIGAR_OK) { - return status; - } - - mem->total = PAGESHIFT(vm.memsizepgs); /* lsattr -El sys0 -a realmem */ - mem->free = PAGESHIFT(vm.numfrb); - } + return errno; + } mem->used = mem->total - mem->free; mem->actual_used = mem->used; @@ -638,12 +405,12 @@ static int sigar_swap_get_swapqry(sigar_t *sigar, sigar_swap_t *swap) #define SWAP_DEV(ps) \ ((ps.type == LV_PAGING) ? \ - ps.id.lv_paging.vgname : \ - ps.id.nfs_paging.filename) + ps.u.lv_paging.vgname : \ + ps.u.nfs_paging.filename) #define SWAP_MB_TO_BYTES(v) ((v) * (1024 * 1024)) -static int sigar_swap_get_perfstat(sigar_t *sigar, sigar_swap_t *swap) +int sigar_swap_get(sigar_t *sigar, sigar_swap_t *swap) { perfstat_memory_total_t minfo; perfstat_pagingspace_t ps; @@ -654,7 +421,7 @@ static int sigar_swap_get_perfstat(sigar_t *sigar, sigar_swap_t *swap) SIGAR_ZERO(swap); do { - if (sigar->perfstat.swap(&id, &ps, 1) != 1) { + if (perfstat_pagingspace(&id, &ps, sizeof(ps), 1) != 1) { if (SIGAR_LOG_IS_DEBUG(sigar)) { sigar_log_printf(sigar, SIGAR_LOG_DEBUG, "[swap] dev=%s query failed: %s", @@ -681,26 +448,14 @@ static int sigar_swap_get_perfstat(sigar_t *sigar, sigar_swap_t *swap) swap->free = swap->total - swap->used; - if (sigar->perfstat.mem(&minfo) == 1) { + if (sigar_perfstat_memory(&minfo) == 1) { swap->page_in = minfo.pgins; swap->page_out = minfo.pgouts; } - - return SIGAR_OK; -} - -int sigar_swap_get(sigar_t *sigar, sigar_swap_t *swap) -{ - swap->page_in = swap->page_out = -1; - - if (sigar_perfstat_init(sigar) == SIGAR_OK) { - sigar_log(sigar, SIGAR_LOG_DEBUG, "[swap] using libperfstat"); - return sigar_swap_get_perfstat(sigar, swap); - } else { - sigar_log(sigar, SIGAR_LOG_DEBUG, "[swap] using /dev/kmem"); - return sigar_swap_get_swapqry(sigar, swap); + swap->page_in = swap->page_out = -1; } + return SIGAR_OK; } int sigar_cpu_get(sigar_t *sigar, sigar_cpu_t *cpu) @@ -709,43 +464,21 @@ int sigar_cpu_get(sigar_t *sigar, sigar_cpu_t *cpu) struct sysinfo data; perfstat_cpu_total_t cpu_data; - if (sigar_perfstat_init(sigar) == SIGAR_OK) { - sigar_log(sigar, SIGAR_LOG_DEBUG, "[cpu] using libperfstat"); - - if (sigar->perfstat.cpu_total(&cpu_data) == 1) { - cpu->user = SIGAR_TICK2MSEC(cpu_data.user); - cpu->nice = SIGAR_FIELD_NOTIMPL; /* N/A */ - cpu->sys = SIGAR_TICK2MSEC(cpu_data.sys); - cpu->idle = SIGAR_TICK2MSEC(cpu_data.idle); - cpu->wait = SIGAR_TICK2MSEC(cpu_data.wait); - cpu->irq = 0; /*N/A*/ - cpu->soft_irq = 0; /*N/A*/ - cpu->stolen = 0; /*N/A*/ - cpu->total = cpu->user + cpu->sys + cpu->idle + cpu->wait; - return SIGAR_OK; - } + if (sigar_perfstat_cpu(&cpu_data) == 1) { + cpu->user = SIGAR_TICK2MSEC(cpu_data.user); + cpu->nice = SIGAR_FIELD_NOTIMPL; /* N/A */ + cpu->sys = SIGAR_TICK2MSEC(cpu_data.sys); + cpu->idle = SIGAR_TICK2MSEC(cpu_data.idle); + cpu->wait = SIGAR_TICK2MSEC(cpu_data.wait); + cpu->irq = 0; /*N/A*/ + cpu->soft_irq = 0; /*N/A*/ + cpu->stolen = 0; /*N/A*/ + cpu->total = cpu->user + cpu->sys + cpu->idle + cpu->wait; + return SIGAR_OK; } - - sigar_log(sigar, SIGAR_LOG_DEBUG, "[cpu] using /dev/kmem"); - - status = kread(sigar, &data, sizeof(data), - sigar->koffsets[KOFFSET_SYSINFO]); - - if (status != SIGAR_OK) { - return status; + else { + return errno; } - - cpu->user = SIGAR_TICK2MSEC(data.cpu[CPU_USER]); - cpu->nice = SIGAR_FIELD_NOTIMPL; /* N/A */ - cpu->sys = SIGAR_TICK2MSEC(data.cpu[CPU_KERNEL]); - cpu->idle = SIGAR_TICK2MSEC(data.cpu[CPU_IDLE]); - cpu->wait = SIGAR_TICK2MSEC(data.cpu[CPU_WAIT]); - cpu->irq = 0; /*N/A*/ - cpu->soft_irq = 0; /*N/A*/ - cpu->stolen = 0; /*N/A*/ - cpu->total = cpu->user + cpu->sys + cpu->idle + cpu->wait; - - return SIGAR_OK; } /* @@ -774,49 +507,7 @@ int sigar_cpu_get(sigar_t *sigar, sigar_cpu_t *cpu) * }; */ -static int sigar_cpu_list_get_kmem(sigar_t *sigar, sigar_cpu_list_t *cpulist) -{ - int status, i, j; - int ncpu = _system_configuration.ncpus; /* this can change */ - int size = ncpu * sizeof(struct cpuinfo); - - if (sigar->cpuinfo_size < size) { - sigar->cpuinfo = realloc(sigar->cpuinfo, size); - } - - status = kread(sigar, sigar->cpuinfo, size, - sigar->koffsets[KOFFSET_CPUINFO]); - - if (status != SIGAR_OK) { - return status; - } - - sigar_cpu_list_create(cpulist); - - for (i=0; idata[cpulist->number++]; - - info = &sigar->cpuinfo[i]; - cpu->user = SIGAR_TICK2MSEC(info->cpu[CPU_USER]); - cpu->nice = 0; /* N/A */ - cpu->sys = SIGAR_TICK2MSEC(info->cpu[CPU_KERNEL]); - cpu->idle = SIGAR_TICK2MSEC(info->cpu[CPU_IDLE]); - cpu->wait = SIGAR_TICK2MSEC(info->cpu[CPU_WAIT]); - cpu->irq = 0; /*N/A*/ - cpu->soft_irq = 0; /*N/A*/ - cpu->stolen = 0; /*N/A*/ - cpu->total = cpu->user + cpu->sys + cpu->idle + cpu->wait; - } - - return SIGAR_OK; -} - -static int sigar_cpu_list_get_pstat(sigar_t *sigar, sigar_cpu_list_t *cpulist) +int sigar_cpu_list_get(sigar_t *sigar, sigar_cpu_list_t *cpulist) { perfstat_cpu_t data; int i, ncpu = _system_configuration.ncpus; /* this can change */ @@ -839,7 +530,7 @@ static int sigar_cpu_list_get_pstat(sigar_t *sigar, sigar_cpu_list_t *cpulist) i, id.name); } - if (sigar->perfstat.cpu(&id, &data, 1) == 1) { + if (perfstat_cpu(&id, &data, sizeof(data), 1) == 1) { cpu->user = SIGAR_TICK2MSEC(data.user); cpu->nice = SIGAR_FIELD_NOTIMPL; /* N/A */ cpu->sys = SIGAR_TICK2MSEC(data.sys); @@ -861,18 +552,6 @@ static int sigar_cpu_list_get_pstat(sigar_t *sigar, sigar_cpu_list_t *cpulist) return SIGAR_OK; } -int sigar_cpu_list_get(sigar_t *sigar, sigar_cpu_list_t *cpulist) -{ - if (sigar_perfstat_init(sigar) == SIGAR_OK) { - sigar_log(sigar, SIGAR_LOG_DEBUG, "[cpu_list] using libperfstat"); - return sigar_cpu_list_get_pstat(sigar, cpulist); - } - else { - sigar_log(sigar, SIGAR_LOG_DEBUG, "[cpu_list] using /dev/kmem"); - return sigar_cpu_list_get_kmem(sigar, cpulist); - } -} - static int boot_time(sigar_t *sigar, time_t *time) { int fd; @@ -980,38 +659,15 @@ int sigar_loadavg_get(sigar_t *sigar, int data[3]; perfstat_cpu_total_t cpu_data; - if (sigar_perfstat_init(sigar) == SIGAR_OK) { - sigar_log(sigar, SIGAR_LOG_DEBUG, - "[loadavg] using libperfstat"); - - if (sigar->perfstat.cpu_total(&cpu_data) == 1) { - for (i=0; i<3; i++) { - loadavg->loadavg[i] = FIXED_TO_DOUBLE(cpu_data.loadavg[i]); - } - return SIGAR_OK; - } - else { - sigar_log_printf(sigar, SIGAR_LOG_ERROR, - "perfstat_cpu_total failed: %s", - sigar_strerror(sigar, errno)); + if (sigar_perfstat_cpu(&cpu_data) == 1) { + for (i=0; i<3; i++) { + loadavg->loadavg[i] = FIXED_TO_DOUBLE(cpu_data.loadavg[i]); } + return SIGAR_OK; } - - sigar_log(sigar, SIGAR_LOG_DEBUG, - "[loadavg] using /dev/kmem"); - - status = kread(sigar, &data, sizeof(data), - sigar->koffsets[KOFFSET_LOADAVG]); - - if (status != SIGAR_OK) { - return status; + else { + return errno; } - - for (i=0; i<3; i++) { - loadavg->loadavg[i] = FIXED_TO_DOUBLE(data[i]); - } - - return SIGAR_OK; } int sigar_os_proc_list_get(sigar_t *sigar, @@ -1359,24 +1015,19 @@ int sigar_thread_cpu_get(sigar_t *sigar, struct rusage usage; int retval; - sigar_perfstat_init(sigar); - if (!sigar->perfstat.thread_rusage) { - return SIGAR_ENOTIMPL; - } - if (sigar->thrusage != PTHRDSINFO_RUSAGE_START) { sigar->thrusage = PTHRDSINFO_RUSAGE_START; retval = - sigar->perfstat.thread_rusage(&usage, - PTHRDSINFO_RUSAGE_START); + sigar_thread_rusage(&usage, + PTHRDSINFO_RUSAGE_START); if (retval != 0) { return retval; } } retval = - sigar->perfstat.thread_rusage(&usage, - PTHRDSINFO_RUSAGE_COLLECT); + sigar_thread_rusage(&usage, + PTHRDSINFO_RUSAGE_COLLECT); if (retval != 0) { return retval; } @@ -1514,88 +1165,18 @@ int sigar_file_system_list_get(sigar_t *sigar, return SIGAR_OK; } -#define LSPV_CMD "/usr/sbin/lspv" - typedef struct { char name[IDENTIFIER_LENGTH]; long addr; } aix_diskio_t; -/* - * dont have per-partition metrics on aix. - * need to build a mount point => diskname map. - * see 'lspv -l hdisk0' for example. - */ -static int create_diskmap_v4(sigar_t *sigar) -{ - FILE *fp = popen(LSPV_CMD, "r"); - char buffer[BUFSIZ], *ptr; - - sigar->diskmap = sigar_cache_new(25); - - if (!fp) { - return ENOENT; - } - - while ((ptr = fgets(buffer, sizeof(buffer), fp))) { - FILE *lfp; - char cmd[256], disk[IDENTIFIER_LENGTH]; - char *s; - - if (strstr(ptr, " None")) { - continue; /* no volume group */ - } - if ((s = strchr(ptr, ' '))) { - *s = '\0'; - } - SIGAR_SSTRCPY(disk, ptr); - snprintf(cmd, sizeof(cmd), - LSPV_CMD " -l %s", disk); - if (!(lfp = popen(cmd, "r"))) { - continue; - } - - (void)fgets(buffer, sizeof(buffer), lfp); /* skip disk: */ - (void)fgets(buffer, sizeof(buffer), lfp); /* skip headers */ - while ((ptr = fgets(buffer, sizeof(buffer), lfp))) { - sigar_cache_entry_t *ent; - struct stat sb; - int retval; - /* LV NAME LPs PPs DISTRIBUTION */ - ptr = sigar_skip_multiple_token(ptr, 4); - SIGAR_SKIP_SPACE(ptr); - if ((s = strchr(ptr, '\n'))) { - *s = '\0'; - } - if (strEQ(ptr, "N/A")) { - continue; - } - retval = stat(ptr, &sb); - if (retval == 0) { - aix_diskio_t *diskio = malloc(sizeof(*diskio)); - SIGAR_SSTRCPY(diskio->name, disk); - diskio->addr = -1; - ent = sigar_cache_get(sigar->diskmap, SIGAR_FSDEV_ID(sb)); - ent->value = diskio; - } - } - pclose(lfp); - } - pclose(fp); -} - -static int create_diskmap_v5(sigar_t *sigar) +static int create_diskmap(sigar_t *sigar) { int i, total, num; perfstat_disk_t *disk; perfstat_id_t id; - sigar_perfstat_init(sigar); - if (!sigar->perfstat.disk) { - return SIGAR_ENOTIMPL; - } - - total = sigar->perfstat.disk(NULL, NULL, 0); + total = perfstat_disk(NULL, NULL, sizeof(*disk), 0); if (total < 1) { return ENOENT; } @@ -1603,7 +1184,7 @@ static int create_diskmap_v5(sigar_t *sigar) disk = malloc(total * sizeof(*disk)); id.name[0] = '\0'; - num = sigar->perfstat.disk(&id, disk, total); + num = perfstat_disk(&id, disk, sizeof(*disk), total); if (num < 1) { free(disk); return ENOENT; @@ -1657,115 +1238,15 @@ static int create_diskmap_v5(sigar_t *sigar) return SIGAR_OK; } -static int create_diskmap(sigar_t *sigar) -{ - if (create_diskmap_v5(sigar) != SIGAR_OK) { - return create_diskmap_v4(sigar); - } - return SIGAR_OK; -} - -static void set_disk_metrics(struct dkstat *dkstat, - sigar_file_system_usage_t *fsusage) -{ - fsusage->disk.reads = dkstat->dk_rblks; - fsusage->disk.writes = dkstat->dk_wblks; - fsusage->disk.read_bytes = dkstat->dk_rblks * dkstat->dk_bsize; - fsusage->disk.write_bytes = dkstat->dk_wblks * dkstat->dk_bsize; - fsusage->disk.time = dkstat->dk_time; - fsusage->disk.rtime = SIGAR_FIELD_NOTIMPL; - fsusage->disk.wtime = SIGAR_FIELD_NOTIMPL; - if (dkstat->dk_qd_magic == dk_q_depth_magic) { - fsusage->disk.queue = dkstat->dk_q_depth; - } - else { - fsusage->disk.queue = SIGAR_FIELD_NOTIMPL; - } -} - -static int get_disk_metrics(sigar_t *sigar, - sigar_file_system_usage_t *fsusage, - aix_diskio_t *diskio) -{ - int i, cnt, fd, status; - struct iostat iostat; - struct dkstat dkstat, *dp; - struct nlist nl[] = { - { "iostat" }, - }; - - status = sigar_disk_usage_get(sigar, diskio->name, &fsusage->disk); - if (status == SIGAR_OK) { - return SIGAR_OK; - } - - if (sigar->dmem == -1) { - if ((sigar->dmem = open("/dev/mem", O_RDONLY)) <= 0) { - return errno; - } - } - - fd = sigar->dmem; - - if (diskio->addr != -1) { - int status; - lseek(fd, diskio->addr, SEEK_SET); - read(fd, &dkstat, sizeof(dkstat)); - - if (strEQ(diskio->name, dkstat.diskname)) { - set_disk_metrics(&dkstat, fsusage); - status = SIGAR_OK; - } - else { - status = ENOENT; - } - return status; - } - - i = knlist(nl, 1, sizeof(struct nlist)); - - if (i == -1) { - return errno; - } - - if (nl[i].n_value == 0) { - return ENOENT; - } - - lseek(fd, nl[0].n_value, SEEK_SET); - read(fd, &iostat, sizeof(iostat)); - - for (dp = iostat.dkstatp, cnt = iostat.dk_cnt; - cnt && dp; - --cnt, dp = dkstat.dknextp) - { - lseek(fd, (long)dp, SEEK_SET); - read(fd, &dkstat, sizeof(dkstat)); - - if (strEQ(diskio->name, dkstat.diskname)) { - set_disk_metrics(&dkstat, fsusage); - diskio->addr = (long)dp; - break; - } - } - - return SIGAR_OK; -} - int sigar_disk_usage_get(sigar_t *sigar, const char *name, sigar_disk_usage_t *usage) { perfstat_disk_t disk; perfstat_id_t id; - sigar_perfstat_init(sigar); - if (!sigar->perfstat.disk) { - return SIGAR_ENOTIMPL; - } - SIGAR_SSTRCPY(id.name, name); - if (sigar->perfstat.disk(&id, &disk, 1) != 1) { + if (perfstat_disk(&id, &disk, sizeof(disk), 1) != 1) { return ENOENT; } @@ -1827,7 +1308,7 @@ int sigar_file_system_usage_get(sigar_t *sigar, if (!ent->value) { return SIGAR_OK; } - get_disk_metrics(sigar, fsusage, (aix_diskio_t *)ent->value); + sigar_disk_usage_get(sigar, ((aix_diskio_t *)ent->value)->name, &fsusage->disk); } return SIGAR_OK; @@ -1866,14 +1347,13 @@ static char *sigar_get_odm_model(sigar_t *sigar) #define SIGAR_CPU_CACHE_SIZE \ (_system_configuration.L2_cache_size / 1024) -static int sigar_get_cpu_mhz_perfstat(sigar_t *sigar) +static int sigar_get_cpu_mhz(sigar_t *sigar) { - perfstat_cpu_total_t data; + if (sigar->cpu_mhz == SIGAR_FIELD_NOTIMPL) { + perfstat_cpu_total_t data; - if (sigar_perfstat_init(sigar) == SIGAR_OK) { - if (sigar->perfstat.cpu_total(&data) == 1) { + if (sigar_perfstat_cpu(&data) == 1) { sigar->cpu_mhz = data.processorHZ / 1000000; - return SIGAR_OK; } else { sigar_log_printf(sigar, SIGAR_LOG_ERROR, @@ -1882,32 +1362,6 @@ static int sigar_get_cpu_mhz_perfstat(sigar_t *sigar) } } - return ENOENT; -} - -static int sigar_get_cpu_mhz(sigar_t *sigar) -{ - if (sigar->cpu_mhz == SIGAR_FIELD_NOTIMPL) { - if (sigar_get_cpu_mhz_perfstat(sigar) != SIGAR_OK) { - sigar_uint64_t cache_size = SIGAR_CPU_CACHE_SIZE; - - switch (cache_size) { - case 1024: - sigar->cpu_mhz = 333; - break; - case 4096: - sigar->cpu_mhz = 400; - break; - case 8192: - sigar->cpu_mhz = 450; - break; - default: - sigar->cpu_mhz = SIGAR_FIELD_NOTIMPL; - break; - } - } - } - return sigar->cpu_mhz; } @@ -2031,69 +1485,9 @@ int sigar_net_route_list_get(sigar_t *sigar, return SIGAR_ENOTIMPL; } -static int sigar_net_interface_stat_get_kmem(sigar_t *sigar, - const char *name, - sigar_net_interface_stat_t *ifstat) -{ - int status; - struct ifnet data; - caddr_t offset = 0; - char if_name[32]; - - sigar_log(sigar, SIGAR_LOG_DEBUG, "[ifstat] using /dev/kmem"); - - status = kread(sigar, &offset, sizeof(offset), - sigar->koffsets[KOFFSET_IFNET]); - - if (status != SIGAR_OK) { - return status; - } - - for (; offset; offset = (caddr_t)data.if_next) { - status = kread(sigar, &data, sizeof(data), (long)offset); - - if (status != SIGAR_OK) { - return status; - } - - status = kread(sigar, if_name, sizeof(if_name), - (long)&data.if_name[0]); - - if (status != SIGAR_OK) { - return status; - } - - /* XXX if_name is 'en' or 'lo', not 'en0' or 'lo0' */ - if (!strnEQ(if_name, name, strlen(if_name))) { - continue; - } - - ifstat->rx_bytes = data.if_ibytes; - ifstat->rx_packets = data.if_ipackets; - ifstat->rx_errors = data.if_ierrors; - ifstat->rx_dropped = data.if_iqdrops; - ifstat->rx_overruns = SIGAR_FIELD_NOTIMPL; - ifstat->rx_frame = SIGAR_FIELD_NOTIMPL; - - ifstat->tx_bytes = data.if_obytes; - ifstat->tx_packets = data.if_opackets; - ifstat->tx_errors = data.if_oerrors; - ifstat->tx_dropped = SIGAR_FIELD_NOTIMPL; - ifstat->tx_overruns = SIGAR_FIELD_NOTIMPL; - ifstat->tx_collisions = data.if_collisions; - ifstat->tx_carrier = SIGAR_FIELD_NOTIMPL; - - ifstat->speed = data.if_baudrate; - - return SIGAR_OK; - } - - return ENXIO; -} - -static int sigar_net_interface_stat_get_perfstat(sigar_t *sigar, - const char *name, - sigar_net_interface_stat_t *ifstat) +int sigar_net_interface_stat_get(sigar_t *sigar, + const char *name, + sigar_net_interface_stat_t *ifstat) { perfstat_id_t id; perfstat_netinterface_t data; @@ -2102,7 +1496,7 @@ static int sigar_net_interface_stat_get_perfstat(sigar_t *sigar, SIGAR_SSTRCPY(id.name, name); - if (sigar->perfstat.ifstat(&id, &data) == 1) { + if (perfstat_netinterface(&id, &data, sizeof(data), 1) == 1) { ifstat->rx_bytes = data.ibytes; ifstat->rx_packets = data.ipackets; ifstat->rx_errors = data.ierrors; @@ -2122,27 +1516,8 @@ static int sigar_net_interface_stat_get_perfstat(sigar_t *sigar, return SIGAR_OK; } - - if (SIGAR_LOG_IS_DEBUG(sigar)) { - sigar_log_printf(sigar, SIGAR_LOG_DEBUG, - "[ifstat] dev=%s query failed: %s", - name, - sigar_strerror(sigar, errno)); - } - - return sigar_net_interface_stat_get_kmem(sigar, name, ifstat); -} - -int sigar_net_interface_stat_get(sigar_t *sigar, const char *name, - sigar_net_interface_stat_t *ifstat) -{ - sigar_perfstat_init(sigar); - - if (sigar->perfstat.ifstat) { - return sigar_net_interface_stat_get_perfstat(sigar, name, ifstat); - } else { - return sigar_net_interface_stat_get_kmem(sigar, name, ifstat); + return errno; } } @@ -2286,13 +1661,9 @@ sigar_tcp_get(sigar_t *sigar, perfstat_id_t id; perfstat_protocol_t proto; - if (sigar_perfstat_init(sigar) != SIGAR_OK) { - return SIGAR_ENOTIMPL; - } - SIGAR_SSTRCPY(id.name, "tcp"); - if (sigar->perfstat.protocol(&id, &proto, 1) != 1) { + if (perfstat_protocol(&id, &proto, sizeof(proto), 1) != 1) { return ENOENT; } @@ -2334,13 +1705,9 @@ int sigar_nfs_client_v2_get(sigar_t *sigar, perfstat_id_t id; perfstat_protocol_t proto; - if (sigar_perfstat_init(sigar) != SIGAR_OK) { - return SIGAR_ENOTIMPL; - } - SIGAR_SSTRCPY(id.name, "nfsv2"); - if (sigar->perfstat.protocol(&id, &proto, 1) != 1) { + if (perfstat_protocol(&id, &proto, sizeof(proto), 1) != 1) { return ENOENT; } @@ -2355,13 +1722,9 @@ int sigar_nfs_server_v2_get(sigar_t *sigar, perfstat_id_t id; perfstat_protocol_t proto; - if (sigar_perfstat_init(sigar) != SIGAR_OK) { - return SIGAR_ENOTIMPL; - } - SIGAR_SSTRCPY(id.name, "nfsv2"); - if (sigar->perfstat.protocol(&id, &proto, 1) != 1) { + if (perfstat_protocol(&id, &proto, sizeof(proto), 1) != 1) { return ENOENT; } @@ -2400,13 +1763,9 @@ int sigar_nfs_client_v3_get(sigar_t *sigar, perfstat_id_t id; perfstat_protocol_t proto; - if (sigar_perfstat_init(sigar) != SIGAR_OK) { - return SIGAR_ENOTIMPL; - } - SIGAR_SSTRCPY(id.name, "nfsv3"); - if (sigar->perfstat.protocol(&id, &proto, 1) != 1) { + if (perfstat_protocol(&id, &proto, sizeof(proto), 1) != 1) { return ENOENT; } @@ -2421,13 +1780,9 @@ int sigar_nfs_server_v3_get(sigar_t *sigar, perfstat_id_t id; perfstat_protocol_t proto; - if (sigar_perfstat_init(sigar) != SIGAR_OK) { - return SIGAR_ENOTIMPL; - } - SIGAR_SSTRCPY(id.name, "nfsv3"); - if (sigar->perfstat.protocol(&id, &proto, 1) != 1) { + if (perfstat_protocol(&id, &proto, sizeof(proto), 1) != 1) { return ENOENT; } diff --git a/src/os/aix/libperfstat.h b/src/os/aix/libperfstat.h deleted file mode 100644 index e868da4f..00000000 --- a/src/os/aix/libperfstat.h +++ /dev/null @@ -1,542 +0,0 @@ -/* IBM_PROLOG_BEGIN_TAG */ -/* This is an automatically generated prolog. */ -/* */ -/* bos52B src/bos/usr/ccs/lib/libperfstat/libperfstat.h 1.4.1.6 */ -/* */ -/* Licensed Materials - Property of IBM */ -/* */ -/* Restricted Materials of IBM */ -/* */ -/* (C) COPYRIGHT International Business Machines Corp. 2000,2003 */ -/* All Rights Reserved */ -/* */ -/* US Government Users Restricted Rights - Use, duplication or */ -/* disclosure restricted by GSA ADP Schedule Contract with IBM Corp. */ -/* */ -/* IBM_PROLOG_END_TAG */ -/* - * @(#)91 1.4.1.6 src/bos/usr/ccs/lib/libperfstat/libperfstat.h, libperfstat, bos52B, b2003_06F6 2/6/03 06:43:34 - * LEVEL 1, 5 Years Bull Confidential Information - * - */ -#ifndef LIBPERFSTAT_H -#define LIBPERFSTAT_H - -/* This file describes the structures and constants used by the libperfstat API */ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -#define IDENTIFIER_LENGTH 64 /* length of strings included in the structures */ - -#define FIRST_CPU "" /* pseudo-name for the first logical cpu */ -#define FIRST_DISK "" /* pseudo-name for the first disk */ -#define FIRST_DISKPATH "" /* pseudo-name for the first disk path */ -#define FIRST_DISKADAPTER "" /* pseudo-name for the first disk adapter */ -#define FIRST_NETINTERFACE "" /* pseudo-name for the first network interface */ -#define FIRST_PAGINGSPACE "" /* pseudo-name for the first paging space */ -#define FIRST_PROTOCOL "" /* pseudo-name for the first protocol */ -#define FIRST_NETBUFFER "" /* pseudo-name for the first network buffer size */ - -#define DEFAULT_DEF "not available" - -typedef struct { /* structure element identifier */ - char name[IDENTIFIER_LENGTH]; /* name of the identifier */ -} perfstat_id_t; - -typedef struct { /* cpu information */ - char name[IDENTIFIER_LENGTH]; /* logical processor name (cpu0, cpu1, ..) */ - u_longlong_t user; /* raw number of clock ticks spent in user mode */ - u_longlong_t sys; /* raw number of clock ticks spent in system mode */ - u_longlong_t idle; /* raw number of clock ticks spent idle */ - u_longlong_t wait; /* raw number of clock ticks spent waiting for I/O */ - u_longlong_t pswitch; /* number of context switches (changes of currently running process) */ - u_longlong_t syscall; /* number of system calls executed */ - u_longlong_t sysread; /* number of read system calls executed */ - u_longlong_t syswrite; /* number of write system calls executed */ - u_longlong_t sysfork; /* number of fork system call executed */ - u_longlong_t sysexec; /* number of exec system call executed */ - u_longlong_t readch; /* number of characters tranferred with read system call */ - u_longlong_t writech; /* number of characters tranferred with write system call */ - u_longlong_t bread; /* number of block reads */ - u_longlong_t bwrite; /* number of block writes */ - u_longlong_t lread; /* number of logical read requests */ - u_longlong_t lwrite; /* number of logical write requests */ - u_longlong_t phread; /* number of physical reads (reads on raw device) */ - u_longlong_t phwrite; /* number of physical writes (writes on raw device) */ - u_longlong_t iget; /* number of inode lookups */ - u_longlong_t namei; /* number of vnode lookup from a path name */ - u_longlong_t dirblk; /* number of 512-byte block reads by the directory search routine to locate an entry for a file */ - u_longlong_t msg; /* number of IPC message operations */ - u_longlong_t sema; /* number of IPC semaphore operations */ -} perfstat_cpu_t; - -typedef struct { /* global cpu information */ - int ncpus; /* number of active logical processors */ - int ncpus_cfg; /* number of configured processors */ - char description[IDENTIFIER_LENGTH]; /* processor description (type/official name) */ - u_longlong_t processorHZ; /* processor speed in Hz */ - u_longlong_t user; /* raw total number of clock ticks spent in user mode */ - u_longlong_t sys; /* raw total number of clock ticks spent in system mode */ - u_longlong_t idle; /* raw total number of clock ticks spent idle */ - u_longlong_t wait; /* raw total number of clock ticks spent waiting for I/O */ - u_longlong_t pswitch; /* number of process switches (change in currently running process) */ - u_longlong_t syscall; /* number of system calls executed */ - u_longlong_t sysread; /* number of read system calls executed */ - u_longlong_t syswrite; /* number of write system calls executed */ - u_longlong_t sysfork; /* number of forks system calls executed */ - u_longlong_t sysexec; /* number of execs system calls executed */ - u_longlong_t readch; /* number of characters tranferred with read system call */ - u_longlong_t writech; /* number of characters tranferred with write system call */ - u_longlong_t devintrs; /* number of device interrupts */ - u_longlong_t softintrs; /* number of software interrupts */ - time_t lbolt; /* number of ticks since last reboot */ - u_longlong_t loadavg[3]; /* (1<. */ - u_longlong_t runque; /* length of the run queue (processes ready) */ - u_longlong_t swpque; /* ength of the swap queue (processes waiting to be paged in) */ - u_longlong_t bread; /* number of blocks read */ - u_longlong_t bwrite; /* number of blocks written */ - u_longlong_t lread; /* number of logical read requests */ - u_longlong_t lwrite; /* number of logical write requests */ - u_longlong_t phread; /* number of physical reads (reads on raw devices) */ - u_longlong_t phwrite; /* number of physical writes (writes on raw devices) */ - u_longlong_t runocc; /* updated whenever runque is updated, i.e. the runqueue is occupied. - * This can be used to compute the simple average of ready processes */ - u_longlong_t swpocc; /* updated whenever swpque is updated. i.e. the swpqueue is occupied. - * This can be used to compute the simple average processes waiting to be paged in */ - u_longlong_t iget; /* number of inode lookups */ - u_longlong_t namei; /* number of vnode lookup from a path name */ - u_longlong_t dirblk; /* number of 512-byte block reads by the directory search routine to locate an entry for a file */ - u_longlong_t msg; /* number of IPC message operations */ - u_longlong_t sema; /* number of IPC semaphore operations */ - u_longlong_t rcvint; /* number of tty receive interrupts */ - u_longlong_t xmtint; /* number of tyy transmit interrupts */ - u_longlong_t mdmint; /* number of modem interrupts */ - u_longlong_t tty_rawinch; /* number of raw input characters */ - u_longlong_t tty_caninch; /* number of canonical input characters (always zero) */ - u_longlong_t tty_rawoutch;/* number of raw output characters */ - u_longlong_t ksched; /* number of kernel processes created */ - u_longlong_t koverf; /* kernel process creation attempts where: - * -the user has forked to their maximum limit - * -the configuration limit of processes has been reached */ - u_longlong_t kexit; /* number of kernel processes that became zombies */ - u_longlong_t rbread; /* number of remote read requests */ - u_longlong_t rcread; /* number of cached remote reads */ - u_longlong_t rbwrt; /* number of remote writes */ - u_longlong_t rcwrt; /* number of cached remote writes */ - u_longlong_t traps; /* number of traps */ - int ncpus_high; /* index of highest processor online */ -} perfstat_cpu_total_t; - -typedef struct { /* disk information */ - char name[IDENTIFIER_LENGTH]; /* name of the disk */ - char description[IDENTIFIER_LENGTH]; /* disk description (from ODM) */ - char vgname[IDENTIFIER_LENGTH]; /* volume group name (from ODM) */ - u_longlong_t size; /* size of the disk (in MB) */ - u_longlong_t free; /* free portion of the disk (in MB) */ - u_longlong_t bsize; /* disk block size (in bytes) */ - u_longlong_t xrate; /* kbytes/sec xfer rate capability */ - u_longlong_t xfers; /* number of transfers to/from disk */ - u_longlong_t wblks; /* number of blocks written to disk */ - u_longlong_t rblks; /* number of blocks read from disk */ - u_longlong_t qdepth; /* queue depth */ - u_longlong_t time; /* amount of time disk is active */ - char adapter[IDENTIFIER_LENGTH]; /* disk adapter name (from ODM) */ - uint paths_count; /* number of paths defined to the disk */ -} perfstat_disk_t; - -typedef struct { /* global disk information */ - int number; /* total number of disks */ - u_longlong_t size; /* total size of all disks (in MB) */ - u_longlong_t free; /* free portion of all disks (in MB) */ - u_longlong_t xrate; /* total kbytes/sec xfer rate capability */ - u_longlong_t xfers; /* total number of transfers to/from disk */ - u_longlong_t wblks; /* 512 bytes blocks written to all disks */ - u_longlong_t rblks; /* 512 bytes blocks read from all disks */ - u_longlong_t time; /* amount of time disks are active */ -} perfstat_disk_total_t; - -typedef struct { /* Disk adapter information */ - char name[IDENTIFIER_LENGTH]; /* name of the adapter (from ODM) */ - char description[IDENTIFIER_LENGTH]; /* adapter description (from ODM) */ - int number; /* number of disks connected to adapter */ - u_longlong_t size; /* total size of all disks (in MB) */ - u_longlong_t free; /* free portion of all disks (in MB) */ - u_longlong_t xrate; /* total kbytes/sec xfer rate capability */ - u_longlong_t xfers; /* total number of transfers to/from disk */ - u_longlong_t rblks; /* 512 bytes blocks written via adapter */ - u_longlong_t wblks; /* 512 bytes blocks read via adapter */ - u_longlong_t time; /* amount of time disks are active */ -} perfstat_diskadapter_t; - -typedef struct { /* mpio information */ - char name[IDENTIFIER_LENGTH]; /* name of the path */ - u_longlong_t xrate; /* total kbytes/sec xfer rate capability */ - u_longlong_t xfers; /* total number of transfers via the path */ - u_longlong_t rblks; /* 512 bytes blocks written via the path */ - u_longlong_t wblks; /* 512 bytes blocks read via the path */ - u_longlong_t time; /* amount of time disks are active */ - char adapter[IDENTIFIER_LENGTH]; /* disk adapter name (from ODM) */ -} perfstat_diskpath_t; - -typedef struct { /* Virtual memory utilization */ - u_longlong_t virt_total; /* total virtual memory (in 4KB pages) */ - u_longlong_t real_total; /* total real memory (in 4KB pages) */ - u_longlong_t real_free; /* free real memory (in 4KB pages) */ - u_longlong_t real_pinned; /* real memory which is pinned (in 4KB pages) */ - u_longlong_t real_inuse; /* real memory which is in use (in 4KB pages) */ - u_longlong_t pgbad; /* number of bad pages */ - u_longlong_t pgexct; /* number of page faults */ - u_longlong_t pgins; /* number of pages paged in */ - u_longlong_t pgouts; /* number of pages paged out */ - u_longlong_t pgspins; /* number of page ins from paging space */ - u_longlong_t pgspouts; /* number of page outs from paging space */ - u_longlong_t scans; /* number of page scans by clock */ - u_longlong_t cycles; /* number of page replacement cycles */ - u_longlong_t pgsteals; /* number of page steals */ - u_longlong_t numperm; /* number of frames used for files (in 4KB pages) */ - u_longlong_t pgsp_total; /* total paging space (in 4KB pages) */ - u_longlong_t pgsp_free; /* free paging space (in 4KB pages) */ - u_longlong_t pgsp_rsvd; /* reserved paging space (in 4KB pages) */ - u_longlong_t real_system; /* real memory used by system segments (in 4KB pages). This is the sum of all the used pages in segment marked for system usage. - * Since segment classifications are not always guaranteed to be accurate, this number is only an approximation. */ - u_longlong_t real_user; /* real memory used by non-system segments (in 4KB pages). This is the sum of all pages used in segments not marked for system usage. - * Since segment classifications are not always guaranteed to be accurate, this number is only an approximation. */ - u_longlong_t real_process; /* real memory used by process segments (in 4KB pages). This is real_total-real_free-numperm-real_system. Since real_system is an - * approximation, this number is too. */ - -} perfstat_memory_total_t; - -typedef struct { /* Description of the network interface */ - char name[IDENTIFIER_LENGTH]; /* name of the interface */ - char description[IDENTIFIER_LENGTH]; /* interface description (from ODM, similar to lscfg output) */ - uchar type; /* ethernet, tokenring, etc. interpretation can be done using /usr/include/net/if_types.h */ - u_longlong_t mtu; /* network frame size */ - u_longlong_t ipackets; /* number of packets received on interface */ - u_longlong_t ibytes; /* number of bytes received on interface */ - u_longlong_t ierrors; /* number of input errors on interface */ - u_longlong_t opackets; /* number of packets sent on interface */ - u_longlong_t obytes; /* number of bytes sent on interface */ - u_longlong_t oerrors; /* number of output errors on interface */ - u_longlong_t collisions; /* number of collisions on csma interface */ - u_longlong_t bitrate; /* adapter rating in bit per second */ -} perfstat_netinterface_t; - -typedef struct { /* Description of the network interfaces */ - int number; /* number of network interfaces */ - u_longlong_t ipackets; /* number of packets received on interface */ - u_longlong_t ibytes; /* number of bytes received on interface */ - u_longlong_t ierrors; /* number of input errors on interface */ - u_longlong_t opackets; /* number of packets sent on interface */ - u_longlong_t obytes; /* number of bytes sent on interface */ - u_longlong_t oerrors; /* number of output errors on interface */ - u_longlong_t collisions; /* number of collisions on csma interface */ -} perfstat_netinterface_total_t; - -enum { - LV_PAGING=1, - NFS_PAGING -}; - -typedef struct { /* Paging space data for a specific logical volume */ - char name[IDENTIFIER_LENGTH]; /* Paging space name */ - char type; /* type of paging device (LV_PAGING or NFS_PAGING) * - * Possible values are: * - * LV_PAGING logical volume * - * NFS_PAGING NFS file */ - union{ - struct{ - char hostname[IDENTIFIER_LENGTH]; /* host name of paging server */ - char filename[IDENTIFIER_LENGTH]; /* swap file name on server */ - } nfs_paging; - struct{ - char vgname[IDENTIFIER_LENGTH];/* volume group name */ - } lv_paging; - } id; - longlong_t lp_size; /* size in number of logical partitions */ - longlong_t mb_size; /* size in megabytes */ - longlong_t mb_used; /* portion used in megabytes */ - longlong_t io_pending; /* number of pending I/O */ - char active; /* indicates if active (1 if so, 0 if not) */ - char automatic; /* indicates if automatic (1 if so, 0 if not) */ -} perfstat_pagingspace_t; - -typedef struct { /* network buffers */ - char name[IDENTIFIER_LENGTH]; /* size in ascii, always power of 2 (ex: "32", "64", "128") */ - u_longlong_t inuse; /* number of buffer currently allocated */ - u_longlong_t calls; /* number of buffer allocations since last reset */ - u_longlong_t delayed; /* number of delayed allocations */ - u_longlong_t free; /* number of free calls */ - u_longlong_t failed; /* number of failed allocations */ - u_longlong_t highwatermark; /* high threshold for number of buffer allocated */ - u_longlong_t freed; /* number of buffers freed */ -} perfstat_netbuffer_t; - -typedef struct { /* utilization of protocols */ - char name[IDENTIFIER_LENGTH]; /* ip, ipv6, icmp, icmpv6, udp, tcp, rpc, nfs, nfsv2, nfsv3*/ - union{ - struct{ - u_longlong_t ipackets; /* number of input packets */ - u_longlong_t ierrors; /* number of input errors */ - u_longlong_t iqueueoverflow; /* number of input queue overflows */ - u_longlong_t opackets; /* number of output packets */ - u_longlong_t oerrors; /* number of output errors */ - } ip; - struct{ - u_longlong_t ipackets; /* number of input packets */ - u_longlong_t ierrors; /* number of input errors */ - u_longlong_t iqueueoverflow; /* number of input queue overflows */ - u_longlong_t opackets; /* number of output packets */ - u_longlong_t oerrors; /* number of output errors */ - } ipv6; - struct{ - u_longlong_t received; /* number of packets received */ - u_longlong_t sent; /* number of packets sent */ - u_longlong_t errors; /* number of errors */ - } icmp; - struct{ - u_longlong_t received; /* number of packets received */ - u_longlong_t sent; /* number of packets sent */ - u_longlong_t errors; /* number of errors */ - } icmpv6; - struct{ - u_longlong_t ipackets; /* number of input packets */ - u_longlong_t ierrors; /* number of input errors */ - u_longlong_t opackets; /* number of output packets */ - u_longlong_t no_socket; /* number of packets dropped due to no socket */ - } udp; - struct{ - u_longlong_t ipackets; /* number of input packets */ - u_longlong_t ierrors; /* number of input errors */ - u_longlong_t opackets; /* number of output packets */ - u_longlong_t initiated; /* number of connections initiated */ - u_longlong_t accepted; /* number of connections accepted */ - u_longlong_t established; /* number of connections established */ - u_longlong_t dropped; /* number of connections dropped */ - } tcp; - struct{ - struct{ - struct{ - u_longlong_t calls; /* total NFS client RPC connection-oriented calls */ - u_longlong_t badcalls; /* rejected NFS client RPC calls */ - u_longlong_t badxids; /* bad NFS client RPC call responses */ - u_longlong_t timeouts; /* timed out NFS client RPC calls with no reply */ - u_longlong_t newcreds; /* total NFS client RPC authentication refreshes */ - u_longlong_t badverfs; /* total NFS client RPC bad verifier in response */ - u_longlong_t timers; /* NFS client RPC timout greater than timeout value */ - u_longlong_t nomem; /* NFS client RPC calls memory allocation failure */ - u_longlong_t cantconn; /* failed NFS client RPC calls */ - u_longlong_t interrupts;/* NFS client RPC calls fail due to interrupt */ - } stream; /* connection oriented rpc client */ - struct{ - u_longlong_t calls; /* total NFS client RPC connectionless calls */ - u_longlong_t badcalls; /* rejected NFS client RPC calls */ - u_longlong_t retrans; /* retransmitted NFS client RPC calls */ - u_longlong_t badxids; /* bad NFS client RPC call responses */ - u_longlong_t timeouts; /* timed out NFS client RPC calls with no reply */ - u_longlong_t newcreds; /* total NFS client RPC authentication refreshes */ - u_longlong_t badverfs; /* total NFS client RPC bad verifier in response */ - u_longlong_t timers; /* NFS client RPC timout greater than timeout value */ - u_longlong_t nomem; /* NFS client RPC calls memory allocation failure */ - u_longlong_t cantsend; /* NFS client RPC calls not sent */ - } dgram; /* connection less rpc client */ - } client; /* rpc client */ - struct{ - struct{ - u_longlong_t calls; /* total NFS server RPC connection-oriented requests */ - u_longlong_t badcalls; /* rejected NFS server RPC requests */ - u_longlong_t nullrecv; /* NFS server RPC calls failed due to unavailable packet */ - u_longlong_t badlen; /* NFS server RPC requests failed due to bad length */ - u_longlong_t xdrcall; /* NFS server RPC requests failed due to bad header */ - u_longlong_t dupchecks;/* NFS server RPC calls found in request cache */ - u_longlong_t dupreqs; /* total NFS server RPC call duplicates */ - } stream; /* connection oriented rpc server */ - struct{ - u_longlong_t calls; /* total NFS server RPC connectionless requests */ - u_longlong_t badcalls; /* rejected NFS server RPC requests */ - u_longlong_t nullrecv; /* NFS server RPC calls failed due to unavailable packet */ - u_longlong_t badlen; /* NFS server RPC requests failed due to bad length */ - u_longlong_t xdrcall; /* NFS server RPC requests failed due to bad header */ - u_longlong_t dupchecks;/* NFS server RPC calls found in request cache */ - u_longlong_t dupreqs; /* total NFS server RPC call duplicates */ - } dgram; /* connection less rpc server */ - } server; /* rpc server*/ - } rpc; - struct{ - struct{ - u_longlong_t calls; /* total NFS client requests */ - u_longlong_t badcalls; /* total NFS client failed calls */ - u_longlong_t clgets; /* total number of client nfs clgets */ - u_longlong_t cltoomany;/* total number of client nfs cltoomany */ - - } client; /* nfs client */ - struct{ - u_longlong_t calls; /* total NFS server requests */ - u_longlong_t badcalls; /* total NFS server failed calls */ - u_longlong_t public_v2; /* total number of nfs version 2 server calls */ - u_longlong_t public_v3; /* total number of nfs version 3 server calls */ - } server; /* nfs server */ - } nfs; - struct{ - struct{ - u_longlong_t calls; /* NFS V2 client requests */ - u_longlong_t null; /* NFS V2 client null requests */ - u_longlong_t getattr; /* NFS V2 client getattr requests */ - u_longlong_t setattr; /* NFS V2 client setattr requests */ - u_longlong_t root; /* NFS V2 client root requests */ - u_longlong_t lookup; /* NFS V2 client file name lookup requests */ - u_longlong_t readlink; /* NFS V2 client readlink requests */ - u_longlong_t read; /* NFS V2 client read requests */ - u_longlong_t writecache;/* NFS V2 client write cache requests */ - u_longlong_t write; /* NFS V2 client write requests */ - u_longlong_t create; /* NFS V2 client file creation requests */ - u_longlong_t remove; /* NFS V2 client file removal requests */ - u_longlong_t rename; /* NFS V2 client file rename requests */ - u_longlong_t link; /* NFS V2 client link creation requests */ - u_longlong_t symlink; /* NFS V2 client symbolic link creation requests */ - u_longlong_t mkdir; /* NFS V2 client directory creation requests */ - u_longlong_t rmdir; /* NFS V2 client directory removal requests */ - u_longlong_t readdir; /* NFS V2 client read-directory requests */ - u_longlong_t statfs; /* NFS V2 client file stat requests */ - } client; /* nfs2 client */ - struct{ - u_longlong_t calls; /* NFS V2 server requests */ - u_longlong_t null; /* NFS V2 server null requests */ - u_longlong_t getattr; /* NFS V2 server getattr requests */ - u_longlong_t setattr; /* NFS V2 server setattr requests */ - u_longlong_t root; /* NFS V2 server root requests */ - u_longlong_t lookup; /* NFS V2 server file name lookup requests */ - u_longlong_t readlink; /* NFS V2 server readlink requests */ - u_longlong_t read; /* NFS V2 server read requests */ - u_longlong_t writecache;/* NFS V2 server cache requests */ - u_longlong_t write; /* NFS V2 server write requests */ - u_longlong_t create; /* NFS V2 server file creation requests */ - u_longlong_t remove; /* NFS V2 server file removal requests */ - u_longlong_t rename; /* NFS V2 server file rename requests */ - u_longlong_t link; /* NFS V2 server link creation requests */ - u_longlong_t symlink; /* NFS V2 server symbolic link creation requests */ - u_longlong_t mkdir; /* NFS V2 server directory creation requests */ - u_longlong_t rmdir; /* NFS V2 server directory removal requests */ - u_longlong_t readdir; /* NFS V2 server read-directory requests */ - u_longlong_t statfs; /* NFS V2 server file stat requests */ - } server; /* nfsv2 server */ - } nfsv2; - struct{ - struct{ - u_longlong_t calls; /* NFS V3 client calls */ - u_longlong_t null; /* NFS V3 client null requests */ - u_longlong_t getattr; /* NFS V3 client getattr requests */ - u_longlong_t setattr; /* NFS V3 client setattr requests */ - u_longlong_t lookup; /* NFS V3 client file name lookup requests */ - u_longlong_t access; /* NFS V3 client access requests */ - u_longlong_t readlink; /* NFS V3 client readlink requests */ - u_longlong_t read; /* NFS V3 client read requests */ - u_longlong_t write; /* NFS V3 client write requests */ - u_longlong_t create; /* NFS V3 client file creation requests */ - u_longlong_t mkdir; /* NFS V3 client directory creation requests */ - u_longlong_t symlink; /* NFS V3 client symbolic link creation requests */ - u_longlong_t mknod; /* NFS V3 client mknod creation requests */ - u_longlong_t remove; /* NFS V3 client file removal requests */ - u_longlong_t rmdir; /* NFS V3 client directory removal requests */ - u_longlong_t rename; /* NFS V3 client file rename requests */ - u_longlong_t link; /* NFS V3 client link creation requests */ - u_longlong_t readdir; /* NFS V3 client read-directory requests */ - u_longlong_t readdirplus; /* NFS V3 client read-directory plus requests */ - u_longlong_t fsstat; /* NFS V3 client file stat requests */ - u_longlong_t fsinfo; /* NFS V3 client file info requests */ - u_longlong_t pathconf; /* NFS V3 client path configure requests */ - u_longlong_t commit; /* NFS V3 client commit requests */ - } client; /* nfsv3 client */ - struct{ - u_longlong_t calls; /* NFS V3 server requests */ - u_longlong_t null; /* NFS V3 server null requests */ - u_longlong_t getattr; /* NFS V3 server getattr requests */ - u_longlong_t setattr; /* NFS V3 server setattr requests */ - u_longlong_t lookup; /* NFS V3 server file name lookup requests */ - u_longlong_t access; /* NFS V3 server file access requests */ - u_longlong_t readlink; /* NFS V3 server readlink requests */ - u_longlong_t read; /* NFS V3 server read requests */ - u_longlong_t write; /* NFS V3 server write requests */ - u_longlong_t create; /* NFS V3 server file creation requests */ - u_longlong_t mkdir; /* NFS V3 server director6 creation requests */ - u_longlong_t symlink; /* NFS V3 server symbolic link creation requests */ - u_longlong_t mknod; /* NFS V3 server mknode creation requests */ - u_longlong_t remove; /* NFS V3 server file removal requests */ - u_longlong_t rmdir; /* NFS V3 server directory removal requests */ - u_longlong_t rename; /* NFS V3 server file rename requests */ - u_longlong_t link; /* NFS V3 server link creation requests */ - u_longlong_t readdir; /* NFS V3 server read-directory requests */ - u_longlong_t readdirplus; /* NFS V3 server read-directory plus requests */ - u_longlong_t fsstat; /* NFS V3 server file stat requests */ - u_longlong_t fsinfo; /* NFS V3 server file info requests */ - u_longlong_t pathconf; /* NFS V3 server path configure requests */ - u_longlong_t commit; /* NFS V3 server commit requests */ - } server; /* nfsv3 server */ - } nfsv3; - } u; -} perfstat_protocol_t; - -extern int perfstat_cpu_total(perfstat_id_t *name, - perfstat_cpu_total_t* userbuff, - int sizeof_userbuff, - int desired_number); -extern int perfstat_cpu(perfstat_id_t *name, - perfstat_cpu_t* userbuff, - int sizeof_userbuff, - int desired_number); -extern int perfstat_disk_total(perfstat_id_t *name, - perfstat_disk_total_t* userbuff, - int sizeof_userbuff, - int desired_number); -extern int perfstat_disk(perfstat_id_t *name, - perfstat_disk_t* userbuff, - int sizeof_userbuff, - int desired_number); -extern int perfstat_diskadapter(perfstat_id_t *name, - perfstat_diskadapter_t* userbuff, - int sizeof_userbuff, - int desired_number); -extern int perfstat_diskpath(perfstat_id_t *name, - perfstat_diskpath_t* userbuff, - int sizeof_userbuff, - int desired_number); -extern int perfstat_memory_total(perfstat_id_t *name, - perfstat_memory_total_t* userbuff, - int sizeof_userbuff, - int desired_number); -extern int perfstat_netinterface_total(perfstat_id_t *name, - perfstat_netinterface_total_t* userbuff, - int sizeof_userbuff, - int desired_number); -extern int perfstat_netinterface(perfstat_id_t *name, - perfstat_netinterface_t* userbuff, - int sizeof_userbuff, - int desired_number); - -extern int perfstat_pagingspace(perfstat_id_t *name, - perfstat_pagingspace_t* userbuff, - int sizeof_userbuff, - int desired_number); - -extern int perfstat_netbuffer(perfstat_id_t *name, - perfstat_netbuffer_t* userbuff, - int sizeof_userbuff, - int desired_number); - -extern int perfstat_protocol(perfstat_id_t *name, - perfstat_protocol_t* userbuff, - int sizeof_userbuff, - int desired_number); - -extern void perfstat_reset(void); - -#ifdef __cplusplus -} -#endif - -#endif /*undef LIBPERFSTAT_H*/ - diff --git a/src/os/aix/perfstat/build.xml b/src/os/aix/perfstat/build.xml deleted file mode 100644 index 0b3f7e4a..00000000 --- a/src/os/aix/perfstat/build.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/os/aix/perfstat/libperfstat.a b/src/os/aix/perfstat/libperfstat.a deleted file mode 100644 index 878b38172a5cb3bc08bbdb93dc7e1e8718574e4b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 157571 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 diff --git a/src/os/aix/perfstat/libpthreads.a b/src/os/aix/perfstat/libpthreads.a deleted file mode 100644 index b6db79d1ff21d3797ffe9fbc2e7d92f5181a0150..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 935060 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¬`)cmVZ{gH%U(0_tvyiX&ysxW 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 sy{bRxBm|gAYCJUbUT0izp -#include - -/* - * ibm docs say: - * "name Must be set to NULL. - * desired_number Must be set to 1." - * so we just hardcode that in our wrapper. - */ -int sigar_perfstat_cpu_total(perfstat_cpu_total_t *cpu_total) -{ - return perfstat_cpu_total(NULL, cpu_total, sizeof(*cpu_total), 1); -} - -int sigar_perfstat_cpu(perfstat_id_t *id, - perfstat_cpu_t *cpu, - int num) -{ - return perfstat_cpu(id, cpu, sizeof(*cpu), num); -} - -int sigar_perfstat_pagingspace(perfstat_id_t *id, - perfstat_pagingspace_t *pagingspace, - int num) -{ - return perfstat_pagingspace(id, pagingspace, sizeof(*pagingspace), num); -} - -int sigar_perfstat_memory(perfstat_memory_total_t *memory) -{ - return perfstat_memory_total(NULL, memory, sizeof(*memory), 1); -} - -int sigar_perfstat_disk(perfstat_id_t *id, - perfstat_disk_t *disk, - int num) -{ - return perfstat_disk(id, disk, sizeof(*disk), num); -} - -int sigar_perfstat_diskadapter(perfstat_id_t *id, - perfstat_diskadapter_t *adapter, - int num) -{ - return perfstat_diskadapter(id, adapter, sizeof(*adapter), num); -} - -int sigar_perfstat_diskpath(perfstat_id_t *id, - perfstat_diskpath_t *diskpath, - int num) -{ - return perfstat_diskpath(id, diskpath, sizeof(*diskpath), num); -} - -int sigar_perfstat_netinterface(perfstat_id_t *id, - perfstat_netinterface_t *netinterface) - -{ - return perfstat_netinterface(id, netinterface, - sizeof(*netinterface), 1); -} - -int sigar_perfstat_netbuffer(perfstat_id_t *id, - perfstat_netbuffer_t *netbuffer, - int num) -{ - return perfstat_netbuffer(id, netbuffer, sizeof(*netbuffer), num); -} - -int sigar_perfstat_protocol(perfstat_id_t *id, - perfstat_protocol_t *proto, - int num) -{ - return perfstat_protocol(id, proto, sizeof(*proto), num); -} - -/* - * not a perfstat function, but from libpthreads.a - * requires the same tricks to link on 4.3 and run on 5.2 - */ -int sigar_thread_rusage(struct rusage *usage, int mode) -{ - return pthread_getrusage_np(pthread_self(), usage, mode); -} diff --git a/src/os/aix/sigar_os.h b/src/os/aix/sigar_os.h index b465e700..17ce10f8 100644 --- a/src/os/aix/sigar_os.h +++ b/src/os/aix/sigar_os.h @@ -25,8 +25,6 @@ #include #include -#include "libperfstat.h" - enum { KOFFSET_LOADAVG, KOFFSET_VAR, @@ -46,50 +44,12 @@ typedef struct { typedef int (*proc_fd_func_t) (sigar_t *, sigar_pid_t, sigar_proc_fd_t *); -typedef int (*perfstat_cpu_total_func_t)(perfstat_cpu_total_t *); - -typedef int (*perfstat_cpu_func_t)(perfstat_id_t *, - perfstat_cpu_t *, - int); - -typedef int (*perfstat_swap_func_t)(perfstat_id_t *, - perfstat_pagingspace_t *, - int); - -typedef int (*perfstat_mem_func_t)(perfstat_memory_total_t *); - -typedef int (*perfstat_disk_func_t)(perfstat_id_t *, - perfstat_disk_t *, - int); - -typedef int (*perfstat_ifstat_func_t)(perfstat_id_t *, - perfstat_netinterface_t *); - -typedef int (*perfstat_protocol_func_t)(perfstat_id_t *, - perfstat_protocol_t *, - int); - -typedef int (*thread_rusage_func_t)(struct rusage *, int); - struct sigar_t { SIGAR_T_BASE; int kmem; - int dmem; /* offsets for seeking on kmem */ long koffsets[KOFFSET_MAX]; proc_fd_func_t getprocfd; - struct { - int avail; - perfstat_cpu_func_t cpu; - perfstat_cpu_total_func_t cpu_total; - perfstat_swap_func_t swap; - perfstat_mem_func_t mem; - perfstat_disk_func_t disk; - perfstat_ifstat_func_t ifstat; - perfstat_protocol_func_t protocol; - thread_rusage_func_t thread_rusage; - void *handle; - } perfstat; int pagesize; swaps_t swaps; time_t last_getprocs; From 5e4d11f6cec2da901fc7f2c953ae3a2afb174485 Mon Sep 17 00:00:00 2001 From: Doug MacEachern Date: Wed, 13 May 2009 16:54:13 -0700 Subject: [PATCH 12/18] snapshot @c14dc0f: use '-qversion' for identifier, fixes 64-bit xlc_r compile on AIX --- bindings/java/hyperic_jni/lib/cpptasks.jar | Bin 348725 -> 370570 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/bindings/java/hyperic_jni/lib/cpptasks.jar b/bindings/java/hyperic_jni/lib/cpptasks.jar index 05d49e22d3f4cb24ad3dd62a02fa5026abd31593..8df25d51152b9feb9ae604cf252eb9e23d216da2 100644 GIT binary patch delta 208352 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ɳvm|iew*-4lUudN*ea^a7lOVQiQC9XZS@bCOEQh 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%0D<{0C==fIDM4C?zO+`gUP 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

Ic~NQUeuDQW_@%W!fL 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 RQ6K(J7>Xmo41_bQ{{bKb{gD6w delta 191375 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 z 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 Date: Wed, 13 May 2009 16:54:49 -0700 Subject: [PATCH 13/18] add 64-bit compile/link flags for AIX --- bindings/java/hyperic_jni/jni-build.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/bindings/java/hyperic_jni/jni-build.xml b/bindings/java/hyperic_jni/jni-build.xml index bf2e3e10..0172b1d1 100644 --- a/bindings/java/hyperic_jni/jni-build.xml +++ b/bindings/java/hyperic_jni/jni-build.xml @@ -449,6 +449,7 @@ USA. + @@ -458,6 +459,7 @@ USA. + From 9fec04ad66e10260e9b161b37c3b8128e239d93a Mon Sep 17 00:00:00 2001 From: Doug MacEachern Date: Wed, 13 May 2009 16:56:08 -0700 Subject: [PATCH 14/18] fix so SigarPermissionDeniedException is throw on open /dev/kmem EACCES --- src/os/aix/sigar_os.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/os/aix/sigar_os.h b/src/os/aix/sigar_os.h index 17ce10f8..a784c259 100644 --- a/src/os/aix/sigar_os.h +++ b/src/os/aix/sigar_os.h @@ -66,6 +66,6 @@ struct sigar_t { #define HAVE_STRERROR_R -#define SIGAR_EPERM_KMEM (SIGAR_OS_START_ERROR+1) +#define SIGAR_EPERM_KMEM (SIGAR_OS_START_ERROR+EACCES) #endif /* SIGAR_OS_H */ From 5ac96fb803f268ef16a0213ca1e232a494b0397e Mon Sep 17 00:00:00 2001 From: Doug MacEachern Date: Wed, 29 Apr 2009 13:09:15 -0700 Subject: [PATCH 15/18] make SigarProxyCached.invoke synchronized --- bindings/java/src/org/hyperic/sigar/SigarProxyCache.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bindings/java/src/org/hyperic/sigar/SigarProxyCache.java b/bindings/java/src/org/hyperic/sigar/SigarProxyCache.java index fdefa219..9d8fc5fd 100644 --- a/bindings/java/src/org/hyperic/sigar/SigarProxyCache.java +++ b/bindings/java/src/org/hyperic/sigar/SigarProxyCache.java @@ -123,7 +123,7 @@ public class SigarProxyCache * The java.lang.reflect.InvocationHandler used by the Proxy. * This method handles caching of all Sigar type objects. */ - public Object invoke(Object proxy, Method method, Object[] args) + public synchronized Object invoke(Object proxy, Method method, Object[] args) throws SigarException, SigarNotImplementedException { SigarCacheObject cacheVal = null; From cb8eb6b183157f6b0655ab0db1ef26a0c42198d9 Mon Sep 17 00:00:00 2001 From: Doug MacEachern Date: Thu, 21 May 2009 16:57:50 -0700 Subject: [PATCH 16/18] Merge branch 'SIGAR-148' --- include/sigar_util.h | 4 ++++ src/os/linux/linux_sigar.c | 24 ++++-------------------- src/os/solaris/solaris_sigar.c | 21 +++------------------ src/sigar_fileinfo.c | 34 ++++++++++++++++++++++++++++++++++ 4 files changed, 45 insertions(+), 38 deletions(-) diff --git a/include/sigar_util.h b/include/sigar_util.h index b81196c2..258f1257 100644 --- a/include/sigar_util.h +++ b/include/sigar_util.h @@ -120,6 +120,10 @@ int sigar_procfs_args_get(sigar_t *sigar, sigar_pid_t pid, int sigar_mem_calc_ram(sigar_t *sigar, sigar_mem_t *mem); +int sigar_statvfs(sigar_t *sigar, + const char *dirname, + sigar_file_system_usage_t *fsusage); + double sigar_file_system_usage_calc_used(sigar_t *sigar, sigar_file_system_usage_t *fs); diff --git a/src/os/linux/linux_sigar.c b/src/os/linux/linux_sigar.c index f1fb5147..0b5f71b1 100644 --- a/src/os/linux/linux_sigar.c +++ b/src/os/linux/linux_sigar.c @@ -1058,7 +1058,6 @@ int sigar_thread_cpu_get(sigar_t *sigar, } #include -#include int sigar_os_fs_type_get(sigar_file_system_t *fsp) { @@ -1458,31 +1457,16 @@ int sigar_disk_usage_get(sigar_t *sigar, const char *name, return status; } -#include - -#define SIGAR_FS_BLOCKS_TO_BYTES(val, bsize) ((val * bsize) >> 1) - int sigar_file_system_usage_get(sigar_t *sigar, const char *dirname, sigar_file_system_usage_t *fsusage) { - struct statfs buf; - sigar_uint64_t val, bsize; - - if (statfs(dirname, &buf) != 0) { - return errno; + int status = sigar_statvfs(sigar, dirname, fsusage); + + if (status != SIGAR_OK) { + return status; } - bsize = buf.f_bsize / 512; - val = buf.f_blocks; - fsusage->total = SIGAR_FS_BLOCKS_TO_BYTES(val, bsize); - val = buf.f_bfree; - fsusage->free = SIGAR_FS_BLOCKS_TO_BYTES(val, bsize); - val = buf.f_bavail; - fsusage->avail = SIGAR_FS_BLOCKS_TO_BYTES(val, bsize); - fsusage->used = fsusage->total - fsusage->free; - fsusage->files = buf.f_files; - fsusage->free_files = buf.f_ffree; fsusage->use_percent = sigar_file_system_usage_calc_used(sigar, fsusage); (void)sigar_disk_usage_get(sigar, dirname, &fsusage->disk); diff --git a/src/os/solaris/solaris_sigar.c b/src/os/solaris/solaris_sigar.c index ad856eb1..bd867223 100644 --- a/src/os/solaris/solaris_sigar.c +++ b/src/os/solaris/solaris_sigar.c @@ -1352,8 +1352,6 @@ int sigar_file_system_list_get(sigar_t *sigar, return SIGAR_OK; } -#include - typedef struct { char device[PATH_MAX]; char name[8]; @@ -1716,29 +1714,16 @@ int sigar_disk_usage_get(sigar_t *sigar, const char *name, return status; } -#define SIGAR_FS_BLOCKS_TO_BYTES(val, bsize) ((val * bsize) >> 1) - int sigar_file_system_usage_get(sigar_t *sigar, const char *dirname, sigar_file_system_usage_t *fsusage) { - struct statvfs buf; - sigar_uint64_t val, bsize; + int status = sigar_statvfs(sigar, dirname, fsusage); - if (statvfs(dirname, &buf) != 0) { - return errno; + if (status != SIGAR_OK) { + return status; } - bsize = buf.f_frsize / 512; - val = buf.f_blocks; - fsusage->total = SIGAR_FS_BLOCKS_TO_BYTES(val, bsize); - val = buf.f_bfree; - fsusage->free = SIGAR_FS_BLOCKS_TO_BYTES(val, bsize); - val = buf.f_bavail; - fsusage->avail = SIGAR_FS_BLOCKS_TO_BYTES(val, bsize); - fsusage->used = fsusage->total - fsusage->free; - fsusage->files = buf.f_files; - fsusage->free_files = buf.f_ffree; fsusage->use_percent = sigar_file_system_usage_calc_used(sigar, fsusage); sigar_disk_usage_get(sigar, dirname, &fsusage->disk); diff --git a/src/sigar_fileinfo.c b/src/sigar_fileinfo.c index 5cb10c9d..a7567459 100644 --- a/src/sigar_fileinfo.c +++ b/src/sigar_fileinfo.c @@ -61,6 +61,40 @@ # endif #endif +#include "sigar.h" + +#ifndef WIN32 +#include +#include + +#define SIGAR_FS_BLOCKS_TO_BYTES(val, bsize) ((val * bsize) >> 1) + +int sigar_statvfs(sigar_t *sigar, + const char *dirname, + sigar_file_system_usage_t *fsusage) +{ + struct statvfs buf; + sigar_uint64_t val, bsize; + + if (statvfs(dirname, &buf) != 0) { + return errno; + } + + bsize = buf.f_frsize / 512; + val = buf.f_blocks; + fsusage->total = SIGAR_FS_BLOCKS_TO_BYTES(val, bsize); + val = buf.f_bfree; + fsusage->free = SIGAR_FS_BLOCKS_TO_BYTES(val, bsize); + val = buf.f_bavail; + fsusage->avail = SIGAR_FS_BLOCKS_TO_BYTES(val, bsize); + fsusage->used = fsusage->total - fsusage->free; + fsusage->files = buf.f_files; + fsusage->free_files = buf.f_ffree; + + return SIGAR_OK; +} +#endif + /* * whittled down version of apr/file_info/{unix,win32}/filestat.c * to fillin sigar_fileattrs_t From 26872fdda04341f6490355ad97c1731f0a70fd13 Mon Sep 17 00:00:00 2001 From: Doug MacEachern Date: Fri, 22 May 2009 10:16:01 -0700 Subject: [PATCH 17/18] rid -Wall statvfs warning on solaris 8 --- src/sigar_fileinfo.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/sigar_fileinfo.c b/src/sigar_fileinfo.c index a7567459..b7dd11ff 100644 --- a/src/sigar_fileinfo.c +++ b/src/sigar_fileinfo.c @@ -75,8 +75,15 @@ int sigar_statvfs(sigar_t *sigar, { struct statvfs buf; sigar_uint64_t val, bsize; + int status = +#if defined(__sun) && !defined(_LP64) + /* http://bugs.opensolaris.org/view_bug.do?bug_id=4462986 */ + statvfs(dirname, (void *)&buf); +#else + statvfs(dirname, &buf); +#endif - if (statvfs(dirname, &buf) != 0) { + if (status != 0) { return errno; } From 64a6f41925b0ae56c924d314467ae2546cb437ce Mon Sep 17 00:00:00 2001 From: Doug MacEachern Date: Fri, 22 May 2009 11:18:09 -0700 Subject: [PATCH 18/18] fix compile on OpenBSD and older FreeBSD --- src/sigar_fileinfo.c | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/src/sigar_fileinfo.c b/src/sigar_fileinfo.c index b7dd11ff..aae049dc 100644 --- a/src/sigar_fileinfo.c +++ b/src/sigar_fileinfo.c @@ -64,7 +64,13 @@ #include "sigar.h" #ifndef WIN32 -#include +#if defined(__FreeBSD__) || defined(__OpenBSD__) +# include +# include +#else +# include +# define HAVE_STATVFS +#endif #include #define SIGAR_FS_BLOCKS_TO_BYTES(val, bsize) ((val * bsize) >> 1) @@ -73,21 +79,30 @@ int sigar_statvfs(sigar_t *sigar, const char *dirname, sigar_file_system_usage_t *fsusage) { - struct statvfs buf; sigar_uint64_t val, bsize; +#ifdef HAVE_STATVFS + struct statvfs buf; int status = -#if defined(__sun) && !defined(_LP64) +# if defined(__sun) && !defined(_LP64) /* http://bugs.opensolaris.org/view_bug.do?bug_id=4462986 */ statvfs(dirname, (void *)&buf); -#else +# else statvfs(dirname, &buf); +# endif +#else + struct statfs buf; + int status = statfs(dirname, &buf); #endif if (status != 0) { return errno; } +#ifdef HAVE_STATVFS bsize = buf.f_frsize / 512; +#else + bsize = buf.f_bsize / 512; +#endif val = buf.f_blocks; fsusage->total = SIGAR_FS_BLOCKS_TO_BYTES(val, bsize); val = buf.f_bfree;

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 z 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