Example usage for javax.management Attribute getValue

List of usage examples for javax.management Attribute getValue

Introduction

In this page you can find the example usage for javax.management Attribute getValue.

Prototype

public Object getValue() 

Source Link

Document

Returns an Object that is the value of this attribute.

Usage

From source file:com.pivotal.gemfire.tools.pulse.internal.data.JMXDataUpdater.java

/**
 * function used to get attribute values of Member Region and map them to
 * Member vo// ww w . ja v  a  2  s  . c o m
 * 
 * @param mbeanName
 *          Member Region MBean
 */
private void updateMemberRegion(ObjectName mbeanName) throws IOException {

    try {
        String memberName = mbeanName.getKeyProperty(PulseConstants.MBEAN_KEY_PROPERTY_MEMBER);

        Cluster.Member member = cluster.getMembersHMap().get(memberName);

        AttributeList attributeList = this.mbs.getAttributes(mbeanName, PulseConstants.REGION_MBEAN_ATTRIBUTES);

        // retrieve the full path of the region
        String regionFullPathKey = null;
        for (int i = 0; i < attributeList.size(); i++) {
            Attribute attribute = (Attribute) attributeList.get(i);

            if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_FULLPATH)) {
                regionFullPathKey = getStringAttribute(attribute.getValue(), attribute.getName());
                break;
            }
        }

        // if member does not exists defined for this region then create a member
        if (null == member) {
            member = new Cluster.Member();
            member.setName(memberName);
            cluster.getMembersHMap().put(memberName, member);
        }

        // if region with given path exists then update same else add new region
        Cluster.Region region = member.getMemberRegions().get(regionFullPathKey);
        if (null == region) {
            region = new Cluster.Region();
            member.getMemberRegions().put(regionFullPathKey, region);
            member.setTotalRegionCount(member.getTotalRegionCount() + 1);

            // Initialize region attributes
            CompositeData compositeData = (CompositeData) (mbs.invoke(mbeanName,
                    PulseConstants.MBEAN_OPERATION_LISTREGIONATTRIBUTES, null, null));

            if (compositeData.containsKey(PulseConstants.COMPOSITE_DATA_KEY_SCOPE)) {
                region.setScope((String) compositeData.get(PulseConstants.COMPOSITE_DATA_KEY_SCOPE));
            }
            if (compositeData.containsKey(PulseConstants.COMPOSITE_DATA_KEY_DISKSTORENAME)) {
                region.setDiskStoreName(
                        (String) compositeData.get(PulseConstants.COMPOSITE_DATA_KEY_DISKSTORENAME));
            }
            if (compositeData.containsKey(PulseConstants.COMPOSITE_DATA_KEY_DISKSYNCHRONOUS)) {
                region.setDiskSynchronous(
                        (Boolean) compositeData.get(PulseConstants.COMPOSITE_DATA_KEY_DISKSYNCHRONOUS));
            }
        }
        region.setFullPath(regionFullPathKey); // use already retrieved values

        // update the existing or new region
        for (int i = 0; i < attributeList.size(); i++) {
            Attribute attribute = (Attribute) attributeList.get(i);

            if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_FULLPATH)) {
                region.setFullPath(getStringAttribute(attribute.getValue(), attribute.getName()));
            } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_DISKREADSRATE)) {
                region.setDiskReadsRate(getFloatAttribute(attribute.getValue(), attribute.getName()));
            } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_DISKWRITESRATE)) {
                region.setDiskWritesRate(getFloatAttribute(attribute.getValue(), attribute.getName()));
            } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_GETSRATE)) {
                region.setGetsRate(getFloatAttribute(attribute.getValue(), attribute.getName()));
            } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_LRUEVICTIONRATE)) {
                region.setLruEvictionRate(getFloatAttribute(attribute.getValue(), attribute.getName()));
            } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_PUTSRATE)) {
                region.setPutsRate(getFloatAttribute(attribute.getValue(), attribute.getName()));
            } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_AVERAGEREADS)) {
                region.setAverageReads(getFloatAttribute(attribute.getValue(), attribute.getName()));
            } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_AVERAGEWRITES)) {
                region.setAverageWrites(getFloatAttribute(attribute.getValue(), attribute.getName()));
            } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_REGIONTYPE)) {
                region.setRegionType(getStringAttribute(attribute.getValue(), attribute.getName()));
            } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_MEMBERCOUNT)) {
                region.setMemberCount(getIntegerAttribute(attribute.getValue(), attribute.getName()));
            } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_ENTRYSIZE)) {
                region.setEntrySize(getLongAttribute(attribute.getValue(), attribute.getName()));
            } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_ENTRYCOUNT)) {
                region.setSystemRegionEntryCount(getLongAttribute(attribute.getValue(), attribute.getName()));
            } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_NAME)) {
                region.setName(getStringAttribute(attribute.getValue(), attribute.getName()));
            } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_PERSISTENTENABLED)) {
                region.setPersistentEnabled(getBooleanAttribute(attribute.getValue(), attribute.getName()));
            } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_GATEWAYENABLED)) {
                region.setWanEnabled(getBooleanAttribute(attribute.getValue(), attribute.getName()));
            }
        }

        // Remove deleted regions from member's regions list
        for (Iterator<String> it = cluster.getDeletedRegions().iterator(); it.hasNext();) {
            String deletedRegion = it.next();
            if (member.getMemberRegions().get(deletedRegion) != null) {
                member.getMemberRegions().remove(deletedRegion);
            }
            member.setTotalRegionCount(member.getMemberRegions().size());
        }
    } catch (InstanceNotFoundException infe) {
        LOGGER.warning(infe);
    } catch (ReflectionException re) {
        LOGGER.warning(re);
    } catch (MBeanException anfe) {
        LOGGER.warning(anfe);
    }
}

From source file:com.pivotal.gemfire.tools.pulse.internal.data.JMXDataUpdater.java

/**
 * function used to iterate through all member attributes and return the
 * updated member/*from  w ww.  j  a v  a 2  s.c  o  m*/
 * 
 * @param attrs
 * @param mbeanName
 * @param member
 * @return
 * @throws IOException
 * @throws ReflectionException
 * @throws InstanceNotFoundException
 */
private Cluster.Member initializeMember(ObjectName mbeanName, Cluster.Member member)
        throws InstanceNotFoundException, ReflectionException, IOException {

    AttributeList attributeList = this.mbs.getAttributes(mbeanName, PulseConstants.MEMBER_MBEAN_ATTRIBUTES);

    for (int i = 0; i < attributeList.size(); i++) {

        Attribute attribute = (Attribute) attributeList.get(i);

        if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_MANAGER)) {
            member.setManager(getBooleanAttribute(attribute.getValue(), attribute.getName()));
        } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_TOTALREGIONCOUNT)) {
            member.setTotalRegionCount(getIntegerAttribute(attribute.getValue(), attribute.getName()));
        } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_LOCATOR)) {
            member.setLocator(getBooleanAttribute(attribute.getValue(), attribute.getName()));
        } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_TOTALDISKUSAGE)) {
            member.setTotalDiskUsage(getLongAttribute(attribute.getValue(), attribute.getName()));
        } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_SERVER)) {
            member.setServer(getBooleanAttribute(attribute.getValue(), attribute.getName()));
        } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_TOTALFILEDESCRIPTOROPEN)) {
            member.setTotalFileDescriptorOpen(getLongAttribute(attribute.getValue(), attribute.getName()));
        } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_LOADAVERAGE)) {
            member.setLoadAverage(getDoubleAttribute(attribute.getValue(), attribute.getName()));
        } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_DISKWRITESRATE)) {
            member.setThroughputWrites(getFloatAttribute(attribute.getValue(), attribute.getName()));
            member.getThroughputWritesTrend().add(member.getThroughputWrites());
        } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_DISKREADSRATE)) {
            member.setThroughputReads(getFloatAttribute(attribute.getValue(), attribute.getName()));
            member.getThroughputReadsTrend().add(member.getThroughputReads());
        } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_JVMPAUSES)) {
            member.setGarbageCollectionCount(getLongAttribute(attribute.getValue(), attribute.getName()));
            member.getGarbageCollectionSamples().add(member.getGarbageCollectionCount());
        } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_CURRENTHEAPSIZE)) {
            member.setCurrentHeapSize(getLongAttribute(attribute.getValue(), attribute.getName()));
            member.getHeapUsageSamples().add(member.getCurrentHeapSize());
        } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_MAXIMUMHEAPSIZE)) {
            member.setMaxHeapSize(getLongAttribute(attribute.getValue(), attribute.getName()));
        } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_NUMTHREADS)) {
            member.setNumThreads(getIntegerAttribute(attribute.getValue(), attribute.getName()));
        } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_MEMBERUPTIME)) {
            member.setUptime(getLongAttribute(attribute.getValue(), attribute.getName()));
        } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_HOST)) {
            member.setHost(getStringAttribute(attribute.getValue(), attribute.getName()));
        } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_TOTALBYTESONDISK)) {
            member.setTotalBytesOnDisk(getLongAttribute(attribute.getValue(), attribute.getName()));
            member.getTotalBytesOnDiskSamples().add(member.getTotalBytesOnDisk());
        } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_CPUUSAGE)) {
            member.setCpuUsage(getFloatAttribute(attribute.getValue(), attribute.getName()));
            member.getCpuUsageSamples().add(member.getCpuUsage());
        } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_HOSTCPUUSAGE)) {
            // Float value is expected for host cpu usage.
            // TODO Remove Float.valueOf() when float value is provided in mbean
            member.setHostCpuUsage(
                    Float.valueOf(getIntegerAttribute(attribute.getValue(), attribute.getName())));
        } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_MEMBER)) {
            member.setName(getStringAttribute(attribute.getValue(), attribute.getName()));
        } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_ID)) {
            member.setId(getStringAttribute(attribute.getValue(), attribute.getName()));
        } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_AVERAGEREADS)) {
            member.setGetsRate(getFloatAttribute(attribute.getValue(), attribute.getName()));
            member.getGetsPerSecond().add(member.getGetsRate());
        } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_AVERAGEWRITES)) {
            member.setPutsRate(getFloatAttribute(attribute.getValue(), attribute.getName()));
            member.getPutsPerSecond().add(member.getPutsRate());
        } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_OFFHEAPFREESIZE)) {
            member.setOffHeapFreeSize(getLongAttribute(attribute.getValue(), attribute.getName()));
        } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_OFFHEAPUSEDSIZE)) {
            member.setOffHeapUsedSize(getLongAttribute(attribute.getValue(), attribute.getName()));
        }
    }

    // GemFireXD specific attributes
    if (PulseController.getPulseProductSupport().equalsIgnoreCase(PulseConstants.PRODUCT_NAME_GEMFIREXD)) {

        try {
            // get GemFireXD mbeans
            String memberName = mbeanName.getKeyProperty(PulseConstants.MBEAN_KEY_PROPERTY_MEMBER);

            ObjectName sfMemberMbeansObjectName = new ObjectName(
                    PulseConstants.OBJECT_NAME_SF_MEMBER_PATTERN + memberName);

            Set<ObjectName> sfMemberMBeans = this.mbs.queryNames(sfMemberMbeansObjectName, null);
            for (ObjectName sfMemberMBean : sfMemberMBeans) {

                AttributeList attrList = this.mbs.getAttributes(sfMemberMBean,
                        PulseConstants.SF_MEMBER_MBEAN_ATTRIBUTES);
                for (int i = 0; i < attrList.size(); i++) {

                    Attribute attribute = (Attribute) attrList.get(i);

                    if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_DATASTORE)) {
                        member.setServer(getBooleanAttribute(attribute.getValue(), attribute.getName()));

                        // Update Server count
                        if (member.isServer()) {
                            cluster.setServerCount(cluster.getServerCount() + 1);
                        }
                    } else if (attribute.getName()
                            .equals(PulseConstants.MBEAN_ATTRIBUTE_NETWORKSERVERCLIENTCONNECTIONSTATS)) {

                        CompositeData nscConnStats = (CompositeData) attribute.getValue();

                        // Update GemFireXD client count
                        member.setNumGemFireXDClients(getLongAttribute(
                                nscConnStats.get(PulseConstants.COMPOSITE_DATA_KEY_CONNECTIONSOPEN),
                                PulseConstants.COMPOSITE_DATA_KEY_CONNECTIONSOPEN));
                    }
                }
                break;
            }

        } catch (MalformedObjectNameException e) {
            LOGGER.warning(e);
        } catch (NullPointerException e) {
            LOGGER.warning(e);
        }

    }

    return member;
}

From source file:org.apache.geode.tools.pulse.internal.data.JMXDataUpdater.java

private void updateClusterStatement(ObjectName mbeanName) throws IOException {

    try {// ww w.  j  av  a2 s .com

        AttributeList attributeList = this.mbs.getAttributes(mbeanName,
                PulseConstants.STATEMENT_MBEAN_ATTRIBUTES);
        // retrieve the full path of the region
        String statementDefinition = mbeanName.getKeyProperty("name");

        if (isQuoted(statementDefinition)) {
            statementDefinition = ObjectName.unquote(statementDefinition);
        }

        Cluster.Statement statement = cluster.getClusterStatements().get(statementDefinition);

        if (null == statement) {
            statement = new Cluster.Statement();
            statement.setQueryDefinition(statementDefinition);
        }

        for (int i = 0; i < attributeList.size(); i++) {
            Attribute attribute = (Attribute) attributeList.get(i);
            String name = attribute.getName();
            switch (name) {
            case PulseConstants.MBEAN_ATTRIBUTE_NUMTIMESCOMPILED:
                statement.setNumTimesCompiled(getLongAttribute(attribute.getValue(), attribute.getName()));
                break;
            case PulseConstants.MBEAN_ATTRIBUTE_NUMEXECUTION:
                statement.setNumExecution(getLongAttribute(attribute.getValue(), attribute.getName()));
                break;
            case PulseConstants.MBEAN_ATTRIBUTE_NUMEXECUTIONSINPROGRESS:
                statement.setNumExecutionsInProgress(
                        getLongAttribute(attribute.getValue(), attribute.getName()));
                break;
            case PulseConstants.MBEAN_ATTRIBUTE_NUMTIMESGLOBALINDEXLOOKUP:
                statement.setNumTimesGlobalIndexLookup(
                        getLongAttribute(attribute.getValue(), attribute.getName()));
                break;
            case PulseConstants.MBEAN_ATTRIBUTE_NUMROWSMODIFIED:
                statement.setNumRowsModified(getLongAttribute(attribute.getValue(), attribute.getName()));
                break;
            case PulseConstants.MBEAN_ATTRIBUTE_PARSETIME:
                statement.setParseTime(getLongAttribute(attribute.getValue(), attribute.getName()));
                break;
            case PulseConstants.MBEAN_ATTRIBUTE_BINDTIME:
                statement.setBindTime(getLongAttribute(attribute.getValue(), attribute.getName()));
                break;
            case PulseConstants.MBEAN_ATTRIBUTE_OPTIMIZETIME:
                statement.setOptimizeTime(getLongAttribute(attribute.getValue(), attribute.getName()));
                break;
            case PulseConstants.MBEAN_ATTRIBUTE_ROUTINGINFOTIME:
                statement.setRoutingInfoTime(getLongAttribute(attribute.getValue(), attribute.getName()));
                break;
            case PulseConstants.MBEAN_ATTRIBUTE_GENERATETIME:
                statement.setGenerateTime(getLongAttribute(attribute.getValue(), attribute.getName()));
                break;
            case PulseConstants.MBEAN_ATTRIBUTE_TOTALCOMPILATIONTIME:
                statement.setTotalCompilationTime(getLongAttribute(attribute.getValue(), attribute.getName()));
                break;
            case PulseConstants.MBEAN_ATTRIBUTE_EXECUTIONTIME:
                statement.setExecutionTime(getLongAttribute(attribute.getValue(), attribute.getName()));
                break;
            case PulseConstants.MBEAN_ATTRIBUTE_PROJECTIONTIME:
                statement.setProjectionTime(getLongAttribute(attribute.getValue(), attribute.getName()));
                break;
            case PulseConstants.MBEAN_ATTRIBUTE_TOTALEXECUTIONTIME:
                statement.setTotalExecutionTime(getLongAttribute(attribute.getValue(), attribute.getName()));
                break;
            case PulseConstants.MBEAN_ATTRIBUTE_ROWSMODIFICATIONTIME:
                statement.setRowsModificationTime(getLongAttribute(attribute.getValue(), attribute.getName()));
                break;
            case PulseConstants.MBEAN_ATTRIBUTE_QNNUMROWSSEEN:
                statement.setqNNumRowsSeen(getLongAttribute(attribute.getValue(), attribute.getName()));
                break;
            case PulseConstants.MBEAN_ATTRIBUTE_QNMSGSENDTIME:
                statement.setqNMsgSendTime(getLongAttribute(attribute.getValue(), attribute.getName()));
                break;
            case PulseConstants.MBEAN_ATTRIBUTE_QNMSGSERTIME:
                statement.setqNMsgSerTime(getLongAttribute(attribute.getValue(), attribute.getName()));
                break;
            case PulseConstants.MBEAN_ATTRIBUTE_QNRESPDESERTIME:
                statement.setqNRespDeSerTime(getLongAttribute(attribute.getValue(), attribute.getName()));
                break;
            }
        }

        cluster.addClusterStatement(statementDefinition, statement);
        // TODO : to store data for sparklines later
        /*
         * region.getPutsPerSecTrend().add(region.getPutsRate());
         * region.getGetsPerSecTrend().add(region.getGetsRate());
         */
    } catch (InstanceNotFoundException | ReflectionException infe) {
        logger.warn(infe);
    }
}

From source file:com.pivotal.gemfire.tools.pulse.internal.data.JMXDataUpdater.java

/**
 * function used to get attribute values of Cluster Region and map them to
 * cluster region vo//  w ww  .  j av a  2s. c  om
 * 
 * @param mbeanName
 *          Cluster Region MBean
 * @throws IOException
 * @throws ReflectionException
 * @throws IntrospectionException
 * @throws InstanceNotFoundException
 * @throws MBeanException
 * @throws AttributeNotFoundException
 */
private void updateClusterRegion(ObjectName mbeanName) throws IOException {

    try {

        AttributeList attributeList = this.mbs.getAttributes(mbeanName, PulseConstants.REGION_MBEAN_ATTRIBUTES);

        // retrieve the full path of the region
        String regionFullPath = null;
        for (int i = 0; i < attributeList.size(); i++) {
            Attribute attribute = (Attribute) attributeList.get(i);

            if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_FULLPATH)) {
                regionFullPath = getStringAttribute(attribute.getValue(), attribute.getName());
                break;
            }
        }

        Cluster.Region region = cluster.getClusterRegions().get(regionFullPath);

        if (null == region) {
            region = new Cluster.Region();
        }

        for (int i = 0; i < attributeList.size(); i++) {

            Attribute attribute = (Attribute) attributeList.get(i);

            if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_MEMBERS)) {
                String memName[] = (String[]) attribute.getValue();
                region.getMemberName().clear();
                for (int k = 0; k < memName.length; k++) {
                    region.getMemberName().add(memName[k]);
                }
            } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_FULLPATH)) {
                region.setFullPath(getStringAttribute(attribute.getValue(), attribute.getName()));
            } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_DISKREADSRATE)) {
                region.setDiskReadsRate(getFloatAttribute(attribute.getValue(), attribute.getName()));
            } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_DISKWRITESRATE)) {
                region.setDiskWritesRate(getFloatAttribute(attribute.getValue(), attribute.getName()));
            } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_EMPTYNODES)) {
                region.setEmptyNode(getIntegerAttribute(attribute.getValue(), attribute.getName()));
            } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_GETSRATE)) {
                region.setGetsRate(getFloatAttribute(attribute.getValue(), attribute.getName()));
            } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_LRUEVICTIONRATE)) {
                region.setLruEvictionRate(getFloatAttribute(attribute.getValue(), attribute.getName()));
            } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_PUTSRATE)) {
                region.setPutsRate(getFloatAttribute(attribute.getValue(), attribute.getName()));
            } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_AVERAGEREADS)) {
                region.setAverageReads(getFloatAttribute(attribute.getValue(), attribute.getName()));
            } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_AVERAGEWRITES)) {
                region.setAverageWrites(getFloatAttribute(attribute.getValue(), attribute.getName()));
            } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_REGIONTYPE)) {
                region.setRegionType(getStringAttribute(attribute.getValue(), attribute.getName()));
            } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_ENTRYSIZE)) {
                region.setEntrySize(getLongAttribute(attribute.getValue(), attribute.getName()));
            } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_SYSTEMREGIONENTRYCOUNT)) {
                region.setSystemRegionEntryCount(getLongAttribute(attribute.getValue(), attribute.getName()));
            } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_MEMBERCOUNT)) {
                region.setMemberCount(getIntegerAttribute(attribute.getValue(), attribute.getName()));
            } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_PERSISTENTENABLED)) {
                region.setPersistentEnabled(getBooleanAttribute(attribute.getValue(), attribute.getName()));
            } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_NAME)) {
                region.setName(getStringAttribute(attribute.getValue(), attribute.getName()));
            } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_GATEWAYENABLED)) {
                region.setWanEnabled(getBooleanAttribute(attribute.getValue(), attribute.getName()));
            } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_DISKUSAGE)) {
                region.setDiskUsage(getLongAttribute(attribute.getValue(), attribute.getName()));
            }
        }

        CompositeData compositeData = (CompositeData) (this.mbs.invoke(mbeanName,
                PulseConstants.MBEAN_OPERATION_LISTREGIONATTRIBUTES, null, null));

        if (compositeData != null) {
            if (compositeData.containsKey(PulseConstants.COMPOSITE_DATA_KEY_COMPRESSIONCODEC)) {
                String regCompCodec = (String) compositeData
                        .get(PulseConstants.COMPOSITE_DATA_KEY_COMPRESSIONCODEC);
                if (null != regCompCodec) {
                    region.setCompressionCodec(regCompCodec);
                }
            }
            if (compositeData.containsKey(PulseConstants.COMPOSITE_DATA_KEY_ENABLEOFFHEAPMEMORY)) {
                region.setEnableOffHeapMemory(
                        (Boolean) compositeData.get(PulseConstants.COMPOSITE_DATA_KEY_ENABLEOFFHEAPMEMORY));
            }
            if (compositeData.containsKey(PulseConstants.COMPOSITE_DATA_KEY_HDFSWRITEONLY)) {
                region.setHdfsWriteOnly(
                        (Boolean) compositeData.get(PulseConstants.COMPOSITE_DATA_KEY_HDFSWRITEONLY));
            }
        }

        // TODO : Uncomment below code when sql fire mbean attributes are
        // available
        /*
         * // IF GEMFIREXD if
         * (PulseConstants.PRODUCT_NAME_GEMFIREXD.equalsIgnoreCase(PulseController
         * .getPulseProductSupport())) {
         * 
         * try { String tableName = this.getTableNameFromRegionName(region
         * .getFullPath());
         * 
         * ObjectName tableObjName = new ObjectName(
         * PulseConstants.OBJECT_NAME_TABLE_AGGREGATE_PATTERN + tableName);
         * 
         * AttributeList tableAttributeList = this.mbs.getAttributes(
         * tableObjName, PulseConstants.SF_TABLE_MBEAN_ATTRIBUTES);
         * 
         * for (int i = 0; i < tableAttributeList.size(); i++) {
         * 
         * Attribute attribute = (Attribute) tableAttributeList.get(i);
         * 
         * if (attribute.getName().equals(
         * PulseConstants.MBEAN_ATTRIBUTE_ENTRYSIZE)) {
         * System.out.println("[GemFireXD] setting entry size");
         * region.setEntrySize(getLongAttribute(attribute.getValue(),
         * attribute.getName())); } else if (attribute.getName().equals(
         * PulseConstants.MBEAN_ATTRIBUTE_NUMBEROFROWS)) {
         * System.out.println("[GemFireXD] setting num of rows");
         * region.setSystemRegionEntryCount(getLongAttribute(
         * attribute.getValue(), attribute.getName())); } } } catch
         * (MalformedObjectNameException e) { LOGGER.warning(e); } catch
         * (NullPointerException e) { LOGGER.warning(e); } }
         */

        // Add to map even if region is present. If region is already there it
        // will be a no-op.
        cluster.addClusterRegion(regionFullPath, region);
        cluster.getDeletedRegions().remove(region.getFullPath());
        // Memory Reads and writes
        region.getPutsPerSecTrend().add(region.getPutsRate());
        region.getGetsPerSecTrend().add(region.getGetsRate());
        // Disk Reads and Writes
        region.getDiskReadsPerSecTrend().add(region.getDiskReadsRate());
        region.getDiskWritesPerSecTrend().add(region.getDiskWritesRate());
        // Average Reads and Writes
        region.getAverageReadsTrend().add(region.getAverageReads());
        region.getAverageWritesTrend().add(region.getAverageWrites());

    } catch (InstanceNotFoundException infe) {
        LOGGER.warning(infe);
    } catch (ReflectionException re) {
        LOGGER.warning(re);
    } catch (MBeanException anfe) {
        LOGGER.warning(anfe);
    }
}

From source file:org.apache.geode.tools.pulse.internal.data.JMXDataUpdater.java

/**
 * function used to get attribute values of Cluster System and map them to cluster vo
 * //  ww  w.  ja  v a  2s.co m
 * @param mbeanName Cluster System MBean
 */
private void updateClusterSystem(ObjectName mbeanName) throws IOException {
    try {
        if (!this.isAddedNotiListner) {
            this.mbs.addNotificationListener(mbeanName, this, null, new Object());
            this.isAddedNotiListner = true;
        }

        String[] serverCnt = (String[]) (this.mbs.invoke(mbeanName, PulseConstants.MBEAN_OPERATION_LISTSERVERS,
                null, null));
        cluster.setServerCount(serverCnt.length);

        TabularData table = (TabularData) (this.mbs.invoke(mbeanName,
                PulseConstants.MBEAN_OPERATION_VIEWREMOTECLUSTERSTATUS, null, null));

        Collection<CompositeData> rows = (Collection<CompositeData>) table.values();
        cluster.getWanInformationObject().clear();
        for (CompositeData row : rows) {
            final Object key = row.get("key");
            final Object value = row.get("value");
            cluster.getWanInformationObject().put((String) key, (Boolean) value);
        }

        AttributeList attributeList = this.mbs.getAttributes(mbeanName,
                PulseConstants.CLUSTER_MBEAN_ATTRIBUTES);

        for (int i = 0; i < attributeList.size(); i++) {

            Attribute attribute = (Attribute) attributeList.get(i);
            String name = attribute.getName();
            switch (name) {
            case PulseConstants.MBEAN_ATTRIBUTE_MEMBERCOUNT:
                cluster.setMemberCount(getIntegerAttribute(attribute.getValue(), attribute.getName()));
                break;
            case PulseConstants.MBEAN_ATTRIBUTE_NUMCLIENTS:
                cluster.setClientConnectionCount(
                        getIntegerAttribute(attribute.getValue(), attribute.getName()));
                break;
            case PulseConstants.MBEAN_ATTRIBUTE_DISTRIBUTEDSYSTEMID:
                cluster.setClusterId(getIntegerAttribute(attribute.getValue(), attribute.getName()));
                break;
            case PulseConstants.MBEAN_ATTRIBUTE_LOCATORCOUNT:
                cluster.setLocatorCount(getIntegerAttribute(attribute.getValue(), attribute.getName()));
                break;
            case PulseConstants.MBEAN_ATTRIBUTE_NUMRUNNIGFUNCTION:
                try {
                    cluster.setRunningFunctionCount(
                            getIntegerAttribute(attribute.getValue(), attribute.getName()));
                } catch (Exception e) {
                    cluster.setRunningFunctionCount(0);
                    continue;
                }
                break;
            case PulseConstants.MBEAN_ATTRIBUTE_REGISTEREDCQCOUNT:
                cluster.setRegisteredCQCount(getLongAttribute(attribute.getValue(), attribute.getName()));
                break;
            case PulseConstants.MBEAN_ATTRIBUTE_NUMSUBSCRIPTIONS:
                cluster.setSubscriptionCount(getIntegerAttribute(attribute.getValue(), attribute.getName()));
                break;
            case PulseConstants.MBEAN_ATTRIBUTE_NUMTXNCOMMITTED:
                cluster.setTxnCommittedCount(getIntegerAttribute(attribute.getValue(), attribute.getName()));
                break;
            case PulseConstants.MBEAN_ATTRIBUTE_NUMTXNROLLBACK:
                cluster.setTxnRollbackCount(getIntegerAttribute(attribute.getValue(), attribute.getName()));
                break;
            case PulseConstants.MBEAN_ATTRIBUTE_TOTALHEAPSIZE:
                cluster.setTotalHeapSize(getLongAttribute(attribute.getValue(), attribute.getName()));
                break;
            case PulseConstants.MBEAN_ATTRIBUTE_USEDHEAPSIZE:
                try {
                    cluster.setUsedHeapSize(getLongAttribute(attribute.getValue(), attribute.getName()));
                } catch (Exception e) {
                    cluster.setUsedHeapSize((long) 0);
                    continue;
                }
                cluster.getMemoryUsageTrend().add(cluster.getUsedHeapSize());
                break;
            case PulseConstants.MBEAN_ATTRIBUTE_TOTALREGIONENTRYCOUNT:
                cluster.setTotalRegionEntryCount(getLongAttribute(attribute.getValue(), attribute.getName()));
                break;
            case PulseConstants.MBEAN_ATTRIBUTE_CURRENTENTRYCOUNT:
                cluster.setCurrentQueryCount(getIntegerAttribute(attribute.getValue(), attribute.getName()));
                break;
            case PulseConstants.MBEAN_ATTRIBUTE_TOTALDISKUSAGE:
                try {
                    cluster.setTotalBytesOnDisk(getLongAttribute(attribute.getValue(), attribute.getName()));
                } catch (Exception e) {
                    cluster.setTotalBytesOnDisk((long) 0);
                    continue;
                }
                cluster.getTotalBytesOnDiskTrend().add(cluster.getTotalBytesOnDisk());
                break;
            case PulseConstants.MBEAN_ATTRIBUTE_DISKWRITESRATE:
                cluster.setDiskWritesRate(getDoubleAttribute(attribute.getValue(), attribute.getName()));
                cluster.getThroughoutWritesTrend().add(cluster.getDiskWritesRate());
                break;
            case PulseConstants.MBEAN_ATTRIBUTE_AVERAGEWRITES:
                try {
                    cluster.setWritePerSec(getDoubleAttribute(attribute.getValue(), attribute.getName()));
                } catch (Exception e) {
                    cluster.setWritePerSec(0);
                    continue;
                }
                cluster.getWritePerSecTrend().add(cluster.getWritePerSec());
                break;
            case PulseConstants.MBEAN_ATTRIBUTE_AVERAGEREADS:
                try {
                    cluster.setReadPerSec(getDoubleAttribute(attribute.getValue(), attribute.getName()));
                } catch (Exception e) {
                    cluster.setReadPerSec(0);
                    continue;
                }
                cluster.getReadPerSecTrend().add(cluster.getReadPerSec());
                break;
            case PulseConstants.MBEAN_ATTRIBUTE_QUERYREQUESTRATE:
                cluster.setQueriesPerSec(getDoubleAttribute(attribute.getValue(), attribute.getName()));
                cluster.getQueriesPerSecTrend().add(cluster.getQueriesPerSec());
                break;
            case PulseConstants.MBEAN_ATTRIBUTE_DISKREADSRATE:
                cluster.setDiskReadsRate(getDoubleAttribute(attribute.getValue(), attribute.getName()));
                cluster.getThroughoutReadsTrend().add(cluster.getDiskReadsRate());
                break;
            case PulseConstants.MBEAN_ATTRIBUTE_JVMPAUSES:
                long trendVal = determineCurrentJVMPauses(PulseConstants.JVM_PAUSES_TYPE_CLUSTER, "",
                        getLongAttribute(attribute.getValue(), attribute.getName()));
                cluster.setGarbageCollectionCount(trendVal);
                cluster.getGarbageCollectionTrend().add(cluster.getGarbageCollectionCount());
                break;
            case PulseConstants.MBEAN_ATTRIBUTE_TOTALREGIONCOUNT:
                cluster.setTotalRegionCount(getIntegerAttribute(attribute.getValue(), attribute.getName()));
                break;
            }
        }

    } catch (InstanceNotFoundException | ReflectionException | MBeanException infe) {
        logger.warn(infe);
    }
}

From source file:com.pivotal.gemfire.tools.pulse.internal.data.JMXDataUpdater.java

/**
 * function used to get attribute values of Cluster System and map them to
 * cluster vo//  w w  w .ja  v  a  2s .c  o  m
 * 
 * @param mbeanName
 *          Cluster System MBean
 * @throws IOException
 * 
 */
private void updateClusterSystem(ObjectName mbeanName) throws IOException {
    try {
        if (!this.isAddedNotiListner) {
            this.mbs.addNotificationListener(mbeanName, this, null, new Object());
            this.isAddedNotiListner = true;
        }

        if (PulseConstants.PRODUCT_NAME_GEMFIREXD.equalsIgnoreCase(PulseController.getPulseProductSupport())) {
            // Reset to zero
            cluster.setServerCount(0);
            cluster.setTotalRegionCount(0);
        } else {
            String[] serverCnt = (String[]) (this.mbs.invoke(mbeanName,
                    PulseConstants.MBEAN_OPERATION_LISTCACHESERVER, null, null));
            cluster.setServerCount(serverCnt.length);
        }

        TabularData table = (TabularData) (this.mbs.invoke(mbeanName,
                PulseConstants.MBEAN_OPERATION_VIEWREMOTECLUSTERSTATUS, null, null));

        Collection<CompositeData> rows = (Collection<CompositeData>) table.values();
        cluster.getWanInformationObject().clear();
        for (CompositeData row : rows) {
            final Object key = row.get("key");
            final Object value = row.get("value");
            cluster.getWanInformationObject().put((String) key, (Boolean) value);
        }

        AttributeList attributeList = this.mbs.getAttributes(mbeanName,
                PulseConstants.CLUSTER_MBEAN_ATTRIBUTES);

        for (int i = 0; i < attributeList.size(); i++) {

            Attribute attribute = (Attribute) attributeList.get(i);

            if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_MEMBERCOUNT)) {
                cluster.setMemberCount(getIntegerAttribute(attribute.getValue(), attribute.getName()));
            } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_NUMCLIENTS)) {
                cluster.setClientConnectionCount(
                        getIntegerAttribute(attribute.getValue(), attribute.getName()));
            } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_DISTRIBUTEDSYSTEMID)) {
                cluster.setClusterId(getIntegerAttribute(attribute.getValue(), attribute.getName()));
            } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_LOCATORCOUNT)) {
                cluster.setLocatorCount(getIntegerAttribute(attribute.getValue(), attribute.getName()));
            } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_NUMRUNNIGFUNCTION)) {
                try {
                    cluster.setRunningFunctionCount(
                            getIntegerAttribute(attribute.getValue(), attribute.getName()));
                } catch (Exception e) {
                    cluster.setRunningFunctionCount(0);
                    continue;
                }
            } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_REGISTEREDCQCOUNT)) {
                cluster.setRegisteredCQCount(getLongAttribute(attribute.getValue(), attribute.getName()));
            } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_NUMSUBSCRIPTIONS)) {
                cluster.setSubscriptionCount(getIntegerAttribute(attribute.getValue(), attribute.getName()));
            } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_NUMTXNCOMMITTED)) {
                cluster.setTxnCommittedCount(getIntegerAttribute(attribute.getValue(), attribute.getName()));
            } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_NUMTXNROLLBACK)) {
                cluster.setTxnRollbackCount(getIntegerAttribute(attribute.getValue(), attribute.getName()));
            } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_TOTALHEAPSIZE)) {
                cluster.setTotalHeapSize(getLongAttribute(attribute.getValue(), attribute.getName()));
            } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_USEDHEAPSIZE)) {
                try {
                    cluster.setUsedHeapSize(getLongAttribute(attribute.getValue(), attribute.getName()));
                } catch (Exception e) {
                    cluster.setUsedHeapSize((long) 0);
                    continue;
                }
                cluster.getMemoryUsageTrend().add(cluster.getUsedHeapSize());
            } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_TOTALREGIONENTRYCOUNT)) {
                cluster.setTotalRegionEntryCount(getLongAttribute(attribute.getValue(), attribute.getName()));
            } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_CURRENTENTRYCOUNT)) {
                cluster.setCurrentQueryCount(getIntegerAttribute(attribute.getValue(), attribute.getName()));
            } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_TOTALDISKUSAGE)) {
                try {
                    cluster.setTotalBytesOnDisk(getLongAttribute(attribute.getValue(), attribute.getName()));
                } catch (Exception e) {
                    cluster.setTotalBytesOnDisk((long) 0);
                    continue;
                }
                cluster.getTotalBytesOnDiskTrend().add(cluster.getTotalBytesOnDisk());
            } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_DISKWRITESRATE)) {
                cluster.setDiskWritesRate(getFloatAttribute(attribute.getValue(), attribute.getName()));
                cluster.getThroughoutWritesTrend().add(cluster.getDiskWritesRate());
            } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_AVERAGEWRITES)) {
                try {
                    cluster.setWritePerSec(getFloatAttribute(attribute.getValue(), attribute.getName()));
                } catch (Exception e) {
                    cluster.setWritePerSec(0);
                    continue;
                }
                cluster.getWritePerSecTrend().add(cluster.getWritePerSec());
            } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_AVERAGEREADS)) {
                try {
                    cluster.setReadPerSec(getFloatAttribute(attribute.getValue(), attribute.getName()));
                } catch (Exception e) {
                    cluster.setReadPerSec(0);
                    continue;
                }
                cluster.getReadPerSecTrend().add(cluster.getReadPerSec());

            } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_QUERYREQUESTRATE)) {
                cluster.setQueriesPerSec(getFloatAttribute(attribute.getValue(), attribute.getName()));
                cluster.getQueriesPerSecTrend().add(cluster.getQueriesPerSec());

            } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_DISKREADSRATE)) {
                cluster.setDiskReadsRate(getFloatAttribute(attribute.getValue(), attribute.getName()));
                cluster.getThroughoutReadsTrend().add(cluster.getDiskReadsRate());
            } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_JVMPAUSES)) {
                cluster.setGarbageCollectionCount(getLongAttribute(attribute.getValue(), attribute.getName()));
                cluster.getGarbageCollectionTrend().add(cluster.getGarbageCollectionCount());

            }

            // For GemFireXD or GemFire
            if (PulseConstants.PRODUCT_NAME_GEMFIREXD
                    .equalsIgnoreCase(PulseController.getPulseProductSupport())) {
                // For GemFireXD
                // Do nothing
            } else {
                // For GemFire
                if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_TOTALREGIONCOUNT)) {
                    cluster.setTotalRegionCount(getIntegerAttribute(attribute.getValue(), attribute.getName()));
                }
            }

        }

        // GEMFIREXD attributes
        if (PulseConstants.PRODUCT_NAME_GEMFIREXD.equalsIgnoreCase(PulseController.getPulseProductSupport())) {

            try { // get GemFireXD cluster mbean

                ObjectName sfMemberMbeansObjectName = new ObjectName(PulseConstants.OBJECT_NAME_SF_CLUSTER);

                Set<ObjectName> sfCluserMBeans = this.mbs.queryNames(sfMemberMbeansObjectName, null);

                for (ObjectName sfCluserMBean : sfCluserMBeans) {

                    AttributeList attrList = this.mbs.getAttributes(sfCluserMBean,
                            PulseConstants.SF_CLUSTER_MBEAN_ATTRIBUTES);

                    for (int i = 0; i < attrList.size(); i++) {

                        Attribute attribute = (Attribute) attrList.get(i);

                        if (attribute.getName()
                                .equals(PulseConstants.MBEAN_ATTRIBUTE_PROCEDURECALLSINPROGRESS)) {
                            try {
                                cluster.setRunningFunctionCount(
                                        getIntegerAttribute(attribute.getValue(), attribute.getName()));
                            } catch (Exception e) {
                                cluster.setRunningFunctionCount(0);
                                continue;
                            }
                        } else if (attribute.getName()
                                .equals(PulseConstants.MBEAN_ATTRIBUTE_NETWORKSERVERCLIENTCONNECTIONSTATS)) {
                            // set number of cluster's clients
                            CompositeData nscConnStats = (CompositeData) attribute.getValue();

                            cluster.setClientConnectionCount(getLongAttribute(
                                    nscConnStats.get(PulseConstants.COMPOSITE_DATA_KEY_CONNECTIONSOPEN),
                                    PulseConstants.COMPOSITE_DATA_KEY_CONNECTIONSOPEN));
                        }
                    }
                    break;
                }

            } catch (MalformedObjectNameException e) {
                LOGGER.warning(e);
            } catch (NullPointerException e) {
                LOGGER.warning(e);
            }

        }

    } catch (InstanceNotFoundException infe) {
        LOGGER.warning(infe);
    } catch (ReflectionException re) {
        LOGGER.warning(re);
    } catch (MBeanException anfe) {
        LOGGER.warning(anfe);
    }
}

From source file:org.apache.geode.tools.pulse.internal.data.JMXDataUpdater.java

/**
 * Add member specific region information on the region
 * /*w w  w  .j  a va2 s  . c  o  m*/
 * @param regionObjectName: used to construct the jmx objectname. For region name that has special
 *        characters in, it will have double quotes around it.
 */
private void updateRegionOnMembers(String regionObjectName, String regionFullPath, Cluster.Region region)
        throws IOException {

    try {
        List<String> memberNamesTemp = region.getMemberName();
        ArrayList<String> memberNames = new ArrayList<String>(memberNamesTemp);

        List<Cluster.RegionOnMember> regionOnMemberList = new ArrayList<Cluster.RegionOnMember>();
        List<Cluster.RegionOnMember> regionOnMemberListNew = new ArrayList<Cluster.RegionOnMember>();
        Cluster.RegionOnMember[] regionOnMemberNames = region.getRegionOnMembers();

        if ((regionOnMemberNames != null) && (regionOnMemberNames.length > 0)) {
            regionOnMemberList = new ArrayList<Cluster.RegionOnMember>(Arrays.asList(regionOnMemberNames));
        }
        logger.debug("updateRegionOnMembers : # regionOnMembers objects in region = {}",
                regionOnMemberList.size());
        for (Cluster.RegionOnMember anRom : regionOnMemberList) {

            for (String memberName : memberNames) {
                if (anRom.getMemberName().equals(memberName)) {
                    // Add regionOnMember object in new list
                    regionOnMemberListNew.add(anRom);

                    logger.debug("updateRegionOnMembers : Processing existing Member name = {}",
                            anRom.getMemberName());
                    String objectNameROM = PulseConstants.OBJECT_NAME_REGION_ON_MEMBER_REGION + regionObjectName
                            + PulseConstants.OBJECT_NAME_REGION_ON_MEMBER_MEMBER + anRom.getMemberName();
                    ObjectName regionOnMemberMBean = new ObjectName(objectNameROM);
                    logger.debug("updateRegionOnMembers : Object name = {}",
                            regionOnMemberMBean.getCanonicalName());

                    AttributeList attributeList = this.mbs.getAttributes(regionOnMemberMBean,
                            PulseConstants.REGION_ON_MEMBER_MBEAN_ATTRIBUTES);
                    for (int i = 0; i < attributeList.size(); i++) {
                        Attribute attribute = (Attribute) attributeList.get(i);
                        String name = attribute.getName();
                        switch (name) {
                        case PulseConstants.MBEAN_ATTRIBUTE_ENTRYSIZE:
                            anRom.setEntrySize(getLongAttribute(attribute.getValue(), attribute.getName()));
                            logger.debug("updateRegionOnMembers : anRom.getEntrySize() = {}",
                                    anRom.getEntrySize());
                            break;
                        case PulseConstants.MBEAN_ATTRIBUTE_ENTRYCOUNT:
                            anRom.setEntryCount(getLongAttribute(attribute.getValue(), attribute.getName()));
                            logger.debug("updateRegionOnMembers : anRom.getEntryCount() = {}",
                                    anRom.getEntryCount());
                            break;
                        case PulseConstants.MBEAN_ATTRIBUTE_PUTSRATE:
                            anRom.setPutsRate(getDoubleAttribute(attribute.getValue(), attribute.getName()));
                            logger.debug("updateRegionOnMembers : anRom.getPutsRate() = {}",
                                    anRom.getPutsRate());
                            break;
                        case PulseConstants.MBEAN_ATTRIBUTE_GETSRATE:
                            anRom.setGetsRate(getDoubleAttribute(attribute.getValue(), attribute.getName()));
                            logger.debug("updateRegionOnMembers : anRom.getGetsRate() = {}",
                                    anRom.getGetsRate());
                            break;
                        case PulseConstants.MBEAN_ATTRIBUTE_DISKREADSRATE:
                            anRom.setDiskGetsRate(
                                    getDoubleAttribute(attribute.getValue(), attribute.getName()));
                            logger.debug("updateRegionOnMembers : anRom.getDiskGetsRate() = {}",
                                    anRom.getDiskGetsRate());
                            break;
                        case PulseConstants.MBEAN_ATTRIBUTE_DISKWRITESRATE:
                            anRom.setDiskPutsRate(
                                    getDoubleAttribute(attribute.getValue(), attribute.getName()));
                            logger.debug("updateRegionOnMembers : anRom.getDiskPutsRate() = {}",
                                    anRom.getDiskPutsRate());
                            break;
                        case PulseConstants.MBEAN_ATTRIBUTE_LOCALMAXMEMORY:
                            anRom.setLocalMaxMemory(
                                    getIntegerAttribute(attribute.getValue(), attribute.getName()));
                            logger.debug("updateRegionOnMembers : anRom.getLocalMaxMemory() = {}",
                                    anRom.getLocalMaxMemory());
                            break;
                        }
                    }

                    anRom.getGetsPerSecTrend().add(anRom.getGetsRate());
                    anRom.getPutsPerSecTrend().add(anRom.getPutsRate());
                    anRom.getDiskReadsPerSecTrend().add(anRom.getDiskGetsRate());
                    anRom.getDiskWritesPerSecTrend().add(anRom.getDiskPutsRate());
                    logger.debug(
                            "updateRegionOnMembers : Existing member on region : getGetsRate() = {}, getPutsRate() = {}, getDiskGetsRate() = {}, getDiskPutsRate() = {}",
                            anRom.getGetsPerSecTrend().size(), anRom.getPutsPerSecTrend().size(),
                            anRom.getDiskReadsPerSecTrend().size(), anRom.getDiskWritesPerSecTrend().size());
                    // remove existing member names from list so only new ones will remain
                    memberNames.remove(anRom.getMemberName());

                    break;
                }
            }
        }

        logger.debug(
                "updateRegionOnMembers : Loop over remaining member names and adding new member in region. Existing count = {}",
                regionOnMemberList.size());
        logger.debug("updateRegionOnMembers : Remaining new members in this region = {}", memberNames.size());
        // loop over the remaining regions members and add new members for this region
        for (String memberName : memberNames) {
            String objectNameROM = PulseConstants.OBJECT_NAME_REGION_ON_MEMBER_REGION + regionObjectName
                    + PulseConstants.OBJECT_NAME_REGION_ON_MEMBER_MEMBER + memberName;
            ObjectName regionOnMemberMBean = new ObjectName(objectNameROM);
            Cluster.RegionOnMember regionOnMember = new Cluster.RegionOnMember();
            regionOnMember.setMemberName(memberName);
            regionOnMember.setRegionFullPath(regionFullPath);
            AttributeList attributeList = this.mbs.getAttributes(regionOnMemberMBean,
                    PulseConstants.REGION_ON_MEMBER_MBEAN_ATTRIBUTES);
            for (int i = 0; i < attributeList.size(); i++) {
                Attribute attribute = (Attribute) attributeList.get(i);
                String name = attribute.getName();
                switch (name) {
                case PulseConstants.MBEAN_ATTRIBUTE_ENTRYSIZE:
                    regionOnMember.setEntrySize(getLongAttribute(attribute.getValue(), attribute.getName()));
                    break;
                case PulseConstants.MBEAN_ATTRIBUTE_ENTRYCOUNT:
                    regionOnMember.setEntryCount(getLongAttribute(attribute.getValue(), attribute.getName()));
                    break;
                case PulseConstants.MBEAN_ATTRIBUTE_PUTSRATE:
                    regionOnMember.setPutsRate(getDoubleAttribute(attribute.getValue(), attribute.getName()));
                    break;
                case PulseConstants.MBEAN_ATTRIBUTE_GETSRATE:
                    regionOnMember.setGetsRate(getDoubleAttribute(attribute.getValue(), attribute.getName()));
                    break;
                case PulseConstants.MBEAN_ATTRIBUTE_DISKREADSRATE:
                    regionOnMember
                            .setDiskGetsRate(getDoubleAttribute(attribute.getValue(), attribute.getName()));
                    break;
                case PulseConstants.MBEAN_ATTRIBUTE_DISKWRITESRATE:
                    regionOnMember
                            .setDiskPutsRate(getDoubleAttribute(attribute.getValue(), attribute.getName()));
                    break;
                case PulseConstants.MBEAN_ATTRIBUTE_LOCALMAXMEMORY:
                    regionOnMember
                            .setLocalMaxMemory(getIntegerAttribute(attribute.getValue(), attribute.getName()));
                    break;
                }
            }

            regionOnMember.getGetsPerSecTrend().add(regionOnMember.getGetsRate());
            regionOnMember.getPutsPerSecTrend().add(regionOnMember.getPutsRate());
            regionOnMember.getDiskReadsPerSecTrend().add(regionOnMember.getDiskGetsRate());
            regionOnMember.getDiskWritesPerSecTrend().add(regionOnMember.getDiskPutsRate());

            logger.debug(
                    "updateRegionOnMembers : Adding New member on region : getGetsRate() = {}, getPutsRate() = {}, getDiskGetsRate() = {}, getDiskPutsRate() = {}",
                    regionOnMember.getGetsRate(), regionOnMember.getPutsRate(),
                    regionOnMember.getDiskGetsRate(), regionOnMember.getDiskPutsRate());
            regionOnMemberListNew.add(regionOnMember);
        }

        // set region on member
        region.setRegionOnMembers(regionOnMemberListNew);
        logger.debug("updateRegionOnMembers : Total regions on member in region after update = {}",
                region.getFullPath(), region.getRegionOnMembers().length);
    } catch (MalformedObjectNameException | InstanceNotFoundException | ReflectionException e) {
        logger.warn(e);
    }
}

From source file:org.apache.geode.tools.pulse.internal.data.JMXDataUpdater.java

/**
 * function used to iterate through all member attributes and return the updated member
 *//*from  ww w . j  a  v  a  2s.  c  o m*/
private Cluster.Member initializeMember(ObjectName mbeanName, Cluster.Member member)
        throws InstanceNotFoundException, ReflectionException, IOException {

    AttributeList attributeList = this.mbs.getAttributes(mbeanName, PulseConstants.MEMBER_MBEAN_ATTRIBUTES);

    for (int i = 0; i < attributeList.size(); i++) {

        Attribute attribute = (Attribute) attributeList.get(i);
        String name = attribute.getName();
        switch (name) {
        case PulseConstants.MBEAN_ATTRIBUTE_GEMFIREVERSION:
            if (member.getGemfireVersion() == null) {
                // Set Member's GemFire Version if not set already
                String gemfireVersion = obtainGemfireVersion(
                        getStringAttribute(attribute.getValue(), attribute.getName()));
                member.setGemfireVersion(gemfireVersion);
            }
            break;
        case PulseConstants.MBEAN_ATTRIBUTE_MANAGER:
            member.setManager(getBooleanAttribute(attribute.getValue(), attribute.getName()));
            break;
        case PulseConstants.MBEAN_ATTRIBUTE_TOTALREGIONCOUNT:
            member.setTotalRegionCount(getIntegerAttribute(attribute.getValue(), attribute.getName()));
            break;
        case PulseConstants.MBEAN_ATTRIBUTE_LOCATOR:
            member.setLocator(getBooleanAttribute(attribute.getValue(), attribute.getName()));
            break;
        case PulseConstants.MBEAN_ATTRIBUTE_TOTALDISKUSAGE:
            member.setTotalDiskUsage(getLongAttribute(attribute.getValue(), attribute.getName()));
            break;
        case PulseConstants.MBEAN_ATTRIBUTE_SERVER:
            member.setServer(getBooleanAttribute(attribute.getValue(), attribute.getName()));
            break;
        case PulseConstants.MBEAN_ATTRIBUTE_TOTALFILEDESCRIPTOROPEN:
            member.setTotalFileDescriptorOpen(getLongAttribute(attribute.getValue(), attribute.getName()));
            break;
        case PulseConstants.MBEAN_ATTRIBUTE_LOADAVERAGE:
            member.setLoadAverage(getDoubleAttribute(attribute.getValue(), attribute.getName()));
            break;
        case PulseConstants.MBEAN_ATTRIBUTE_DISKWRITESRATE:
            member.setThroughputWrites(getDoubleAttribute(attribute.getValue(), attribute.getName()));
            member.getThroughputWritesTrend().add(member.getThroughputWrites());
            break;
        case PulseConstants.MBEAN_ATTRIBUTE_DISKREADSRATE:
            member.setThroughputReads(getDoubleAttribute(attribute.getValue(), attribute.getName()));
            member.getThroughputReadsTrend().add(member.getThroughputReads());
            break;
        case PulseConstants.MBEAN_ATTRIBUTE_JVMPAUSES:
            long trendVal = determineCurrentJVMPauses(PulseConstants.JVM_PAUSES_TYPE_MEMBER, member.getName(),
                    getLongAttribute(attribute.getValue(), attribute.getName()));
            member.setGarbageCollectionCount(trendVal);
            member.getGarbageCollectionSamples().add(member.getGarbageCollectionCount());
            break;
        case PulseConstants.MBEAN_ATTRIBUTE_USEDMEMORY:
            member.setCurrentHeapSize(getLongAttribute(attribute.getValue(), attribute.getName()));
            member.getHeapUsageSamples().add(member.getCurrentHeapSize());
            break;
        case PulseConstants.MBEAN_ATTRIBUTE_MAXMEMORY:
            member.setMaxHeapSize(getLongAttribute(attribute.getValue(), attribute.getName()));
            break;
        case PulseConstants.MBEAN_ATTRIBUTE_NUMTHREADS:
            member.setNumThreads(getIntegerAttribute(attribute.getValue(), attribute.getName()));
            break;
        case PulseConstants.MBEAN_ATTRIBUTE_MEMBERUPTIME:
            member.setUptime(getLongAttribute(attribute.getValue(), attribute.getName()));
            break;
        case PulseConstants.MBEAN_ATTRIBUTE_HOST:
            member.setHost(getStringAttribute(attribute.getValue(), attribute.getName()));
            break;
        case PulseConstants.MBEAN_ATTRIBUTE_HOSTNAMEFORCLIENTS:
            member.setHostnameForClients(getStringAttribute(attribute.getValue(), attribute.getName()));
            break;
        case PulseConstants.MBEAN_ATTRIBUTE_BINDADDRESS:
            member.setBindAddress(getStringAttribute(attribute.getValue(), attribute.getName()));
            break;
        case PulseConstants.MBEAN_ATTRIBUTE_TOTALBYTESONDISK:
            member.setTotalBytesOnDisk(getLongAttribute(attribute.getValue(), attribute.getName()));
            member.getTotalBytesOnDiskSamples().add(member.getTotalBytesOnDisk());
            break;
        case PulseConstants.MBEAN_ATTRIBUTE_CPUUSAGE:
            member.setCpuUsage(getDoubleAttribute(attribute.getValue(), attribute.getName()));
            member.getCpuUsageSamples().add(member.getCpuUsage());
            break;
        case PulseConstants.MBEAN_ATTRIBUTE_HOSTCPUUSAGE:
            // Float value is expected for host cpu usage.
            // TODO Remove Float.valueOf() when float value is provided in mbean
            member.setHostCpuUsage(
                    Double.valueOf(getIntegerAttribute(attribute.getValue(), attribute.getName())));
            break;
        case PulseConstants.MBEAN_ATTRIBUTE_MEMBER:
            member.setName(getStringAttribute(attribute.getValue(), attribute.getName()));
            break;
        case PulseConstants.MBEAN_ATTRIBUTE_ID:
            member.setId(getStringAttribute(attribute.getValue(), attribute.getName()));
            break;
        case PulseConstants.MBEAN_ATTRIBUTE_AVERAGEREADS:
            member.setGetsRate(getDoubleAttribute(attribute.getValue(), attribute.getName()));
            member.getGetsPerSecond().add(member.getGetsRate());
            break;
        case PulseConstants.MBEAN_ATTRIBUTE_AVERAGEWRITES:
            member.setPutsRate(getDoubleAttribute(attribute.getValue(), attribute.getName()));
            member.getPutsPerSecond().add(member.getPutsRate());
            break;
        case PulseConstants.MBEAN_ATTRIBUTE_OFFHEAPFREESIZE:
            member.setOffHeapFreeSize(getLongAttribute(attribute.getValue(), attribute.getName()));
            break;
        case PulseConstants.MBEAN_ATTRIBUTE_OFFHEAPUSEDSIZE:
            member.setOffHeapUsedSize(getLongAttribute(attribute.getValue(), attribute.getName()));
            break;
        case PulseConstants.MBEAN_ATTRIBUTE_SERVERGROUPS:
            String sgValues[] = (String[]) attribute.getValue();
            member.getServerGroups().clear();
            for (int k = 0; k < sgValues.length; k++) {
                member.getServerGroups().add(sgValues[k]);
            }
            break;
        case PulseConstants.MBEAN_ATTRIBUTE_REDUNDANCYZONES:
            String rzValue = "";
            if (null != attribute.getValue()) {
                rzValue = getStringAttribute(attribute.getValue(), attribute.getName());
            }
            member.getRedundancyZones().clear();
            if (!rzValue.isEmpty()) {
                member.getRedundancyZones().add(rzValue);
            }
            break;
        }
    }

    return member;
}

From source file:edu.nwpu.gemfire.monitor.data.JMXDataUpdater.java

/**
 * function used to get attribute values of Gateway Receiver and map them to
 * GatewayReceiver inner class object//from  ww w .  j av a2  s . co  m
 *
 * @param mbeanName
 * @return GatewayReceiver object
 * @throws InstanceNotFoundException
 * @throws IntrospectionException
 * @throws ReflectionException
 * @throws IOException
 * @throws AttributeNotFoundException
 * @throws MBeanException
 *
 *
 */
private Cluster.GatewayReceiver initGatewayReceiver(ObjectName mbeanName) throws InstanceNotFoundException,
        IntrospectionException, ReflectionException, IOException, AttributeNotFoundException, MBeanException {

    Cluster.GatewayReceiver gatewayReceiver = new Cluster.GatewayReceiver();

    AttributeList attributeList = this.mbs.getAttributes(mbeanName, PulseConstants.GATEWAY_MBEAN_ATTRIBUTES);

    for (int i = 0; i < attributeList.size(); i++) {
        Attribute attribute = (Attribute) attributeList.get(i);

        if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_PORT)) {
            gatewayReceiver.setListeningPort(getIntegerAttribute(attribute.getValue(), attribute.getName()));
        } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_EVENTRECEIVEDDATE)) {
            gatewayReceiver.setLinkThroughput(getDoubleAttribute(attribute.getValue(), attribute.getName()));
        } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_AVEARGEBATCHPROCESSINGTIME)) {
            gatewayReceiver
                    .setAvgBatchProcessingTime(getLongAttribute(attribute.getValue(), attribute.getName()));
        } else if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_RUNNING)) {
            gatewayReceiver.setStatus(getBooleanAttribute(attribute.getValue(), attribute.getName()));
        }
    }
    return gatewayReceiver;
}

From source file:com.cyberway.issue.crawler.admin.CrawlJob.java

protected void setCrawlOrderAttribute(final String attribute_name, final ComplexType ct,
        final Attribute attribute)
        throws AttributeNotFoundException, InvalidAttributeValueException, MBeanException, ReflectionException {
    String subName = attribute_name.startsWith("/") ? attribute_name.substring(1) : attribute_name;
    int index = subName.indexOf("/");
    if (index <= 0) {
        ct.setAttribute(new Attribute(subName, attribute.getValue()));
        return;/*from w  ww .  j a  va2 s  .co  m*/
    }
    setCrawlOrderAttribute(subName.substring(index + 1),
            (ComplexType) ct.getAttribute(subName.substring(0, index)), attribute);
}