mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

Jean-Noël Rouvignac
03.43.2016 09484dd10bba52e2bc2c7bc2ce742e4a8e58a8be
opendj-server-legacy/src/main/java/org/opends/server/protocols/ldap/LDAPStatistics.java
@@ -20,16 +20,13 @@
import static org.opends.server.protocols.ldap.LDAPConstants.*;
import static org.opends.server.util.ServerConstants.*;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.atomic.AtomicLong;
import org.forgerock.i18n.LocalizableMessage;
import org.forgerock.opendj.config.server.ConfigException;
import org.opends.server.admin.std.server.MonitorProviderCfg;
import org.opends.server.api.MonitorData;
import org.opends.server.api.MonitorProvider;
import org.opends.server.types.Attribute;
import org.opends.server.types.Attributes;
import org.opends.server.types.DirectoryConfig;
import org.opends.server.types.ObjectClass;
import org.opends.server.types.OperationType;
@@ -170,150 +167,86 @@
      return DirectoryConfig.getObjectClass(OC_MONITOR_CONNHANDLERSTATS, true);
  }
  /**
   * Retrieves a set of attributes containing monitor data that should
   * be returned to the client if the corresponding monitor entry is
   * requested.
   *
   * @return A set of attributes containing monitor data that should be
   *         returned to the client if the corresponding monitor entry
   *         is requested.
   */
  @Override
  public List<Attribute> getMonitorData()
  public MonitorData getMonitorData()
  {
      List<Attribute> attrs = new ArrayList<>();
      long tmpAbandonRequests = abandonRequests.get();
      long tmpAddRequests = addRequests.get();
      long tmpAddResponses = addResponses.get();
      long tmpBindRequests = bindRequests.get();
      long tmpBindResponses = bindResponses.get();
      long tmpBytesRead = bytesRead.get();
      long tmpBytesWritten = bytesWritten.get();
      long tmpCompareRequests = compareRequests.get();
      long tmpCompareResponses = compareResponses.get();
      long tmpConnectionsClosed = connectionsClosed.get();
      long tmpConnectionsEstablished = connectionsEstablished.get();
      long tmpDeleteRequests = deleteRequests.get();
      long tmpDeleteResponses = deleteResponses.get();
      long tmpExtendedRequests = extendedRequests.get();
      long tmpExtendedResponses = extendedResponses.get();
      long tmpMessagesRead = messagesRead.get();
      long tmpMessagesWritten = messagesWritten.get();
      long tmpModifyRequests = modifyRequests.get();
      long tmpModifyResponses = modifyResponses.get();
      long tmpModifyDNRequests = modifyDNRequests.get();
      long tmpModifyDNResponses = modifyDNResponses.get();
      long tmpOperationsAbandoned = operationsAbandoned.get();
      long tmpOperationsCompleted = operationsCompleted.get();
      long tmpOperationsInitiated = operationsInitiated.get();
      long tmpSearchRequests = searchRequests.get();
      long tmpSearchOneRequests = searchOneRequests.get();
      long tmpSearchSubRequests = searchSubRequests.get();
      long tmpSearchEntries = searchResultEntries.get();
      long tmpSearchReferences = searchResultReferences.get();
      long tmpSearchResultsDone = searchResultsDone.get();
      long tmpUnbindRequests = unbindRequests.get();
      long tmpAddOperationCount = addOperationCount.get();
      long tmpAddOperationTime = addOperationTime.get();
      long tmpSearchOperationCount = searchOperationCount.get();
      long tmpSearchOperationTime = searchOperationTime.get();
      long tmpDelOperationCount = delOperationCount.get();
      long tmpDelOperationTime = delOperationTime.get();
      long tmpBindOperationCount = bindOperationCount.get();
      long tmpBindOperationTime = bindOperationTime.get();
      long tmpUnbindOperationCount = unbindOperationCount.get();
      long tmpUnbindOperationTime = unbindOperationTime.get();
      long tmpCompOperationCount = compOperationCount.get();
      long tmpCompOperationTime = compOperationTime.get();
      long tmpModOperationCount = modOperationCount.get();
      long tmpModOperationTime = modOperationTime.get();
      long tmpModdnOperationCount = moddnOperationCount.get();
      long tmpModdnOperationTime = moddnOperationTime.get();
      long tmpAbandonOperationCount = abandonOperationCount.get();
      long tmpAbandonOperationTime = abandonOperationTime.get();
      long tmpExtOperationCount = extOperationCount.get();
      long tmpExtOperationTime = extOperationTime.get();
    // Construct the list of attributes to return.
    /* TODO : the attribute names should be constant (in ServerConstants.java
     *        and associated with their objectclass
     *        OC_MONITOR_CONNHANDLERSTATS
     */
    attrs.add(createAttribute("connectionsEstablished", tmpConnectionsEstablished));
    attrs.add(createAttribute("connectionsClosed", tmpConnectionsClosed));
    attrs.add(createAttribute("bytesRead", tmpBytesRead));
    attrs.add(createAttribute("bytesWritten", tmpBytesWritten));
    attrs.add(createAttribute("ldapMessagesRead", tmpMessagesRead));
    attrs.add(createAttribute("ldapMessagesWritten", tmpMessagesWritten));
    attrs.add(createAttribute("operationsAbandoned", tmpOperationsAbandoned));
    attrs.add(createAttribute("operationsInitiated", tmpOperationsInitiated));
    attrs.add(createAttribute("operationsCompleted", tmpOperationsCompleted));
    attrs.add(createAttribute("abandonRequests", tmpAbandonRequests));
    attrs.add(createAttribute("addRequests", tmpAddRequests));
    attrs.add(createAttribute("addResponses", tmpAddResponses));
    attrs.add(createAttribute("bindRequests", tmpBindRequests));
    attrs.add(createAttribute("bindResponses", tmpBindResponses));
    attrs.add(createAttribute("compareRequests", tmpCompareRequests));
    attrs.add(createAttribute("compareResponses", tmpCompareResponses));
    attrs.add(createAttribute("deleteRequests", tmpDeleteRequests));
    attrs.add(createAttribute("deleteResponses", tmpDeleteResponses));
    attrs.add(createAttribute("extendedRequests", tmpExtendedRequests));
    attrs.add(createAttribute("extendedResponses", tmpExtendedResponses));
    attrs.add(createAttribute("modifyRequests", tmpModifyRequests));
    attrs.add(createAttribute("modifyResponses", tmpModifyResponses));
    attrs.add(createAttribute("modifyDNRequests", tmpModifyDNRequests));
    attrs.add(createAttribute("modifyDNResponses", tmpModifyDNResponses));
    attrs.add(createAttribute("searchRequests", tmpSearchRequests));
    attrs.add(createAttribute("searchOneRequests", tmpSearchOneRequests));
    attrs.add(createAttribute("searchSubRequests", tmpSearchSubRequests));
    attrs.add(createAttribute("searchResultEntries", tmpSearchEntries));
    attrs.add(createAttribute("searchResultReferences", tmpSearchReferences));
    attrs.add(createAttribute("searchResultsDone", tmpSearchResultsDone));
    attrs.add(createAttribute("unbindRequests", tmpUnbindRequests));
    final MonitorData attrs = new MonitorData(31 + 10 * 2);
    attrs.add("connectionsEstablished", connectionsEstablished);
    attrs.add("connectionsClosed", connectionsClosed);
    attrs.add("bytesRead", bytesRead);
    attrs.add("bytesWritten", bytesWritten);
    attrs.add("ldapMessagesRead", messagesRead);
    attrs.add("ldapMessagesWritten", messagesWritten);
    attrs.add("operationsAbandoned", operationsAbandoned);
    attrs.add("operationsInitiated", operationsInitiated);
    attrs.add("operationsCompleted", operationsCompleted);
    attrs.add("abandonRequests", abandonRequests);
    attrs.add("addRequests", addRequests);
    attrs.add("addResponses", addResponses);
    attrs.add("bindRequests", bindRequests);
    attrs.add("bindResponses", bindResponses);
    attrs.add("compareRequests", compareRequests);
    attrs.add("compareResponses", compareResponses);
    attrs.add("deleteRequests", deleteRequests);
    attrs.add("deleteResponses", deleteResponses);
    attrs.add("extendedRequests", extendedRequests);
    attrs.add("extendedResponses", extendedResponses);
    attrs.add("modifyRequests", modifyRequests);
    attrs.add("modifyResponses", modifyResponses);
    attrs.add("modifyDNRequests", modifyDNRequests);
    attrs.add("modifyDNResponses", modifyDNResponses);
    attrs.add("searchRequests", searchRequests);
    attrs.add("searchOneRequests", searchOneRequests);
    attrs.add("searchSubRequests", searchSubRequests);
    attrs.add("searchResultEntries", searchResultEntries);
    attrs.add("searchResultReferences", searchResultReferences);
    attrs.add("searchResultsDone", searchResultsDone);
    attrs.add("unbindRequests", unbindRequests);
    // adds
    attrs.add(createAttribute("ds-mon-add-operations-total-count", tmpAddOperationCount));
    attrs.add(createAttribute("ds-mon-resident-time-add-operations-total-time", tmpAddOperationTime));
    attrs.add("ds-mon-add-operations-total-count", addOperationCount);
    attrs.add("ds-mon-resident-time-add-operations-total-time", addOperationTime);
    // search
    attrs.add(createAttribute("ds-mon-search-operations-total-count", tmpSearchOperationCount));
    attrs.add(createAttribute("ds-mon-resident-time-search-operations-total-time", tmpSearchOperationTime));
    attrs.add("ds-mon-search-operations-total-count", searchOperationCount);
    attrs.add("ds-mon-resident-time-search-operations-total-time", searchOperationTime);
    // bind
    attrs.add(createAttribute("ds-mon-bind-operations-total-count", tmpBindOperationCount));
    attrs.add(createAttribute("ds-mon-resident-time-bind-operations-total-time", tmpBindOperationTime));
    attrs.add("ds-mon-bind-operations-total-count", bindOperationCount);
    attrs.add("ds-mon-resident-time-bind-operations-total-time", bindOperationTime);
    // unbind
    attrs.add(createAttribute("ds-mon-unbind-operations-total-count", tmpUnbindOperationCount));
    attrs.add(createAttribute("ds-mon-resident-time-unbind-operations-total-time", tmpUnbindOperationTime));
    attrs.add("ds-mon-unbind-operations-total-count", unbindOperationCount);
    attrs.add("ds-mon-resident-time-unbind-operations-total-time", unbindOperationTime);
    // compare
    attrs.add(createAttribute("ds-mon-compare-operations-total-count", tmpCompOperationCount));
    attrs.add(createAttribute("ds-mon-resident-time-compare-operations-total-time", tmpCompOperationTime));
    attrs.add("ds-mon-compare-operations-total-count", compOperationCount);
    attrs.add("ds-mon-resident-time-compare-operations-total-time", compOperationTime);
    // del
    attrs.add(createAttribute("ds-mon-delete-operations-total-count", tmpDelOperationCount));
    attrs.add(createAttribute("ds-mon-resident-time-delete-operations-total-time", tmpDelOperationTime));
    attrs.add("ds-mon-delete-operations-total-count", delOperationCount);
    attrs.add("ds-mon-resident-time-delete-operations-total-time", delOperationTime);
    // mod
    attrs.add(createAttribute("ds-mon-mod-operations-total-count", tmpModOperationCount));
    attrs.add(createAttribute("ds-mon-resident-time-mod-operations-total-time", tmpModOperationTime));
    attrs.add("ds-mon-mod-operations-total-count", modOperationCount);
    attrs.add("ds-mon-resident-time-mod-operations-total-time", modOperationTime);
    // moddn
    attrs.add(createAttribute("ds-mon-moddn-operations-total-count", tmpModdnOperationCount));
    attrs.add(createAttribute("ds-mon-resident-time-moddn-operations-total-time", tmpModdnOperationTime));
    attrs.add("ds-mon-moddn-operations-total-count", moddnOperationCount);
    attrs.add("ds-mon-resident-time-moddn-operations-total-time", moddnOperationTime);
    // abandon
    attrs.add(createAttribute("ds-mon-abandon-operations-total-count", tmpAbandonOperationCount));
    attrs.add(createAttribute("ds-mon-resident-time-abandon-operations-total-time", tmpAbandonOperationTime));
    attrs.add("ds-mon-abandon-operations-total-count", abandonOperationCount);
    attrs.add("ds-mon-resident-time-abandon-operations-total-time", abandonOperationTime);
    // extended
    attrs.add(createAttribute("ds-mon-extended-operations-total-count", tmpExtOperationCount));
    attrs.add(createAttribute("ds-mon-resident-time-extended-operations-total-time", tmpExtOperationTime));
    attrs.add("ds-mon-extended-operations-total-count", extOperationCount);
    attrs.add("ds-mon-resident-time-extended-operations-total-time", extOperationTime);
    return attrs;
  }
@@ -568,25 +501,6 @@
      operationsAbandoned.getAndIncrement();
  }
  /**
   * Constructs an attribute using the provided information. It will
   * use the server's schema definitions.
   *
   * @param name
   *          The name to use for the attribute.
   * @param value
   *          The value to use for the attribute.
   * @return the constructed attribute.
   */
  protected Attribute createAttribute(String name, Object value)
  {
    return Attributes.create(name, String.valueOf(value));
  }
  /**
   * Retrieves the number of client connections that have been
   * established.