Packages

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
Serializable, Serializable, Product, Equals, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Environment
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Environment(host: String, service: String, instance: String, incarnation: String, tags: TagSet)

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  8. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  9. val host: String
  10. val incarnation: String
  11. val instance: String
  12. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  13. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  14. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  15. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  16. val service: String
  17. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  18. val tags: TagSet
  19. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  20. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  21. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any

Ungrouped