summaryrefslogtreecommitdiffstats
path: root/plugins
diff options
context:
space:
mode:
authorramverma <ram.krishna.verma@ericsson.com>2018-09-13 23:05:39 +0100
committerramverma <ram.krishna.verma@ericsson.com>2018-09-13 23:21:20 +0100
commita03bfe0ac168a61a8c34329b2bfb73e360b812e1 (patch)
tree68140f4aa346b1aba5af4d7fb2d6a42f140e4d5d /plugins
parent31def9f82514182e6761fac5ecae70333155aabc (diff)
Adding statistics endpoint to distribution
* Adding statistics endpoint in DistributionRestController * Adding DistributionStatisticsManager to hold all stats. * Adding StatisticsReport class to represent distribution stats report. * Updating stats at each step in SdcReceptionHandler. * Adding test cases for all code changes. Change-Id: I0b0f97aecc64b18314367fdff6d3ca7bee06efc7 Issue-ID: POLICY-1035 Signed-off-by: ramverma <ram.krishna.verma@ericsson.com>
Diffstat (limited to 'plugins')
-rw-r--r--plugins/reception-plugins/src/main/java/org/onap/policy/distribution/reception/handling/sdc/SdcReceptionHandler.java8
-rw-r--r--plugins/reception-plugins/src/test/java/org/onap/policy/distribution/reception/handling/sdc/TestSdcReceptionHandler.java14
2 files changed, 21 insertions, 1 deletions
diff --git a/plugins/reception-plugins/src/main/java/org/onap/policy/distribution/reception/handling/sdc/SdcReceptionHandler.java b/plugins/reception-plugins/src/main/java/org/onap/policy/distribution/reception/handling/sdc/SdcReceptionHandler.java
index 14b0f1ec..443235b7 100644
--- a/plugins/reception-plugins/src/main/java/org/onap/policy/distribution/reception/handling/sdc/SdcReceptionHandler.java
+++ b/plugins/reception-plugins/src/main/java/org/onap/policy/distribution/reception/handling/sdc/SdcReceptionHandler.java
@@ -35,6 +35,7 @@ import org.onap.policy.distribution.reception.decoding.PluginTerminationExceptio
import org.onap.policy.distribution.reception.decoding.PolicyDecodingException;
import org.onap.policy.distribution.reception.handling.AbstractReceptionHandler;
import org.onap.policy.distribution.reception.handling.sdc.exceptions.ArtifactDownloadException;
+import org.onap.policy.distribution.reception.statistics.DistributionStatisticsManager;
import org.onap.sdc.api.IDistributionClient;
import org.onap.sdc.api.consumer.IComponentDoneStatusMessage;
import org.onap.sdc.api.consumer.IDistributionStatusMessage;
@@ -180,7 +181,7 @@ public class SdcReceptionHandler extends AbstractReceptionHandler implements INo
*/
public void processCsarServiceArtifacts(final INotificationData notificationData) {
boolean artifactsProcessedSuccessfully = true;
-
+ DistributionStatisticsManager.updateTotalDistributionCount();
for (final IArtifactInfo artifact : notificationData.getServiceArtifacts()) {
try {
final IDistributionClientDownloadResult resultArtifact =
@@ -200,9 +201,11 @@ public class SdcReceptionHandler extends AbstractReceptionHandler implements INo
}
}
if (artifactsProcessedSuccessfully) {
+ DistributionStatisticsManager.updateDistributionSuccessCount();
sendComponentDoneStatus(notificationData.getDistributionID(), DistributionStatusEnum.COMPONENT_DONE_OK,
null);
} else {
+ DistributionStatisticsManager.updateDistributionFailureCount();
sendComponentDoneStatus(notificationData.getDistributionID(), DistributionStatusEnum.COMPONENT_DONE_ERROR,
"Failed to process the artifact");
}
@@ -218,8 +221,10 @@ public class SdcReceptionHandler extends AbstractReceptionHandler implements INo
private IDistributionClientDownloadResult downloadTheArtifact(final IArtifactInfo artifact,
final INotificationData notificationData) throws ArtifactDownloadException {
+ DistributionStatisticsManager.updateTotalDownloadCount();
final IDistributionClientDownloadResult downloadResult = distributionClient.download(artifact);
if (!downloadResult.getDistributionActionResult().equals(DistributionActionResultEnum.SUCCESS)) {
+ DistributionStatisticsManager.updateDownloadFailureCount();
final String message = "Failed to download artifact with name: " + artifact.getArtifactName() + " due to: "
+ downloadResult.getDistributionMessageResult();
LOGGER.error(message);
@@ -227,6 +232,7 @@ public class SdcReceptionHandler extends AbstractReceptionHandler implements INo
notificationData.getDistributionID(), DistributionStatusEnum.DOWNLOAD_ERROR, message);
throw new ArtifactDownloadException(message);
}
+ DistributionStatisticsManager.updateDownloadSuccessCount();
sendDistributionStatus(DistributionStatusType.DOWNLOAD, artifact.getArtifactURL(),
notificationData.getDistributionID(), DistributionStatusEnum.DOWNLOAD_OK, null);
return downloadResult;
diff --git a/plugins/reception-plugins/src/test/java/org/onap/policy/distribution/reception/handling/sdc/TestSdcReceptionHandler.java b/plugins/reception-plugins/src/test/java/org/onap/policy/distribution/reception/handling/sdc/TestSdcReceptionHandler.java
index c4020a41..a8d15cb7 100644
--- a/plugins/reception-plugins/src/test/java/org/onap/policy/distribution/reception/handling/sdc/TestSdcReceptionHandler.java
+++ b/plugins/reception-plugins/src/test/java/org/onap/policy/distribution/reception/handling/sdc/TestSdcReceptionHandler.java
@@ -57,6 +57,7 @@ import org.onap.policy.distribution.reception.handling.AbstractReceptionHandler;
import org.onap.policy.distribution.reception.handling.PluginHandler;
import org.onap.policy.distribution.reception.parameters.PluginHandlerParameters;
import org.onap.policy.distribution.reception.parameters.PolicyDecoderParameters;
+import org.onap.policy.distribution.reception.statistics.DistributionStatisticsManager;
import org.onap.sdc.api.notification.IArtifactInfo;
import org.onap.sdc.api.notification.INotificationData;
import org.onap.sdc.api.results.IDistributionClientDownloadResult;
@@ -99,6 +100,7 @@ public class TestSdcReceptionHandler {
*/
@Before
public final void init() throws IOException {
+ DistributionStatisticsManager.resetAllStatistics();
final Gson gson = new GsonBuilder().create();
pssdConfigParameters = gson.fromJson(new FileReader("src/test/resources/handling-sdc.json"),
SdcReceptionHandlerConfigurationParameterGroup.class);
@@ -237,6 +239,12 @@ public class TestSdcReceptionHandler {
assertTrue(policyDecoder.getDecodedPolicy().getPolicyName().contains(DUMMY_SERVICE_CSAR));
assertEquals(1, policyForwarder.getNumberOfPoliciesReceived());
assertTrue(policyForwarder.receivedPolicyWithGivenType(DummyDecoder.DUMMY_POLICY));
+ assertEquals(1, DistributionStatisticsManager.getTotalDistributionCount());
+ assertEquals(1, DistributionStatisticsManager.getDistributionSuccessCount());
+ assertEquals(0, DistributionStatisticsManager.getDistributionFailureCount());
+ assertEquals(1, DistributionStatisticsManager.getTotalDownloadCount());
+ assertEquals(1, DistributionStatisticsManager.getDownloadSuccessCount());
+ assertEquals(0, DistributionStatisticsManager.getDownloadFailureCount());
}
@Test
@@ -260,6 +268,12 @@ public class TestSdcReceptionHandler {
assertEquals(null, policyDecoder.getDecodedPolicy());
assertEquals(0, policyForwarder.getNumberOfPoliciesReceived());
+ assertEquals(1, DistributionStatisticsManager.getTotalDistributionCount());
+ assertEquals(0, DistributionStatisticsManager.getDistributionSuccessCount());
+ assertEquals(1, DistributionStatisticsManager.getDistributionFailureCount());
+ assertEquals(1, DistributionStatisticsManager.getTotalDownloadCount());
+ assertEquals(0, DistributionStatisticsManager.getDownloadSuccessCount());
+ assertEquals(1, DistributionStatisticsManager.getDownloadFailureCount());
}
@Test