diff options
author | ramverma <ram.krishna.verma@ericsson.com> | 2018-09-13 23:05:39 +0100 |
---|---|---|
committer | ramverma <ram.krishna.verma@ericsson.com> | 2018-09-13 23:21:20 +0100 |
commit | a03bfe0ac168a61a8c34329b2bfb73e360b812e1 (patch) | |
tree | 68140f4aa346b1aba5af4d7fb2d6a42f140e4d5d /plugins/reception-plugins/src/main/java/org/onap | |
parent | 31def9f82514182e6761fac5ecae70333155aabc (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/reception-plugins/src/main/java/org/onap')
-rw-r--r-- | plugins/reception-plugins/src/main/java/org/onap/policy/distribution/reception/handling/sdc/SdcReceptionHandler.java | 8 |
1 files changed, 7 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; |