From 05bc848cc504b6825c7dcc49dd9aac0cd02e895c Mon Sep 17 00:00:00 2001 From: Jakob Odersky Date: Wed, 29 Aug 2018 22:03:43 -0700 Subject: Add tracing to client HTTP transport and improve tracing tags --- .../scala/xyz/driver/core/reporting/Reporter.scala | 34 ++++++++++++++++------ 1 file changed, 25 insertions(+), 9 deletions(-) (limited to 'src/main/scala/xyz/driver/core/reporting/Reporter.scala') diff --git a/src/main/scala/xyz/driver/core/reporting/Reporter.scala b/src/main/scala/xyz/driver/core/reporting/Reporter.scala index 9649ada..57e2310 100644 --- a/src/main/scala/xyz/driver/core/reporting/Reporter.scala +++ b/src/main/scala/xyz/driver/core/reporting/Reporter.scala @@ -2,7 +2,7 @@ package xyz.driver.core.reporting import com.typesafe.scalalogging.Logger import org.slf4j.helpers.NOPLogger -import xyz.driver.core.reporting.Reporter.CausalRelation +import xyz.driver.core.reporting.Reporter.{CausalRelation, Severity} import scala.concurrent.Future @@ -128,20 +128,28 @@ trait Reporter { Some(ctx -> relation) )(op) + /** Log a message. */ + def log(severity: Severity, message: String, reason: Option[Throwable])(implicit ctx: SpanContext): Unit + /** Log a debug message. */ - def debug(message: String)(implicit ctx: SpanContext): Unit + def debug(message: String)(implicit ctx: SpanContext): Unit = log(Severity.Debug, message, None) + def debug(message: String, reason: Throwable)(implicit ctx: SpanContext): Unit = + log(Severity.Debug, message, Some(reason)) /** Log an informational message. */ - def info(message: String)(implicit ctx: SpanContext): Unit + def info(message: String)(implicit ctx: SpanContext): Unit = log(Severity.Informational, message, None) + def info(message: String, reason: Throwable)(implicit ctx: SpanContext): Unit = + log(Severity.Informational, message, Some(reason)) /** Log a warning message. */ - def warn(message: String)(implicit ctx: SpanContext): Unit - - /** Log a error message. */ - def error(message: String)(implicit ctx: SpanContext): Unit + def warn(message: String)(implicit ctx: SpanContext): Unit = log(Severity.Warning, message, None) + def warn(message: String, reason: Throwable)(implicit ctx: SpanContext): Unit = + log(Severity.Warning, message, Some(reason)) - /** Log a error message with an associated throwable that caused the error condition. */ - def error(message: String, reason: Throwable)(implicit ctx: SpanContext): Unit + /** Log an error message. */ + def error(message: String)(implicit ctx: SpanContext): Unit = log(Severity.Error, message, None) + def error(message: String, reason: Throwable)(implicit ctx: SpanContext): Unit = + log(Severity.Error, message, Some(reason)) } @@ -164,4 +172,12 @@ object Reporter { case object Follows extends CausalRelation } + sealed trait Severity + object Severity { + case object Debug extends Severity + case object Informational extends Severity + case object Warning extends Severity + case object Error extends Severity + } + } -- cgit v1.2.3