aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRyan Bair <ryandbair@gmail.com>2017-04-23 19:57:36 -0400
committerDiego Parra <diegolparra@gmail.com>2017-04-24 01:57:36 +0200
commit469c11dc1ddb140f407a33f48033e533bf60611c (patch)
treef9550a8b4b4b7568a262cc7efead95105d3cd4c6
parentdc7f240540b468ab68b99011d7fa587207a98609 (diff)
downloadKamon-469c11dc1ddb140f407a33f48033e533bf60611c.tar.gz
Kamon-469c11dc1ddb140f407a33f48033e533bf60611c.tar.bz2
Kamon-469c11dc1ddb140f407a33f48033e533bf60611c.zip
Rename class vars so they do not shadow the def from their parent. Fixes #453. (#454)
-rw-r--r--kamon-core/src/main/scala/kamon/trace/TracingContext.scala8
-rw-r--r--kamon-core/src/test/scala/kamon/trace/SimpleTraceSpec.scala28
2 files changed, 32 insertions, 4 deletions
diff --git a/kamon-core/src/main/scala/kamon/trace/TracingContext.scala b/kamon-core/src/main/scala/kamon/trace/TracingContext.scala
index 1ea35526..ff128f85 100644
--- a/kamon-core/src/main/scala/kamon/trace/TracingContext.scala
+++ b/kamon-core/src/main/scala/kamon/trace/TracingContext.scala
@@ -27,14 +27,14 @@ import scala.collection.concurrent.TrieMap
private[trace] class TracingContext(
traceName: String,
token: String,
- tags: Map[String, String],
+ traceTags: Map[String, String],
currentStatus: Status,
levelOfDetail: LevelOfDetail,
isLocal: Boolean,
startTimeztamp: RelativeNanoTimestamp,
log: LoggingAdapter,
traceInfoSink: TracingContext ⇒ Unit
-) extends MetricsOnlyContext(traceName, token, tags, currentStatus, levelOfDetail, startTimeztamp, log) {
+) extends MetricsOnlyContext(traceName, token, traceTags, currentStatus, levelOfDetail, startTimeztamp, log) {
private val _openSegments = new AtomicInteger(0)
private val _startTimestamp = NanoTimestamp.now
@@ -93,8 +93,8 @@ private[trace] class TracingContext(
segmentName: String,
category: String,
library: String,
- tags: Map[String, String]
- ) extends MetricsOnlySegment(segmentName, category, library, tags) {
+ segmentTags: Map[String, String]
+ ) extends MetricsOnlySegment(segmentName, category, library, segmentTags) {
private val metadata = TrieMap.empty[String, String]
override def addMetadata(key: String, value: String): Unit = metadata.put(key, value)
diff --git a/kamon-core/src/test/scala/kamon/trace/SimpleTraceSpec.scala b/kamon-core/src/test/scala/kamon/trace/SimpleTraceSpec.scala
index faf127c1..fe7ad053 100644
--- a/kamon-core/src/test/scala/kamon/trace/SimpleTraceSpec.scala
+++ b/kamon-core/src/test/scala/kamon/trace/SimpleTraceSpec.scala
@@ -108,6 +108,34 @@ class SimpleTraceSpec extends BaseKamonSpec("simple-trace-spec") {
segmentTwo.get.tags should be(Map("segment-two-info" → "info"))
}
+ "send a TraceInfo when the trace has finished and all segments are finished and contains added tag" in {
+ Kamon.tracer.subscribe(testActor)
+
+ Tracer.withContext(newContext("simple-trace-without-segments", "awesome-token")) {
+ Tracer.currentContext.addTag("environment", "production")
+ val segmentOne = Tracer.currentContext.startSegment("segment-one", "test-segment", "test")
+ segmentOne.addTag("segment-one-info", "info")
+ segmentOne.finish()
+ val segmentTwo = Tracer.currentContext.startSegment("segment-two", "test-segment", "test")
+ segmentTwo.addTag("segment-two-info", "info")
+ segmentTwo.finish()
+ Tracer.currentContext.finish()
+ }
+
+ val traceInfo = expectMsgType[TraceInfo]
+ Kamon.tracer.unsubscribe(testActor)
+
+ traceInfo.name should be("simple-trace-without-segments")
+ traceInfo.tags should be(Map("environment" → "production"))
+ traceInfo.segments.size should be(2)
+
+ val segmentOne = traceInfo.segments.find(_.name == "segment-one")
+ val segmentTwo = traceInfo.segments.find(_.name == "segment-two")
+
+ segmentOne.get.tags should be(Map("segment-one-info" → "info"))
+ segmentTwo.get.tags should be(Map("segment-two-info" → "info"))
+ }
+
"incubate the tracing context if there are open segments after finishing" in {
Kamon.tracer.subscribe(testActor)