Packages

o

kamon.instrumentation.executor

ExecutorInstrumentation

object ExecutorInstrumentation

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ExecutorInstrumentation
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. trait ForkJoinPoolTelemetryReader extends AnyRef

    Abstracts the means of reading some telemetry information from concrete executor implementations.

    Abstracts the means of reading some telemetry information from concrete executor implementations. This allows us to track the same metrics even when coming from slightly different implementations. The three cases we have seen so far where this is useful are when instrumenting: the ForkJoinPool included in the JDK (since Java 8), the one included in Scala 2.11 Library and the one shipped with Akka.

  2. class InstrumentedForkJoinPool extends ExecutorService

    Executor service wrapper for ForkJoin Pool executors that keeps track of submitted and completed tasks and optionally tracks the time tasks spend waiting on the underlying executor service's queue.

    Executor service wrapper for ForkJoin Pool executors that keeps track of submitted and completed tasks and optionally tracks the time tasks spend waiting on the underlying executor service's queue. This instrumented executor does some extra counting work (compared to the InstrumentedThreadPool class) because ForkJoin Pool executors do not provide submitted and completed task counters.

    The instruments used to track the pool's behavior are removed once the pool is shut down.

  3. class InstrumentedThreadPool extends ExecutorService

    Executor service wrapper for ThreadPool executors that keeps track of submitted and completed tasks and optionally tracks the time tasks spend waiting on the underlying executor service's queue.

    Executor service wrapper for ThreadPool executors that keeps track of submitted and completed tasks and optionally tracks the time tasks spend waiting on the underlying executor service's queue.

    The instruments used to track the pool's behavior are removed once the pool is shut down.

  4. class Settings extends AnyRef

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. val DefaultSettings: Settings

    We do not perform context propagation on submit by default because the automatic instrumentation provided by this module should ensure that all interesting Runnable/Callable implementations capture a Context instance.

    We do not perform context propagation on submit by default because the automatic instrumentation provided by this module should ensure that all interesting Runnable/Callable implementations capture a Context instance. Furthermore, in many situations the current Context when a Runnable/Callable is created is different from the current context when it is submitted for execution and in most situations it is safer to assume that all Runnable/Callable should capture the current Context at the instant when they are created, not when submitted.

  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  7. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  8. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  9. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  10. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  11. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  12. def instrument(executor: ExecutorService, telemetryReader: ForkJoinPoolTelemetryReader, name: String, extraTags: TagSet, options: Settings): ExecutorService

    Creates a new instrumented ExecutorService that wraps the provided one, assuming that the wrapped executor is a form of ForkJoinPool implementation.

    Creates a new instrumented ExecutorService that wraps the provided one, assuming that the wrapped executor is a form of ForkJoinPool implementation. The instrumented executor will track all the common pool metrics and optionally, track the time spent by each task on the wrapped executor's queue.

    All metrics related to the instrumented service will have the following tags: * all of the provided extraTags (take into account that any "name" or "type" tags will be overwritten. * name: set to the provided name parameter. * type: set to "tpe" for ThreadPoolExecutor executors or "fjp" for ForkJoinPool executors.

    Once the returned executor is shutdown, all related metric instruments will be removed.

  13. def instrument(executor: ExecutorService, name: String, extraTags: TagSet, options: Settings): ExecutorService

    Creates a new instrumented ExecutorService that wraps the provided one.

    Creates a new instrumented ExecutorService that wraps the provided one. The instrumented executor will track metrics for ThreadPoolExecutor and ForkJoinPool instances (both from Java and Scala) and optionally, track the time spent by each task on the wrapped executor's queue.

    All metrics related to the instrumented service will have the following tags: * all of the provided extraTags (take into account that any "name" or "type" tags will be overwritten. * name: set to the provided name parameter. * type: set to "tpe" for ThreadPoolExecutor executors or "fjp" for ForkJoinPool executors.

    Once the returned executor is shutdown, all related metric instruments will be removed.

  14. def instrument(executor: ExecutorService, name: String, extraTags: TagSet): ExecutorService

    Creates a new instrumented ExecutorService that wraps the provided one.

    Creates a new instrumented ExecutorService that wraps the provided one. The instrumented executor will track metrics for ThreadPoolExecutor and ForkJoinPool instances (both from Java and Scala). All metrics related to the instrumented service will have the following tags:

    * all of the provided extraTags (take into account that any "name" or "type" tags will be overwritten. * name: set to the provided name parameter. * type: set to "tpe" for ThreadPoolExecutor executors or "fjp" for ForkJoinPool executors.

    Once the returned executor is shutdown, all related metric instruments will be removed.

  15. def instrument(executor: ExecutorService, name: String, options: Settings): ExecutorService

    Creates a new instrumented ExecutorService that wraps the provided one.

    Creates a new instrumented ExecutorService that wraps the provided one. The instrumented executor will track metrics for ThreadPoolExecutor and ForkJoinPool instances (both from Java and Scala) and optionally, track the time spent by each task on the wrapped executor's queue.

    All metrics related to the instrumented service will have the following tags:

    * name: set to the provided name parameter. * type: set to "tpe" for ThreadPoolExecutor executors or "fjp" for ForkJoinPool executors.

    Once the returned executor is shutdown, all related metric instruments will be removed.

  16. def instrument(executor: ExecutorService, name: String): ExecutorService

    Creates a new instrumented ExecutorService that wraps the provided one.

    Creates a new instrumented ExecutorService that wraps the provided one. The instrumented executor will track metrics for ThreadPoolExecutor and ForkJoinPool instances (both from Java and Scala). All metrics related to the instrumented service will have the following tags:

    * name: set to the provided name parameter. * type: set to "tpe" for ThreadPoolExecutor executors or "fjp" for ForkJoinPool executors.

    Once the returned executor is shutdown, all related metric instruments will be removed.

  17. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  18. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  19. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  20. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  21. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  22. def toString(): String
    Definition Classes
    AnyRef → Any
  23. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  24. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  25. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  26. object ForkJoinPoolTelemetryReader

Inherited from AnyRef

Inherited from Any

Ungrouped