kamon

package kamon

Type members

Classlikes

final implicit class AtomicGetOrElseUpdateOnTrieMap[K, V](val trieMap: TrieMap[K, V]) extends AnyVal

Workaround to the non thread-safe [scala.collection.concurrent.TrieMap#getOrElseUpdate()] method. More details on why this is necessary can be found at https://issues.scala-lang.org/browse/SI-7943.

Workaround to the non thread-safe [scala.collection.concurrent.TrieMap#getOrElseUpdate()] method. More details on why this is necessary can be found at https://issues.scala-lang.org/browse/SI-7943.

sealed trait ClassLoading

Exposes APIs for dynamically creating instances and holds the ClassLoader instance to be used by Kamon when looking up resources and classes.

Exposes APIs for dynamically creating instances and holds the ClassLoader instance to be used by Kamon when looking up resources and classes.

Companion:
object
object ClassLoading extends ClassLoading
Companion:
class

Exposes APIs to access and modify Kamon's configuration and to get notified of reconfigure events.

Exposes APIs to access and modify Kamon's configuration and to get notified of reconfigure events.

Companion:
object
Companion:
class

Exposes APIs for Context propagation across HTTP and Binary transports.

Exposes APIs for Context propagation across HTTP and Binary transports.

Companion:
object
Companion:
class

Exposes in-process Context storage APIs. See the ContextStorage companion object for more info on the default storage implementation.

Exposes in-process Context storage APIs. See the ContextStorage companion object for more info on the default storage implementation.

Companion:
object
Companion:
class

Exposes access to the Kamon's current status. The status information contains details about the internal state of several Kamon components and is exposed for the sole purpose of troubleshooting and debugging issues that might be related to Kamon.

Exposes access to the Kamon's current status. The status information contains details about the internal state of several Kamon components and is exposed for the sole purpose of troubleshooting and debugging issues that might be related to Kamon.

The Status APIs might change between minor versions.

trait Init

Provides APIs for handling common initialization tasks like starting modules, attaching instrumentation and reconfiguring Kamon.

Provides APIs for handling common initialization tasks like starting modules, attaching instrumentation and reconfiguring Kamon.

trait Metrics extends MetricBuilding

Exposes all metric building APIs using a built-in, globally shared metric registry.

Exposes all metric building APIs using a built-in, globally shared metric registry.

Handles the lifecycle of all modules known by Kamon. The most common implementations of modules are metrics and span reporters, but modules can be used to encapsulate any process that should be started automatically by Kamon and stopped when all modules are stopped (usually during shutdown).

Handles the lifecycle of all modules known by Kamon. The most common implementations of modules are metrics and span reporters, but modules can be used to encapsulate any process that should be started automatically by Kamon and stopped when all modules are stopped (usually during shutdown).

Modules can be automatically discovered from the kamon.modules configuration path, using the following schema:

kamon.modules { module-name { enabled = true name = "My Module Name" description = "A module description" factory = "com.example.MyModuleFactory"

 // For Metric Reporters only:
 metric-filter {
   includes = []
   excludes = []
 }

 // For Periodic Collectors only:
 interval = 10 seconds

} }

Take a look at the reference.conf file for more details.

trait Tracing

Exposes the Tracing APIs using a built-in, globally shared tracer.

Exposes the Tracing APIs using a built-in, globally shared tracer.

trait Utilities

Base utilities used by other Kamon components.

Base utilities used by other Kamon components.

final implicit class UtilsOnConfig(val config: Config) extends AnyVal

Value members

Concrete methods

def newScheduledThreadPool(corePoolSize: Int, threadFactory: ThreadFactory): ScheduledExecutorService
def numberedThreadFactory(name: String, daemon: Boolean): ThreadFactory
def threadFactory(name: String, daemon: Boolean): ThreadFactory

Creates a thread factory that assigns the specified name to all created Threads.

Creates a thread factory that assigns the specified name to all created Threads.

Implicits

Implicits

final implicit def AtomicGetOrElseUpdateOnTrieMap[K, V](trieMap: TrieMap[K, V]): AtomicGetOrElseUpdateOnTrieMap[K, V]

Workaround to the non thread-safe [scala.collection.concurrent.TrieMap#getOrElseUpdate()] method. More details on why this is necessary can be found at https://issues.scala-lang.org/browse/SI-7943.

Workaround to the non thread-safe [scala.collection.concurrent.TrieMap#getOrElseUpdate()] method. More details on why this is necessary can be found at https://issues.scala-lang.org/browse/SI-7943.

final implicit def UtilsOnConfig(config: Config): UtilsOnConfig