private void updateClusterStatement(ObjectName mbeanName) throws IOException {

    try {

      AttributeList attributeList =
          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 (Object o : attributeList) {
        Attribute attribute = (Attribute) o;
        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);
    }
  }
function used to get attribute values of Cluster Region and map them to cluster region vo

@param mbeanName Cluster Region MBean
geode-pulse/src/main/java/org/apache/geode/tools/pulse/internal/data/JMXDataUpdater.java