case class Environment(host: String, service: String, instance: String, incarnation: String, tags: TagSet) extends Product with Serializable
Describes the conditions on which the instrumented application is running. This information is typically used by reporter modules to enrich the data before it is sent to external systems. Kamon will always try to create an appropriate Environment instance based on the details found on the "kamon.environment" configuration settings and then exposed through an instance of this class.
Starting from a service name, Kamon will try to figure out how to create the Environment instance using:
- The "kamon.environment.host" setting as the hostname where this application is running. If the value "auto" (default) is present, Kamon will try to resolve the hostname automatically and use it.
- The "kamon.environment.instance" setting as the name of the this instance. Typically there will be several JVMs running the exact same service code on different hosts and even though they should share the same "service" name, each one should have its own identifier. If the value "auto" (default) is present, Kamon will generate an instance name with the pattern "service@host".
- The "kamon.environment.tags" are additional key/value pairs with information about the conditions on which this service is running. They will typically be used to include things like the Datacenter name or region, software versions and so on.
Finally, the incarnation is a randomly generated string that uniquely identifies this JVM. The incarnation value remains the same even after Kamon gets reconfigured and its host, service, instance or tags are changed.
Linear Supertypes
Ordering
- Alphabetic
- By Inheritance
Inherited
- Environment
- Serializable
- Product
- Equals
- AnyRef
- Any
- Hide All
- Show All
Visibility
- Public
- All
Instance Constructors
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##(): Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- val host: String
- val incarnation: String
- val instance: String
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- val service: String
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- val tags: TagSet
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()