diff options
Diffstat (limited to 'kamon-core/src/main/scala/kamon/metric/instrument/InstrumentSnapshot.scala')
-rw-r--r-- | kamon-core/src/main/scala/kamon/metric/instrument/InstrumentSnapshot.scala | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/kamon-core/src/main/scala/kamon/metric/instrument/InstrumentSnapshot.scala b/kamon-core/src/main/scala/kamon/metric/instrument/InstrumentSnapshot.scala new file mode 100644 index 00000000..58e10c54 --- /dev/null +++ b/kamon-core/src/main/scala/kamon/metric/instrument/InstrumentSnapshot.scala @@ -0,0 +1,44 @@ +package kamon.metric.instrument + +import kamon.util.MeasurementUnit + + +case class SingleValueSnapshot(name: String, measurementUnit: MeasurementUnit, value: Long) + +case class DistributionSnapshot(name: String, measurementUnit: MeasurementUnit, dynamicRange: DynamicRange, distribution: Distribution) + +trait DistributionSnapshotInstrument { + def snapshot(): DistributionSnapshot +} + +trait SingleValueSnapshotInstrument { + def snapshot(): SingleValueSnapshot +} + + + + +trait Distribution { + def buckets: Seq[Bucket] + def bucketsIterator: Iterator[Bucket] + + def min: Long + def max: Long + def sum: Long + def count: Long + def percentile(p: Double): Percentile + + def percentiles: Seq[Percentile] + def percentilesIterator: Iterator[Percentile] +} + +trait Bucket { + def value: Long + def frequency: Long +} + +trait Percentile { + def quantile: Double + def value: Long + def countUnderQuantile: Long +} |