diff options
author | Ivan Topolnjak <ivantopo@gmail.com> | 2017-06-08 15:35:42 +0200 |
---|---|---|
committer | Ivan Topolnjak <ivantopo@gmail.com> | 2017-06-08 15:35:42 +0200 |
commit | b94ca0cbb931799ccd2ad2d245660c4d48032c83 (patch) | |
tree | d87dc8ccfc0395cdc331b2cfb69e799a3f4d0974 /kamon-core/src/main/scala/kamon/util | |
parent | 7817621ad1a62db1bd7b7b60ed823b4da169a34a (diff) | |
download | Kamon-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.scala | 58 |
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 - ) - } -} |