Class ComponentActivityInstrumentation

java.lang.Object
io.nosqlbench.engine.api.activityapi.core.ComponentActivityInstrumentation
All Implemented Interfaces:
ActivityInstrumentation

public class ComponentActivityInstrumentation extends Object implements ActivityInstrumentation
  • Constructor Details

    • ComponentActivityInstrumentation

      public ComponentActivityInstrumentation(Activity activity)
  • Method Details

    • getOrCreateErrorsTotal

      public NBMetricGauge getOrCreateErrorsTotal()
      Specified by:
      getOrCreateErrorsTotal in interface ActivityInstrumentation
    • getOrCreateErrorRate1m

      public NBMetricGauge getOrCreateErrorRate1m()
      Specified by:
      getOrCreateErrorRate1m in interface ActivityInstrumentation
    • getOrCreateErrorRate5m

      public NBMetricGauge getOrCreateErrorRate5m()
      Specified by:
      getOrCreateErrorRate5m in interface ActivityInstrumentation
    • getOrCreateErrorRate15m

      public NBMetricGauge getOrCreateErrorRate15m()
      Specified by:
      getOrCreateErrorRate15m in interface ActivityInstrumentation
    • getOrCreateErrorRateTotal

      public NBMetricGauge getOrCreateErrorRateTotal()
      Specified by:
      getOrCreateErrorRateTotal in interface ActivityInstrumentation
    • getOrCreateInputTimer

      public com.codahale.metrics.Timer getOrCreateInputTimer()
      Description copied from interface: ActivityInstrumentation
      The input timer measures how long it takes to get the cycle value to be used for an operation.
      Specified by:
      getOrCreateInputTimer in interface ActivityInstrumentation
      Returns:
      a new or existing Timer
    • getOrCreateStridesServiceTimer

      public com.codahale.metrics.Timer getOrCreateStridesServiceTimer()
      Description copied from interface: ActivityInstrumentation
      The strides service timer measures how long it takes to complete a stride of work.
      Specified by:
      getOrCreateStridesServiceTimer in interface ActivityInstrumentation
      Returns:
      a new or existing Timer
    • getStridesResponseTimerOrNull

      public com.codahale.metrics.Timer getStridesResponseTimerOrNull()
      Description copied from interface: ActivityInstrumentation
      The strides response timer measures the total response time from the scheduled time a stride should start to when it completed. Stride scheduling is only defined when it is implied by a stride rate limiter, so this method should return null if there is no strides rate limiter.
      Specified by:
      getStridesResponseTimerOrNull in interface ActivityInstrumentation
      Returns:
      a new or existing Timer if appropriate, else null
    • getOrCreateCyclesServiceTimer

      public com.codahale.metrics.Timer getOrCreateCyclesServiceTimer()
      Description copied from interface: ActivityInstrumentation
      The cycles service timer measures how long it takes to complete a cycle of work.
      Specified by:
      getOrCreateCyclesServiceTimer in interface ActivityInstrumentation
      Returns:
      a new or existing Timer
    • getCyclesResponseTimerOrNull

      public com.codahale.metrics.Timer getCyclesResponseTimerOrNull()
      Description copied from interface: ActivityInstrumentation
      The cycles response timer measures the total response time from the scheduled time an operation should start to when it is completed. Cycle scheduling is only defined when it is implied by a cycle rate limiter, so this method should return null if there is no cycles rate limiter.
      Specified by:
      getCyclesResponseTimerOrNull in interface ActivityInstrumentation
      Returns:
      a new or existing Timer if appropriate, else null
    • getOrCreatePendingOpCounter

      public com.codahale.metrics.Counter getOrCreatePendingOpCounter()
      Description copied from interface: ActivityInstrumentation
      The pending ops counter keeps track of how many ops are submitted or in-flight, but which haven't been completed yet.
      Specified by:
      getOrCreatePendingOpCounter in interface ActivityInstrumentation
      Returns:
      a new or existing Counter
    • getOrCreateBindTimer

      public com.codahale.metrics.Timer getOrCreateBindTimer()
      Description copied from interface: ActivityInstrumentation
      The bind timer keeps track of how long it takes for NoSQLBench to create an instance of an executable operation, given the cycle. This is usually done by using an OpSequence in conjunction with an OpDispenser. This is named for "binding a cycle to an operation".
      Specified by:
      getOrCreateBindTimer in interface ActivityInstrumentation
      Returns:
      a new or existing Timer
    • getOrCreateExecuteTimer

      public com.codahale.metrics.Timer getOrCreateExecuteTimer()
      Description copied from interface: ActivityInstrumentation
      The execute timer keeps track of how long it takes to submit an operation to be executed to an underlying native driver. For asynchronous APIs, such as those which return a Future, this is simply the amount of time it takes to acquire the future. When possible, APIs should be used via their async methods, even if you are implementing a SyncAction. This allows the execute timer to measure the hand-off to the underlying API, and the result timer to measure the blocking calls to aquire the result.
      Specified by:
      getOrCreateExecuteTimer in interface ActivityInstrumentation
      Returns:
      a new or existing Timer
    • getOrCreateResultTimer

      public com.codahale.metrics.Timer getOrCreateResultTimer()
      Description copied from interface: ActivityInstrumentation
      The result timer keeps track of how long it takes a native driver to service a request once submitted. This timer, in contrast to the result-success timer (ActivityInstrumentation.getOrCreateResultSuccessTimer()), is used to track all operations. That is, no matter whether the operation succeeds or not, it should be tracked with this timer. The scope of this timer should cover each attempt at an operation through a native driver. Retries are not to be combined in this measurement.
      Specified by:
      getOrCreateResultTimer in interface ActivityInstrumentation
      Returns:
      a new or existing Timer
    • getOrCreateResultSuccessTimer

      public com.codahale.metrics.Timer getOrCreateResultSuccessTimer()
      Description copied from interface: ActivityInstrumentation
      The result-success timer keeps track of operations which had no exception. The measurements for this timer should be exactly the same values as used for the result timer (ActivityInstrumentation.getOrCreateResultTimer(), except that attempts to complete an operation which yield an exception should be excluded from the results. These two metrics together provide a very high level sanity check against the error-specific metrics which can be reported by the error handler logic.
      Specified by:
      getOrCreateResultSuccessTimer in interface ActivityInstrumentation
      Returns:
      a new or existing Timer
    • getOrCreateTriesHistogram

      public com.codahale.metrics.Histogram getOrCreateTriesHistogram()
      Description copied from interface: ActivityInstrumentation
      The tries histogram tracks how many tries it takes to complete an operation successfully, or not. This histogram does not encode whether operations were successful or not. Ideally, if every attempt to complete an operation succeeds on its first try, the data in this histogram should all be 1. In practice, systems which are running near their capacity will see a few retried operations, and systems that are substantially over-driven will see many retried operations. As the retries value increases the further down the percentile scale you go, you can detect system loading patterns which are in excess of the real-time capability of the target system. This metric should be measured around every retry loop for a native operation.
      Specified by:
      getOrCreateTriesHistogram in interface ActivityInstrumentation
      Returns:
      a new or existing Histogram
    • getOrCreateVerifierTimer

      public com.codahale.metrics.Timer getOrCreateVerifierTimer()
      Specified by:
      getOrCreateVerifierTimer in interface ActivityInstrumentation