diff options
author | 2017-09-26 14:00:57 -0400 | |
---|---|---|
committer | 2017-09-26 14:01:41 -0400 | |
commit | c593dfe4c59d37d5d4ea14e3ac31da3318029562 (patch) | |
tree | 76cc5a494f02e14b809caad9c050fbfd6cd61a51 /src/main/java/org/openecomp/sparky/analytics/AveragingRingBuffer.java | |
parent | 6777c6092050a0271c5d7de9c239cf1580d41fa8 (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.java | 119 |
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); - } - - } - -} |