From 09484dd10bba52e2bc2c7bc2ce742e4a8e58a8be Mon Sep 17 00:00:00 2001
From: Jean-Noël Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Thu, 10 Mar 2016 08:40:41 +0000
Subject: [PATCH] Added MonitorData class to simplify writing monitored objects
---
opendj-server-legacy/src/main/java/org/opends/server/protocols/ldap/LDAPStatistics.java | 194 +++++++++++++-----------------------------------
1 files changed, 54 insertions(+), 140 deletions(-)
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/protocols/ldap/LDAPStatistics.java b/opendj-server-legacy/src/main/java/org/opends/server/protocols/ldap/LDAPStatistics.java
index 5cdfb67..1325fa0 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/protocols/ldap/LDAPStatistics.java
+++ b/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.
--
Gitblit v1.10.0