aboutsummaryrefslogtreecommitdiff
path: root/kamon-core/src/main/scala/kamon/Environment.scala
diff options
context:
space:
mode:
Diffstat (limited to 'kamon-core/src/main/scala/kamon/Environment.scala')
-rw-r--r--kamon-core/src/main/scala/kamon/Environment.scala7
1 files changed, 4 insertions, 3 deletions
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 =