aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/Tracer.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/scala/Tracer.scala')
-rw-r--r--src/main/scala/Tracer.scala13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/main/scala/Tracer.scala b/src/main/scala/Tracer.scala
index 00a1fbf..3d82489 100644
--- a/src/main/scala/Tracer.scala
+++ b/src/main/scala/Tracer.scala
@@ -1,5 +1,18 @@
package xyz.driver.tracing
+import scala.concurrent.Future
+
+/** Interface to tracing aggregation backends. */
trait Tracer {
+
+ /** Submit a span to be sent to the aggregation backend.
+ *
+ * Note that submission typically happens asynchronously. Exact semantics are
+ * implementation-specific, however to guarantee of successful submission is
+ * made when this method returns. */
def submit(span: Span): Unit
+
+ /** Aggregate any potentially queued submissions and perform any cleanup logic. */
+ def close(): Future[_] = Future.unit
+
}