diff options
author | Jakob Odersky <jakob@driver.xyz> | 2017-10-01 20:24:02 -0700 |
---|---|---|
committer | Jakob Odersky <jakob@driver.xyz> | 2017-10-01 20:24:29 -0700 |
commit | 2c08b51411be5b0cce57f876377fcd52bee99990 (patch) | |
tree | fee56a21e6a5f3d2dd459b51e5afb355db6c7f02 /src/main/scala/Span.scala | |
parent | 5bd947dd08eec1d6c64a9549566f3ce0e91fe74f (diff) | |
download | tracing-2c08b51411be5b0cce57f876377fcd52bee99990.tar.gz tracing-2c08b51411be5b0cce57f876377fcd52bee99990.tar.bz2 tracing-2c08b51411be5b0cce57f876377fcd52bee99990.zip |
Flatten file hierarchy and implement OAUTH2 authentication
Diffstat (limited to 'src/main/scala/Span.scala')
-rw-r--r-- | src/main/scala/Span.scala | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/main/scala/Span.scala b/src/main/scala/Span.scala new file mode 100644 index 0000000..fcd52b6 --- /dev/null +++ b/src/main/scala/Span.scala @@ -0,0 +1,24 @@ +package xyz.driver.tracing + +import java.util.UUID +import java.time._ + +case class Span( + name: String, + traceId: UUID = UUID.randomUUID(), + spanId: UUID = UUID.randomUUID(), + parentSpanId: Option[UUID] = None, + labels: Map[String, String] = Map.empty, + startTime: Instant = Instant.now, + endTime: Instant = Instant.now +) { + + def start(clock: Clock = Clock.systemUTC): Span = + this.copy(startTime = clock.instant()) + def end(clock: Clock = Clock.systemUTC): Span = + this.copy(endTime = clock.instant()) + + def withLabels(extraLabels: (String, String)*) = + this.copy(labels = this.labels ++ extraLabels) + +} |