aboutsummaryrefslogtreecommitdiff
path: root/kamon-core/src/main/scala/kamon/module/ReportingModule.scala
diff options
context:
space:
mode:
Diffstat (limited to 'kamon-core/src/main/scala/kamon/module/ReportingModule.scala')
-rw-r--r--kamon-core/src/main/scala/kamon/module/ReportingModule.scala21
1 files changed, 21 insertions, 0 deletions
diff --git a/kamon-core/src/main/scala/kamon/module/ReportingModule.scala b/kamon-core/src/main/scala/kamon/module/ReportingModule.scala
new file mode 100644
index 00000000..0e88fc23
--- /dev/null
+++ b/kamon-core/src/main/scala/kamon/module/ReportingModule.scala
@@ -0,0 +1,21 @@
+package kamon
+package module
+
+import kamon.trace.Span
+import kamon.metric.PeriodSnapshot
+
+/**
+ * Modules implementing this trait will get registered for periodically receiving metric period snapshots. The
+ * frequency of the period snapshots is controlled by the kamon.metric.tick-interval setting.
+ */
+trait MetricReporter extends Module {
+ def reportPeriodSnapshot(snapshot: PeriodSnapshot): Unit
+}
+
+/**
+ * Modules implementing this trait will get registered for periodically receiving span batches. The frequency of the
+ * span batches is controlled by the kamon.trace.tick-interval setting.
+ */
+trait SpanReporter extends Module {
+ def reportSpans(spans: Seq[Span.FinishedSpan]): Unit
+}