aboutsummaryrefslogtreecommitdiff
path: root/kamon-core/src/main/scala/kamon/util
diff options
context:
space:
mode:
authorIvan Topolnjak <ivantopo@gmail.com>2017-06-08 15:35:42 +0200
committerIvan Topolnjak <ivantopo@gmail.com>2017-06-08 15:35:42 +0200
commitb94ca0cbb931799ccd2ad2d245660c4d48032c83 (patch)
treed87dc8ccfc0395cdc331b2cfb69e799a3f4d0974 /kamon-core/src/main/scala/kamon/util
parent7817621ad1a62db1bd7b7b60ed823b4da169a34a (diff)
downloadKamon-b94ca0cbb931799ccd2ad2d245660c4d48032c83.tar.gz
Kamon-b94ca0cbb931799ccd2ad2d245660c4d48032c83.tar.bz2
Kamon-b94ca0cbb931799ccd2ad2d245660c4d48032c83.zip
get a basic threading model for the span reporters
Diffstat (limited to 'kamon-core/src/main/scala/kamon/util')
-rw-r--r--kamon-core/src/main/scala/kamon/util/MetricScaler.scala58
1 files changed, 0 insertions, 58 deletions
diff --git a/kamon-core/src/main/scala/kamon/util/MetricScaler.scala b/kamon-core/src/main/scala/kamon/util/MetricScaler.scala
deleted file mode 100644
index ca77a9a1..00000000
--- a/kamon-core/src/main/scala/kamon/util/MetricScaler.scala
+++ /dev/null
@@ -1,58 +0,0 @@
-package kamon.util
-
-import kamon.metric.{DynamicRange, HdrHistogram, MetricDistribution, MetricValue}
-import kamon.util.MeasurementUnit.Dimension
-
-class MetricScaler(targetTimeUnit: MeasurementUnit, targetInformationUnit: MeasurementUnit, dynamicRange: DynamicRange) {
- require(targetTimeUnit.dimension == Dimension.Time, "timeUnit must be in the time dimension.")
- require(targetInformationUnit.dimension == Dimension.Information, "informationUnit must be in the information dimension.")
-
- val scaleHistogram = new HdrHistogram("scaler", Map.empty, MeasurementUnit.none, dynamicRange)
-
- def scaleDistribution(metric: MetricDistribution): MetricDistribution = {
- metric.measurementUnit match {
- case MeasurementUnit(Dimension.Time, magnitude) if(magnitude != targetTimeUnit.magnitude) =>
- scaleMetricDistributionToTarget(metric, targetTimeUnit)
-
- case MeasurementUnit(Dimension.Information, magnitude) if(magnitude != targetTimeUnit.magnitude) =>
- scaleMetricDistributionToTarget(metric, targetInformationUnit)
-
- case _ => metric
- }
- }
-
- def scaleMetricValue(metric: MetricValue): MetricValue = {
- metric.measurementUnit match {
- case MeasurementUnit(Dimension.Time, magnitude) if(magnitude != targetTimeUnit.magnitude) =>
- scaleMetricValueToTarget(metric, targetTimeUnit)
-
- case MeasurementUnit(Dimension.Information, magnitude) if(magnitude != targetTimeUnit.magnitude) =>
- scaleMetricValueToTarget(metric, targetInformationUnit)
-
- case _ => metric
- }
- }
-
- private def scaleMetricDistributionToTarget(metric: MetricDistribution, targetUnit: MeasurementUnit): MetricDistribution = {
- metric.distribution.bucketsIterator.foreach(b => {
- val scaledValue = MeasurementUnit.scale(b.value, metric.measurementUnit, targetUnit)
- scaleHistogram.record(Math.ceil(scaledValue).toLong, b.frequency)
- })
-
- scaleHistogram.snapshot().copy(
- name = metric.name,
- tags = metric.tags,
- measurementUnit = targetUnit,
- dynamicRange = dynamicRange
- )
- }
-
- private def scaleMetricValueToTarget(metric: MetricValue, targetUnit: MeasurementUnit): MetricValue = {
- val scaledValue = MeasurementUnit.scale(metric.value, metric.measurementUnit, targetUnit)
-
- metric.copy(
- value = Math.ceil(scaledValue).toLong,
- measurementUnit = targetUnit
- )
- }
-}