diff options
Diffstat (limited to 'kamon-testkit')
-rw-r--r-- | kamon-testkit/src/main/scala/kamon/testkit/SpanInspection.scala | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/kamon-testkit/src/main/scala/kamon/testkit/SpanInspection.scala b/kamon-testkit/src/main/scala/kamon/testkit/SpanInspection.scala index 36b57f2d..e45124b0 100644 --- a/kamon-testkit/src/main/scala/kamon/testkit/SpanInspection.scala +++ b/kamon-testkit/src/main/scala/kamon/testkit/SpanInspection.scala @@ -52,13 +52,14 @@ object SpanInspection { def spanTags(): Map[String, Span.TagValue] = spanData.tags - def tag(key: String): Option[String] = + def tag(key: String): Option[String] = { spanTag(key).map { case TagValue.String(string) => string case TagValue.Number(number) => number.toString case TagValue.True => "true" case TagValue.False => "false" } + } def metricTags(): Map[String, String] = getField[Span.Local, Map[String, String]](realSpan, "customMetricTags") @@ -75,6 +76,9 @@ object SpanInspection { def operationName(): String = spanData.operationName + def hasMetricsEnabled(): Boolean = + getField[Span.Local, Boolean](realSpan, "collectMetrics") + private def getField[T, R](target: Any, fieldName: String)(implicit classTag: ClassTag[T]): R = { val toFinishedSpanMethod = classTag.runtimeClass.getDeclaredFields.find(_.getName.contains(fieldName)).get |