aboutsummaryrefslogtreecommitdiffstats
path: root/controlloop/common/feature-controlloop-trans
diff options
context:
space:
mode:
Diffstat (limited to 'controlloop/common/feature-controlloop-trans')
-rw-r--r--controlloop/common/feature-controlloop-trans/src/main/java/org/onap/policy/drools/apps/controlloop/feature/trans/ControlLoopMetrics.java5
-rw-r--r--controlloop/common/feature-controlloop-trans/src/main/java/org/onap/policy/drools/apps/controlloop/feature/trans/ControlLoopMetricsFeature.java2
-rw-r--r--controlloop/common/feature-controlloop-trans/src/main/java/org/onap/policy/drools/apps/controlloop/feature/trans/ControlLoopMetricsManager.java39
-rw-r--r--controlloop/common/feature-controlloop-trans/src/test/java/org/onap/policy/drools/apps/controlloop/feature/trans/ControlLoopMetricsFeatureTest.java82
4 files changed, 84 insertions, 44 deletions
diff --git a/controlloop/common/feature-controlloop-trans/src/main/java/org/onap/policy/drools/apps/controlloop/feature/trans/ControlLoopMetrics.java b/controlloop/common/feature-controlloop-trans/src/main/java/org/onap/policy/drools/apps/controlloop/feature/trans/ControlLoopMetrics.java
index a7c8f11df..3cc02446a 100644
--- a/controlloop/common/feature-controlloop-trans/src/main/java/org/onap/policy/drools/apps/controlloop/feature/trans/ControlLoopMetrics.java
+++ b/controlloop/common/feature-controlloop-trans/src/main/java/org/onap/policy/drools/apps/controlloop/feature/trans/ControlLoopMetrics.java
@@ -31,11 +31,6 @@ import org.onap.policy.drools.system.PolicyController;
public interface ControlLoopMetrics {
/**
- * Singleton manager object.
- */
- ControlLoopMetrics manager = new CacheBasedControlLoopMetricsManager();
-
- /**
* Gets all transaction identifiers being monitored.
*
* @return transaction id list
diff --git a/controlloop/common/feature-controlloop-trans/src/main/java/org/onap/policy/drools/apps/controlloop/feature/trans/ControlLoopMetricsFeature.java b/controlloop/common/feature-controlloop-trans/src/main/java/org/onap/policy/drools/apps/controlloop/feature/trans/ControlLoopMetricsFeature.java
index b4057dfae..26627eb1c 100644
--- a/controlloop/common/feature-controlloop-trans/src/main/java/org/onap/policy/drools/apps/controlloop/feature/trans/ControlLoopMetricsFeature.java
+++ b/controlloop/common/feature-controlloop-trans/src/main/java/org/onap/policy/drools/apps/controlloop/feature/trans/ControlLoopMetricsFeature.java
@@ -70,7 +70,7 @@ public class ControlLoopMetricsFeature implements PolicyControllerFeatureApi {
@Override
public boolean beforeDeliver(PolicyController controller, CommInfrastructure protocol, String topic, Object event) {
if (event instanceof VirtualControlLoopNotification) {
- ControlLoopMetrics.manager.transactionEvent(controller, (VirtualControlLoopNotification) event);
+ ControlLoopMetricsManager.getManager().transactionEvent(controller, (VirtualControlLoopNotification) event);
}
/* do not take ownership */
diff --git a/controlloop/common/feature-controlloop-trans/src/main/java/org/onap/policy/drools/apps/controlloop/feature/trans/ControlLoopMetricsManager.java b/controlloop/common/feature-controlloop-trans/src/main/java/org/onap/policy/drools/apps/controlloop/feature/trans/ControlLoopMetricsManager.java
new file mode 100644
index 000000000..c4ae11bdf
--- /dev/null
+++ b/controlloop/common/feature-controlloop-trans/src/main/java/org/onap/policy/drools/apps/controlloop/feature/trans/ControlLoopMetricsManager.java
@@ -0,0 +1,39 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP
+ * ================================================================================
+ * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.drools.apps.controlloop.feature.trans;
+
+import lombok.Getter;
+
+/**
+ * Control Loop Metrics Tracker.
+ */
+public class ControlLoopMetricsManager {
+
+ /**
+ * Singleton manager object.
+ */
+ @Getter
+ private static final ControlLoopMetrics manager = new CacheBasedControlLoopMetricsManager();
+
+ private ControlLoopMetricsManager() {
+ // do nothing
+ }
+}
diff --git a/controlloop/common/feature-controlloop-trans/src/test/java/org/onap/policy/drools/apps/controlloop/feature/trans/ControlLoopMetricsFeatureTest.java b/controlloop/common/feature-controlloop-trans/src/test/java/org/onap/policy/drools/apps/controlloop/feature/trans/ControlLoopMetricsFeatureTest.java
index abc5db8e6..bbbcc132f 100644
--- a/controlloop/common/feature-controlloop-trans/src/test/java/org/onap/policy/drools/apps/controlloop/feature/trans/ControlLoopMetricsFeatureTest.java
+++ b/controlloop/common/feature-controlloop-trans/src/test/java/org/onap/policy/drools/apps/controlloop/feature/trans/ControlLoopMetricsFeatureTest.java
@@ -66,9 +66,9 @@ public class ControlLoopMetricsFeatureTest {
@Test
public void cacheDefaults() {
- assertEquals(3, ControlLoopMetrics.manager.getCacheSize());
- assertEquals(2, ControlLoopMetrics.manager.getTransactionTimeout());
- assertEquals(0, ControlLoopMetrics.manager.getCacheOccupancy());
+ assertEquals(3, ControlLoopMetricsManager.getManager().getCacheSize());
+ assertEquals(2, ControlLoopMetricsManager.getManager().getTransactionTimeout());
+ assertEquals(0, ControlLoopMetricsManager.getManager().getCacheOccupancy());
}
@Test
@@ -82,7 +82,7 @@ public class ControlLoopMetricsFeatureTest {
notification.setRequestId(requestId);
feature.beforeDeliver(testController, CommInfrastructure.DMAAP, POLICY_CL_MGT, notification);
- assertNull(ControlLoopMetrics.manager.getTransaction(requestId));
+ assertNull(ControlLoopMetricsManager.getManager().getTransaction(requestId));
this.cacheDefaults();
}
@@ -95,14 +95,15 @@ public class ControlLoopMetricsFeatureTest {
notification.setNotification(ControlLoopNotificationType.ACTIVE);
feature.beforeDeliver(testController, CommInfrastructure.DMAAP, POLICY_CL_MGT, notification);
- assertNotNull(ControlLoopMetrics.manager.getTransaction(requestId));
- assertTrue(ControlLoopMetrics.manager.getTransaction(requestId).getFrom().contains(testController.getName()));
- assertNotNull(ControlLoopMetrics.manager.getTransaction(requestId).getNotificationTime());
- assertTrue(ControlLoopMetrics.manager.getCacheOccupancy() == 1);
+ assertNotNull(ControlLoopMetricsManager.getManager().getTransaction(requestId));
+ assertTrue(ControlLoopMetricsManager.getManager().getTransaction(requestId).getFrom()
+ .contains(testController.getName()));
+ assertNotNull(ControlLoopMetricsManager.getManager().getTransaction(requestId).getNotificationTime());
+ assertTrue(ControlLoopMetricsManager.getManager().getCacheOccupancy() == 1);
/* wait for the entries to expire */
- await().atMost(ControlLoopMetrics.manager.getTransactionTimeout() + 1, TimeUnit.SECONDS)
- .until(() -> ControlLoopMetrics.manager.getTransaction(requestId) == null);
+ await().atMost(ControlLoopMetricsManager.getManager().getTransactionTimeout() + 1, TimeUnit.SECONDS)
+ .until(() -> ControlLoopMetricsManager.getManager().getTransaction(requestId) == null);
this.cacheDefaults();
}
@@ -113,56 +114,61 @@ public class ControlLoopMetricsFeatureTest {
new ControlLoopMetricsFeature().beforeDeliver(testController, CommInfrastructure.DMAAP, POLICY_CL_MGT,
notification);
- assertNotNull(ControlLoopMetrics.manager.getTransaction(notification.getRequestId()));
+ assertNotNull(ControlLoopMetricsManager.getManager().getTransaction(notification.getRequestId()));
- ControlLoopMetrics.manager.resetCache(ControlLoopMetrics.manager.getCacheSize(),
- ControlLoopMetrics.manager.getTransactionTimeout());
- assertNull(ControlLoopMetrics.manager.getTransaction(notification.getRequestId()));
+ ControlLoopMetricsManager.getManager().resetCache(ControlLoopMetricsManager.getManager().getCacheSize(),
+ ControlLoopMetricsManager.getManager().getTransactionTimeout());
+ assertNull(ControlLoopMetricsManager.getManager().getTransaction(notification.getRequestId()));
this.cacheDefaults();
}
@Test
public void removeTransaction() {
VirtualControlLoopNotification notification = this.generateNotification();
- assertNull(ControlLoopMetrics.manager.getTransaction(notification.getRequestId()));
- ControlLoopMetrics.manager.removeTransaction(notification.getRequestId());
+ assertNull(ControlLoopMetricsManager.getManager().getTransaction(notification.getRequestId()));
+ ControlLoopMetricsManager.getManager().removeTransaction(notification.getRequestId());
- ControlLoopMetrics.manager.transactionEvent(testController, notification);
- assertNotNull(ControlLoopMetrics.manager.getTransaction(notification.getRequestId()));
- ControlLoopMetrics.manager.removeTransaction(notification.getRequestId());
- assertNull(ControlLoopMetrics.manager.getTransaction(notification.getRequestId()));
+ ControlLoopMetricsManager.getManager().transactionEvent(testController, notification);
+ assertNotNull(ControlLoopMetricsManager.getManager().getTransaction(notification.getRequestId()));
+ ControlLoopMetricsManager.getManager().removeTransaction(notification.getRequestId());
+ assertNull(ControlLoopMetricsManager.getManager().getTransaction(notification.getRequestId()));
}
@Test
public void eviction() throws InterruptedException {
ControlLoopMetricsFeature feature = new ControlLoopMetricsFeature();
- for (int i = 0; i < ControlLoopMetrics.manager.getCacheSize(); i++) {
+ for (int i = 0; i < ControlLoopMetricsManager.getManager().getCacheSize(); i++) {
VirtualControlLoopNotification notification = generateNotification();
feature.beforeDeliver(testController, CommInfrastructure.DMAAP, POLICY_CL_MGT, notification);
- assertNotNull(ControlLoopMetrics.manager.getTransaction(notification.getRequestId()));
+ assertNotNull(ControlLoopMetricsManager.getManager().getTransaction(notification.getRequestId()));
}
- assertEquals(ControlLoopMetrics.manager.getCacheOccupancy(), ControlLoopMetrics.manager.getCacheOccupancy());
+ assertEquals(ControlLoopMetricsManager.getManager().getCacheOccupancy(),
+ ControlLoopMetricsManager.getManager().getCacheOccupancy());
VirtualControlLoopNotification overflowNotification = generateNotification();
feature.beforeDeliver(testController, CommInfrastructure.DMAAP, POLICY_CL_MGT, overflowNotification);
- assertEquals(ControlLoopMetrics.manager.getCacheOccupancy(), ControlLoopMetrics.manager.getCacheOccupancy());
- assertNotNull(ControlLoopMetrics.manager.getTransaction(overflowNotification.getRequestId()));
- assertTrue(ControlLoopMetrics.manager.getTransactionIds().size() == ControlLoopMetrics.manager.getCacheSize());
- assertTrue(ControlLoopMetrics.manager.getCacheOccupancy() == ControlLoopMetrics.manager.getCacheSize());
- assertFalse(ControlLoopMetrics.manager.getTransactionIds().isEmpty());
- assertFalse(ControlLoopMetrics.manager.getTransactions().isEmpty());
+ assertEquals(ControlLoopMetricsManager.getManager().getCacheOccupancy(),
+ ControlLoopMetricsManager.getManager().getCacheOccupancy());
+ assertNotNull(ControlLoopMetricsManager.getManager().getTransaction(overflowNotification.getRequestId()));
+ assertTrue(ControlLoopMetricsManager.getManager().getTransactionIds().size() == ControlLoopMetricsManager
+ .getManager().getCacheSize());
+ assertTrue(ControlLoopMetricsManager.getManager().getCacheOccupancy() == ControlLoopMetricsManager.getManager()
+ .getCacheSize());
+ assertFalse(ControlLoopMetricsManager.getManager().getTransactionIds().isEmpty());
+ assertFalse(ControlLoopMetricsManager.getManager().getTransactions().isEmpty());
/* wait for the entries to expire */
- await().atMost(ControlLoopMetrics.manager.getTransactionTimeout() + 1, TimeUnit.SECONDS)
- .until(() -> ControlLoopMetrics.manager.getTransactions().isEmpty());
-
- ControlLoopMetrics.manager.refresh();
- assertTrue(ControlLoopMetrics.manager.getTransactionIds().size() == ControlLoopMetrics.manager
- .getCacheOccupancy());
- assertFalse(ControlLoopMetrics.manager.getCacheOccupancy() == ControlLoopMetrics.manager.getCacheSize());
- assertTrue(ControlLoopMetrics.manager.getTransactionIds().isEmpty());
- assertTrue(ControlLoopMetrics.manager.getTransactions().isEmpty());
+ await().atMost(ControlLoopMetricsManager.getManager().getTransactionTimeout() + 1, TimeUnit.SECONDS)
+ .until(() -> ControlLoopMetricsManager.getManager().getTransactions().isEmpty());
+
+ ControlLoopMetricsManager.getManager().refresh();
+ assertTrue(ControlLoopMetricsManager.getManager().getTransactionIds().size() == ControlLoopMetricsManager
+ .getManager().getCacheOccupancy());
+ assertFalse(ControlLoopMetricsManager.getManager().getCacheOccupancy() == ControlLoopMetricsManager.getManager()
+ .getCacheSize());
+ assertTrue(ControlLoopMetricsManager.getManager().getTransactionIds().isEmpty());
+ assertTrue(ControlLoopMetricsManager.getManager().getTransactions().isEmpty());
this.cacheDefaults();
}