diff options
author | Ram Krishna Verma <ram_krishna.verma@bell.ca> | 2022-01-12 14:04:53 -0500 |
---|---|---|
committer | Ram Krishna Verma <ram_krishna.verma@bell.ca> | 2022-01-12 14:05:02 -0500 |
commit | a3a72c1a842fa83e4b3163aa6a0a4cde2d797e3a (patch) | |
tree | 3652eb48d6f343e8e98875fbc6a363d7e1545736 | |
parent | 3d170c6e14976549cd2edc405c5c242110bff2ff (diff) |
Add distribution app metrics to prometheus
Adding the distribution application level metrics
to prometheus.
Adapted the changes so that existing test cases for
DistributionStatisticsManager are not affected and still
provides the full coverage.
Issue-ID: POLICY-3759
Change-Id: I972f107e4ac46c2769dfaeb9bcefa0731bb879ca
Signed-off-by: Ram Krishna Verma <ram_krishna.verma@bell.ca>
-rw-r--r-- | reception/pom.xml | 5 | ||||
-rw-r--r-- | reception/src/main/java/org/onap/policy/distribution/reception/statistics/DistributionStatisticsManager.java | 85 |
2 files changed, 54 insertions, 36 deletions
diff --git a/reception/pom.xml b/reception/pom.xml index c8be1dd3..4fb67fbb 100644 --- a/reception/pom.xml +++ b/reception/pom.xml @@ -1,6 +1,7 @@ <!-- ============LICENSE_START======================================================= Copyright (C) 2018 Ericsson. All rights reserved. + Modifications Copyright (C) 2022 Bell Canada. 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. @@ -50,5 +51,9 @@ <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> </dependency> + <dependency> + <groupId>io.prometheus</groupId> + <artifactId>simpleclient</artifactId> + </dependency> </dependencies> </project> diff --git a/reception/src/main/java/org/onap/policy/distribution/reception/statistics/DistributionStatisticsManager.java b/reception/src/main/java/org/onap/policy/distribution/reception/statistics/DistributionStatisticsManager.java index 3b66ee17..5a6b76a8 100644 --- a/reception/src/main/java/org/onap/policy/distribution/reception/statistics/DistributionStatisticsManager.java +++ b/reception/src/main/java/org/onap/policy/distribution/reception/statistics/DistributionStatisticsManager.java @@ -1,6 +1,7 @@ /*- * ============LICENSE_START======================================================= * Copyright (C) 2018 Ericsson. All rights reserved. + * Modifications Copyright (C) 2022 Bell Canada. 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. @@ -20,6 +21,8 @@ package org.onap.policy.distribution.reception.statistics; +import io.prometheus.client.Counter; + /** * Class to hold statistical data for distribution component. * @@ -27,12 +30,28 @@ package org.onap.policy.distribution.reception.statistics; */ public class DistributionStatisticsManager { - private static long totalDistributionCount; - private static long distributionSuccessCount; - private static long distributionFailureCount; - private static long totalDownloadCount; - private static long downloadSuccessCount; - private static long downloadFailureCount; + private static final Counter TOTAL_DISTRIBUTION_RECEIVED_COUNT = Counter.build() + .name("total_distribution_received_count") + .help("Total number of distribution received.").register(); + private static final Counter DISTRIBUTION_SUCCESS_COUNT = Counter.build() + .name("distribution_success_count") + .help("Total number of distribution successfully processed.").register(); + + private static final Counter DISTRIBUTION_FAILURE_COUNT = Counter.build() + .name("distribution_failure_count") + .help("Total number of distribution failures.").register(); + + private static final Counter TOTAL_DOWNLOAD_RECEIVED_COUNT = Counter.build() + .name("total_download_received_count") + .help("Total number of download received.").register(); + + private static final Counter DOWNLOAD_SUCCESS_COUNT = Counter.build() + .name("download_success_count") + .help("Total number of download successfully processed.").register(); + + private static final Counter DOWNLOAD_FAILURE_COUNT = Counter.build() + .name("download_failure_count") + .help("Total number of download failures.").register(); private DistributionStatisticsManager() { throw new IllegalStateException("Instantiation of the class is not allowed"); @@ -41,55 +60,49 @@ public class DistributionStatisticsManager { /** * Method to update the total distribution count. * - * @return the updated value of totalDistributionCount */ - public static long updateTotalDistributionCount() { - return ++totalDistributionCount; + public static void updateTotalDistributionCount() { + TOTAL_DISTRIBUTION_RECEIVED_COUNT.inc(); } /** * Method to update the distribution success count. * - * @return the updated value of distributionSuccessCount */ - public static long updateDistributionSuccessCount() { - return ++distributionSuccessCount; + public static void updateDistributionSuccessCount() { + DISTRIBUTION_SUCCESS_COUNT.inc(); } /** * Method to update the distribution failure count. * - * @return the updated value of distributionFailureCount */ - public static long updateDistributionFailureCount() { - return ++distributionFailureCount; + public static void updateDistributionFailureCount() { + DISTRIBUTION_FAILURE_COUNT.inc(); } /** * Method to update the total download count. * - * @return the updated value of totalDownloadCount */ - public static long updateTotalDownloadCount() { - return ++totalDownloadCount; + public static void updateTotalDownloadCount() { + TOTAL_DOWNLOAD_RECEIVED_COUNT.inc(); } /** * Method to update the download success count. * - * @return the updated value of downloadSuccessCount */ - public static long updateDownloadSuccessCount() { - return ++downloadSuccessCount; + public static void updateDownloadSuccessCount() { + DOWNLOAD_SUCCESS_COUNT.inc(); } /** * Method to update the download failure count. * - * @return the updated value of downloadFailureCount */ - public static long updateDownloadFailureCount() { - return ++downloadFailureCount; + public static void updateDownloadFailureCount() { + DOWNLOAD_FAILURE_COUNT.inc(); } /** @@ -98,7 +111,7 @@ public class DistributionStatisticsManager { * @return the totalDistributionCount */ public static long getTotalDistributionCount() { - return totalDistributionCount; + return (long) TOTAL_DISTRIBUTION_RECEIVED_COUNT.get(); } /** @@ -107,7 +120,7 @@ public class DistributionStatisticsManager { * @return the distributionSuccessCount */ public static long getDistributionSuccessCount() { - return distributionSuccessCount; + return (long) DISTRIBUTION_SUCCESS_COUNT.get(); } /** @@ -116,7 +129,7 @@ public class DistributionStatisticsManager { * @return the distributionFailureCount */ public static long getDistributionFailureCount() { - return distributionFailureCount; + return (long) DISTRIBUTION_FAILURE_COUNT.get(); } /** @@ -125,7 +138,7 @@ public class DistributionStatisticsManager { * @return the totalDownloadCount */ public static long getTotalDownloadCount() { - return totalDownloadCount; + return (long) TOTAL_DOWNLOAD_RECEIVED_COUNT.get(); } /** @@ -134,7 +147,7 @@ public class DistributionStatisticsManager { * @return the downloadSuccessCount */ public static long getDownloadSuccessCount() { - return downloadSuccessCount; + return (long) DOWNLOAD_SUCCESS_COUNT.get(); } /** @@ -143,18 +156,18 @@ public class DistributionStatisticsManager { * @return the downloadFailureCount */ public static long getDownloadFailureCount() { - return downloadFailureCount; + return (long) DOWNLOAD_FAILURE_COUNT.get(); } /** * Reset all the statistics counts to 0. */ public static void resetAllStatistics() { - totalDistributionCount = 0L; - distributionSuccessCount = 0L; - distributionFailureCount = 0L; - totalDownloadCount = 0L; - downloadSuccessCount = 0L; - downloadFailureCount = 0L; + TOTAL_DISTRIBUTION_RECEIVED_COUNT.clear(); + DISTRIBUTION_SUCCESS_COUNT.clear(); + DISTRIBUTION_FAILURE_COUNT.clear(); + TOTAL_DOWNLOAD_RECEIVED_COUNT.clear(); + DOWNLOAD_SUCCESS_COUNT.clear(); + DOWNLOAD_FAILURE_COUNT.clear(); } } |