aboutsummaryrefslogtreecommitdiff
path: root/kamon-core/src/main/scala/kamon/metrics/Metrics.scala
diff options
context:
space:
mode:
Diffstat (limited to 'kamon-core/src/main/scala/kamon/metrics/Metrics.scala')
-rw-r--r--kamon-core/src/main/scala/kamon/metrics/Metrics.scala11
1 files changed, 9 insertions, 2 deletions
diff --git a/kamon-core/src/main/scala/kamon/metrics/Metrics.scala b/kamon-core/src/main/scala/kamon/metrics/Metrics.scala
index 81475d52..f7ee833b 100644
--- a/kamon-core/src/main/scala/kamon/metrics/Metrics.scala
+++ b/kamon-core/src/main/scala/kamon/metrics/Metrics.scala
@@ -34,11 +34,18 @@ trait MetricIdentity {
def tag: String
}
-trait MetricGroupRecorder {
- def record(identity: MetricIdentity, value: Long)
+sealed trait MetricGroupRecorder {
def collect: MetricGroupSnapshot
}
+trait MetricMultiGroupRecorder extends MetricGroupRecorder {
+ def record(identity: MetricIdentity, value: Long)
+}
+
+trait MetricSingleGroupRecorder extends MetricGroupRecorder {
+ def record(value: Long)
+}
+
trait MetricGroupSnapshot {
def metrics: Map[MetricIdentity, MetricSnapshot]
}