summaryrefslogtreecommitdiffstats
path: root/src/main/java/org/openecomp/sparky/analytics/AveragingRingBuffer.java
diff options
context:
space:
mode:
authorArul.Nambi <arul.nambi@amdocs.com>2017-09-26 14:00:57 -0400
committerArul.Nambi <arul.nambi@amdocs.com>2017-09-26 14:01:41 -0400
commitc593dfe4c59d37d5d4ea14e3ac31da3318029562 (patch)
tree76cc5a494f02e14b809caad9c050fbfd6cd61a51 /src/main/java/org/openecomp/sparky/analytics/AveragingRingBuffer.java
parent6777c6092050a0271c5d7de9c239cf1580d41fa8 (diff)
Renaming openecomp to onap
Issue-ID: AAI-208 Change-Id: I2bd02287bed376111156aca0100e2b7b74e368e3 Signed-off-by: Arul.Nambi <arul.nambi@amdocs.com>
Diffstat (limited to 'src/main/java/org/openecomp/sparky/analytics/AveragingRingBuffer.java')
-rw-r--r--src/main/java/org/openecomp/sparky/analytics/AveragingRingBuffer.java119
1 files changed, 0 insertions, 119 deletions
diff --git a/src/main/java/org/openecomp/sparky/analytics/AveragingRingBuffer.java b/src/main/java/org/openecomp/sparky/analytics/AveragingRingBuffer.java
deleted file mode 100644
index cda6f0b..0000000
--- a/src/main/java/org/openecomp/sparky/analytics/AveragingRingBuffer.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/**
- * ============LICENSE_START=======================================================
- * org.onap.aai
- * ================================================================================
- * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
- * Copyright © 2017 Amdocs
- * ================================================================================
- * 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=========================================================
- *
- * ECOMP is a trademark and service mark of AT&T Intellectual Property.
- */
-package org.openecomp.sparky.analytics;
-
-import java.util.concurrent.atomic.AtomicInteger;
-
-/**
- * TODO: Fill in description.
- *
- * @author davea
- */
-public class AveragingRingBuffer {
-
- private int numElements;
-
- private long[] data;
-
- private AtomicInteger index;
-
- private long average;
-
- private boolean initialAverageCalculated;
-
- /**
- * Instantiates a new averaging ring buffer.
- *
- * @param size the size
- */
- public AveragingRingBuffer(int size) {
-
- if (size == 0) {
- throw new IllegalArgumentException("Size must be greater than zero");
- }
-
- this.initialAverageCalculated = false;
- this.numElements = size;
- this.data = new long[this.numElements];
- this.index = new AtomicInteger(-1);
- }
-
- /**
- * Calculate average.
- *
- * @param maxArrayIndex the max array index
- */
- private void calculateAverage(int maxArrayIndex) {
-
- long sum = 0;
-
- for (int i = 0; i <= maxArrayIndex; i++) {
- sum += data[i];
- }
-
- average = (sum / (maxArrayIndex + 1));
-
- }
-
- public long getAvg() {
-
- if (!initialAverageCalculated) {
- /*
- * until the index rolls once we will calculate the average from the data that has been added
- * to the array, not including the zero elements
- */
- if (index.get() < 0) {
- calculateAverage(0);
- } else {
- calculateAverage(index.get());
- }
-
- }
-
- return average;
- }
-
- /**
- * Adds the sample.
- *
- * @param value the value
- */
- public synchronized void addSample(long value) {
-
- index.incrementAndGet();
-
- data[index.get()] = value;
-
- if (index.get() == (numElements - 1)) {
- calculateAverage(numElements - 1);
-
- if (!initialAverageCalculated) {
- initialAverageCalculated = true;
- }
-
- index.set(-1);
- }
-
- }
-
-}