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
- 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[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- 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()
- 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( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()