From 586ed28262f1609a2338e01236548716e1d2c264 Mon Sep 17 00:00:00 2001 From: Jakob Odersky Date: Wed, 4 Oct 2017 13:48:50 -0700 Subject: Add closing functionality to tracers --- src/main/scala/Tracer.scala | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/main/scala/Tracer.scala') 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 + } -- cgit v1.2.3