From d64bbb1fdb634cafe13c0a19886550332d08f683 Mon Sep 17 00:00:00 2001 From: Ivan Topolnjak Date: Sat, 10 Feb 2018 01:12:36 +0100 Subject: add support for environment tags, fixes #510 --- kamon-core/src/main/scala/kamon/Environment.scala | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'kamon-core/src/main/scala') diff --git a/kamon-core/src/main/scala/kamon/Environment.scala b/kamon-core/src/main/scala/kamon/Environment.scala index 80833352..1c00679d 100644 --- a/kamon-core/src/main/scala/kamon/Environment.scala +++ b/kamon-core/src/main/scala/kamon/Environment.scala @@ -21,15 +21,16 @@ import java.util.concurrent.ThreadLocalRandom import com.typesafe.config.Config import kamon.util.HexCodec -case class Environment(host: String, service: String, instance: String, incarnation: String) +case class Environment(host: String, service: String, instance: String, incarnation: String, tags: Map[String, String]) object Environment { private val incarnation = HexCodec.toLowerHex(ThreadLocalRandom.current().nextLong()) def fromConfig(config: Config): Environment = { val environmentConfig = config.getConfig("kamon.environment") - val service = environmentConfig.getString("service") + val tagsConfig = environmentConfig.getConfig("tags") + val tags = tagsConfig.topLevelKeys.map(tag => (tag -> tagsConfig.getString(tag))).toMap val host = readValueOrGenerate( environmentConfig.getString("host"), @@ -41,7 +42,7 @@ object Environment { s"$service@$host" ) - Environment(host, service, instance, incarnation) + Environment(host, service, instance, incarnation, tags) } private def readValueOrGenerate(configuredValue: String, generator: => String): String = -- cgit v1.2.3