Search in sources :

Example 46 with CompositeData

use of javax.management.openmbean.CompositeData in project ats-framework by Axway.

the class AtsJvmMonitor method getHeapSurvivor.

private JvmReadingInstance getHeapSurvivor(MBeanServerConnection connection, FullReadingBean reading) {
    String jvmPort = reading.getParameter("JMX_PORT");
    final MBeanWrapper mbeanWrapper = mbeanWrappers.get(jvmPort);
    return new JvmReadingInstance(connection, reading.getId(), reading.getMonitorName(), getName(reading, jvmPort), reading.getUnit(), 0) {

        private static final long serialVersionUID = 1L;

        @Override
        public void init() {
            applyMemoryNormalizationFactor();
            mBeanName = mbeanWrapper.getObjectName("java.lang:type=MemoryPool,name=Survivor Space");
        }

        @Override
        public float poll() {
            CompositeData attribute = (CompositeData) mbeanWrapper.getMBeanAttribute(mBeanName, "Usage");
            return fixLongValue(Long.valueOf((attribute).get("used").toString())) * normalizationFactor;
        }
    };
}
Also used : CompositeData(javax.management.openmbean.CompositeData)

Example 47 with CompositeData

use of javax.management.openmbean.CompositeData in project ats-framework by Axway.

the class AtsJvmMonitor method getHeapEden.

private JvmReadingInstance getHeapEden(MBeanServerConnection connection, FullReadingBean reading) {
    String jvmPort = reading.getParameter("JMX_PORT");
    final MBeanWrapper mbeanWrapper = mbeanWrappers.get(jvmPort);
    return new JvmReadingInstance(connection, reading.getId(), reading.getMonitorName(), getName(reading, jvmPort), reading.getUnit(), 0) {

        private static final long serialVersionUID = 1L;

        @Override
        public void init() {
            applyMemoryNormalizationFactor();
            mBeanName = mbeanWrapper.getObjectName("java.lang:type=MemoryPool,name=Eden Space");
        }

        @Override
        public float poll() {
            CompositeData attribute = (CompositeData) mbeanWrapper.getMBeanAttribute(mBeanName, "Usage");
            return fixLongValue(Long.valueOf((attribute).get("used").toString())) * normalizationFactor;
        }
    };
}
Also used : CompositeData(javax.management.openmbean.CompositeData)

Example 48 with CompositeData

use of javax.management.openmbean.CompositeData in project ats-framework by Axway.

the class AtsJvmMonitor method getHeapCodeCache.

private JvmReadingInstance getHeapCodeCache(MBeanServerConnection connection, FullReadingBean reading) {
    String jvmPort = reading.getParameter("JMX_PORT");
    final MBeanWrapper mbeanWrapper = mbeanWrappers.get(jvmPort);
    return new JvmReadingInstance(connection, reading.getId(), reading.getMonitorName(), getName(reading, jvmPort), reading.getUnit(), 0) {

        private static final long serialVersionUID = 1L;

        @Override
        public void init() {
            applyMemoryNormalizationFactor();
            mBeanName = mbeanWrapper.getObjectName("java.lang:name=Code Cache,type=MemoryPool");
        }

        @Override
        public float poll() {
            CompositeData attribute = (CompositeData) mbeanWrapper.getMBeanAttribute(mBeanName, "Usage");
            return fixLongValue(Long.valueOf((attribute).get("used").toString())) * normalizationFactor;
        }
    };
}
Also used : CompositeData(javax.management.openmbean.CompositeData)

Example 49 with CompositeData

use of javax.management.openmbean.CompositeData in project ats-framework by Axway.

the class AtsJvmMonitor method getHeapPermGen.

private JvmReadingInstance getHeapPermGen(MBeanServerConnection connection, FullReadingBean reading) {
    String jvmPort = reading.getParameter("JMX_PORT");
    final MBeanWrapper mbeanWrapper = mbeanWrappers.get(jvmPort);
    return new JvmReadingInstance(connection, reading.getId(), reading.getMonitorName(), getName(reading, jvmPort), reading.getUnit(), 0) {

        private static final long serialVersionUID = 1L;

        @Override
        public void init() {
            applyMemoryNormalizationFactor();
            mBeanName = mbeanWrapper.getObjectName("java.lang:type=MemoryPool,name=Perm Gen");
        }

        @Override
        public float poll() {
            CompositeData attribute = (CompositeData) mbeanWrapper.getMBeanAttribute(mBeanName, "Usage");
            return fixLongValue(Long.valueOf((attribute).get("used").toString())) * normalizationFactor;
        }
    };
}
Also used : CompositeData(javax.management.openmbean.CompositeData)

Example 50 with CompositeData

use of javax.management.openmbean.CompositeData in project aries by apache.

the class FrameworkMBeanTest method testRefreshBundlesAndWait.

@Test
public void testRefreshBundlesAndWait() throws Exception {
    Bundle bundleA = getBundleByName("org.apache.aries.jmx.test.bundlea");
    Bundle bundleB = getBundleByName("org.apache.aries.jmx.test.bundleb");
    BundleWiring bw = (BundleWiring) bundleB.adapt(BundleWiring.class);
    List<BundleWire> initialRequiredWires = bw.getRequiredWires(BundleRevision.PACKAGE_NAMESPACE);
    assertEquals(1, initialRequiredWires.size());
    BundleWire wire = initialRequiredWires.get(0);
    Map<String, Object> capabilityAttributes = wire.getCapability().getAttributes();
    assertEquals("Precondition", bundleA.getSymbolicName(), capabilityAttributes.get(Constants.BUNDLE_SYMBOLICNAME_ATTRIBUTE));
    assertEquals("Precondition", new Version("1.0"), capabilityAttributes.get(Constants.BUNDLE_VERSION_ATTRIBUTE));
    assertEquals("Precondition", "org.apache.aries.jmx.test.bundlea.api", capabilityAttributes.get(BundleRevision.PACKAGE_NAMESPACE));
    // Create an updated version of Bundle A, which an extra export and version 1.1
    Manifest manifest = new Manifest();
    manifest.getMainAttributes().putValue("Manifest-Version", "1.0");
    manifest.getMainAttributes().putValue(Constants.BUNDLE_SYMBOLICNAME, "org.apache.aries.jmx.test.bundlea");
    manifest.getMainAttributes().putValue(Constants.BUNDLE_VERSION, "1.1");
    manifest.getMainAttributes().putValue(Constants.EXPORT_PACKAGE, "org.apache.aries.jmx.test.bundlea.api,org.apache.aries.jmx.test.bundlea.impl");
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    JarOutputStream jos = new JarOutputStream(baos, manifest);
    addResourceToJar("org/apache/aries/jmx/test/bundlea/api/InterfaceA.class", jos, bundleA);
    addResourceToJar("org/apache/aries/jmx/test/bundlea/impl/A2.class", jos, bundleA);
    jos.close();
    assertEquals("Precondition", 1, ((BundleRevisions) bundleA.adapt(BundleRevisions.class)).getRevisions().size());
    bundleA.update(new ByteArrayInputStream(baos.toByteArray()));
    assertEquals("There should be 2 revisions now", 2, ((BundleRevisions) bundleA.adapt(BundleRevisions.class)).getRevisions().size());
    assertEquals("No refresh called, the bundle wiring for B should still be the old one", bw, bundleB.adapt(BundleWiring.class));
    FrameworkMBean framework = getMBean(FrameworkMBean.OBJECTNAME, FrameworkMBean.class);
    CompositeData result = framework.refreshBundlesAndWait(new long[] { bundleB.getBundleId() });
    assertTrue((Boolean) result.get(FrameworkMBean.SUCCESS));
    assertTrue(Arrays.equals(new Long[] { bundleB.getBundleId() }, (Long[]) result.get(FrameworkMBean.COMPLETED)));
    List<BundleWire> requiredWires = ((BundleWiring) bundleB.adapt(BundleWiring.class)).getRequiredWires(BundleRevision.PACKAGE_NAMESPACE);
    assertEquals(2, requiredWires.size());
    List<String> imported = new ArrayList<String>();
    for (BundleWire w : requiredWires) {
        Map<String, Object> ca = w.getCapability().getAttributes();
        assertEquals(bundleA.getSymbolicName(), ca.get(Constants.BUNDLE_SYMBOLICNAME_ATTRIBUTE));
        imported.add(ca.get(BundleRevision.PACKAGE_NAMESPACE).toString());
        if ("org.apache.aries.jmx.test.bundlea.impl".equals(ca.get(BundleRevision.PACKAGE_NAMESPACE))) {
            // Came across an issue where equinox was reporting the other package as still coming from from the 1.0 bundle
            // not sure if this is a bug or not...
            assertEquals(new Version("1.1"), ca.get(Constants.BUNDLE_VERSION_ATTRIBUTE));
        }
    }
    assertEquals(Arrays.asList("org.apache.aries.jmx.test.bundlea.api", "org.apache.aries.jmx.test.bundlea.impl"), imported);
}
Also used : Bundle(org.osgi.framework.Bundle) BundleWiring(org.osgi.framework.wiring.BundleWiring) CompositeData(javax.management.openmbean.CompositeData) ArrayList(java.util.ArrayList) JarOutputStream(java.util.jar.JarOutputStream) ByteArrayOutputStream(java.io.ByteArrayOutputStream) Manifest(java.util.jar.Manifest) FrameworkMBean(org.osgi.jmx.framework.FrameworkMBean) BundleWire(org.osgi.framework.wiring.BundleWire) Version(org.osgi.framework.Version) ByteArrayInputStream(java.io.ByteArrayInputStream) BundleRevisions(org.osgi.framework.wiring.BundleRevisions) Test(org.junit.Test) AbstractIntegrationTest(org.apache.aries.jmx.AbstractIntegrationTest)

Aggregations

CompositeData (javax.management.openmbean.CompositeData)229 TabularData (javax.management.openmbean.TabularData)91 Test (org.junit.Test)73 CompositeDataSupport (javax.management.openmbean.CompositeDataSupport)68 TabularDataSupport (javax.management.openmbean.TabularDataSupport)51 CompositeType (javax.management.openmbean.CompositeType)50 HashMap (java.util.HashMap)31 ArrayList (java.util.ArrayList)27 Map (java.util.Map)27 Bundle (org.osgi.framework.Bundle)24 ObjectName (javax.management.ObjectName)21 OpenDataException (javax.management.openmbean.OpenDataException)18 IOException (java.io.IOException)17 Collection (java.util.Collection)16 AbstractIntegrationTest (org.apache.aries.jmx.AbstractIntegrationTest)16 AuditEvent (org.nhindirect.common.audit.AuditEvent)15 TabularType (javax.management.openmbean.TabularType)13 MBeanServer (javax.management.MBeanServer)12 DefaultAuditContext (org.nhindirect.common.audit.DefaultAuditContext)11 MBeanException (javax.management.MBeanException)8