aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/Tracer.scala
diff options
context:
space:
mode:
authorJakob Odersky <jakob@driver.xyz>2017-10-04 13:48:50 -0700
committerJakob Odersky <jakob@driver.xyz>2017-10-04 13:49:26 -0700
commit586ed28262f1609a2338e01236548716e1d2c264 (patch)
tree994b593c217718b0a07c009bbe24cb122406c686 /src/main/scala/Tracer.scala
parentdf2c41dac7d29dea49950700b0146229947fdf65 (diff)
downloadtracing-586ed28262f1609a2338e01236548716e1d2c264.tar.gz
tracing-586ed28262f1609a2338e01236548716e1d2c264.tar.bz2
tracing-586ed28262f1609a2338e01236548716e1d2c264.zip
Add closing functionality to tracers
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
+
}