diff options
author | Ivan Topolnak <itopolnak@despegar.com> | 2014-05-21 18:17:30 -0300 |
---|---|---|
committer | Ivan Topolnak <itopolnak@despegar.com> | 2014-05-21 18:17:30 -0300 |
commit | 5596e6061115307dcbf5b34c4181b201c103fc72 (patch) | |
tree | a3dd046970e836109c0dca584e120609bf78992b /kamon-core/src/main/scala/kamon/metrics/instruments/counter/MinMaxCounter.scala | |
parent | e9360c1e67b653614b7c65866f98c0db620a6f63 (diff) | |
download | Kamon-5596e6061115307dcbf5b34c4181b201c103fc72.tar.gz Kamon-5596e6061115307dcbf5b34c4181b201c103fc72.tar.bz2 Kamon-5596e6061115307dcbf5b34c4181b201c103fc72.zip |
= core: avoid using tuples in favor of case classes
Diffstat (limited to 'kamon-core/src/main/scala/kamon/metrics/instruments/counter/MinMaxCounter.scala')
-rw-r--r-- | kamon-core/src/main/scala/kamon/metrics/instruments/counter/MinMaxCounter.scala | 51 |
1 files changed, 0 insertions, 51 deletions
diff --git a/kamon-core/src/main/scala/kamon/metrics/instruments/counter/MinMaxCounter.scala b/kamon-core/src/main/scala/kamon/metrics/instruments/counter/MinMaxCounter.scala deleted file mode 100644 index 6c89a4d1..00000000 --- a/kamon-core/src/main/scala/kamon/metrics/instruments/counter/MinMaxCounter.scala +++ /dev/null @@ -1,51 +0,0 @@ -package kamon.metrics.instruments.counter -/* - * ========================================================================================= - * Copyright © 2013-2014 the kamon project <http://kamon.io/> - * - * 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. - * ========================================================================================= - */ - -import java.lang.Math._ -import jsr166e.LongMaxUpdater -import kamon.util.PaddedAtomicLong - -class MinMaxCounter { - private val min = new LongMaxUpdater - private val max = new LongMaxUpdater - private val sum = new PaddedAtomicLong - - min.update(0L) - max.update(0L) - - def increment(value: Long = 1L): Unit = { - val currentValue = sum.addAndGet(value) - max.update(currentValue) - } - - def decrement(value: Long = 1L): Unit = { - val currentValue = sum.addAndGet(-value) - min.update(-currentValue) - } - - def collect(): (Long, Long, Long) = { - val currentValue = sum.get() - val result = (abs(min.maxThenReset()), max.maxThenReset(), currentValue) - max.update(currentValue) - min.update(-currentValue) - result - } -} - -object MinMaxCounter { - def apply() = new MinMaxCounter() -} |