Class ComponentActivityInstrumentation
java.lang.Object
io.nosqlbench.engine.api.activityapi.core.ComponentActivityInstrumentation
- All Implemented Interfaces:
ActivityInstrumentation
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncom.codahale.metrics.TimerThe cycles response timer measures the total response time from the scheduled time an operation should start to when it is completed.com.codahale.metrics.TimerThe bind timer keeps track of how long it takes for NoSQLBench to create an instance of an executable operation, given the cycle.com.codahale.metrics.TimerThe cycles service timer measures how long it takes to complete a cycle of work.com.codahale.metrics.TimerThe execute timer keeps track of how long it takes to submit an operation to be executed to an underlying native driver.com.codahale.metrics.TimerThe input timer measures how long it takes to get the cycle value to be used for an operation.com.codahale.metrics.CounterThe pending ops counter keeps track of how many ops are submitted or in-flight, but which haven't been completed yet.com.codahale.metrics.TimerThe result-success timer keeps track of operations which had no exception.com.codahale.metrics.TimerThe result timer keeps track of how long it takes a native driver to service a request once submitted.com.codahale.metrics.TimerThe strides service timer measures how long it takes to complete a stride of work.com.codahale.metrics.HistogramThe tries histogram tracks how many tries it takes to complete an operation successfully, or not.com.codahale.metrics.Timercom.codahale.metrics.TimerThe strides response timer measures the total response time from the scheduled time a stride should start to when it completed.
-
Constructor Details
-
ComponentActivityInstrumentation
-
-
Method Details
-
getOrCreateErrorsTotal
- Specified by:
getOrCreateErrorsTotalin interfaceActivityInstrumentation
-
getOrCreateErrorRate1m
- Specified by:
getOrCreateErrorRate1min interfaceActivityInstrumentation
-
getOrCreateErrorRate5m
- Specified by:
getOrCreateErrorRate5min interfaceActivityInstrumentation
-
getOrCreateErrorRate15m
- Specified by:
getOrCreateErrorRate15min interfaceActivityInstrumentation
-
getOrCreateErrorRateTotal
- Specified by:
getOrCreateErrorRateTotalin interfaceActivityInstrumentation
-
getOrCreateInputTimer
public com.codahale.metrics.Timer getOrCreateInputTimer()Description copied from interface:ActivityInstrumentationThe input timer measures how long it takes to get the cycle value to be used for an operation.- Specified by:
getOrCreateInputTimerin interfaceActivityInstrumentation- Returns:
- a new or existing
Timer
-
getOrCreateStridesServiceTimer
public com.codahale.metrics.Timer getOrCreateStridesServiceTimer()Description copied from interface:ActivityInstrumentationThe strides service timer measures how long it takes to complete a stride of work.- Specified by:
getOrCreateStridesServiceTimerin interfaceActivityInstrumentation- Returns:
- a new or existing
Timer
-
getStridesResponseTimerOrNull
public com.codahale.metrics.Timer getStridesResponseTimerOrNull()Description copied from interface:ActivityInstrumentationThe 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:
getStridesResponseTimerOrNullin interfaceActivityInstrumentation- Returns:
- a new or existing
Timerif appropriate, else null
-
getOrCreateCyclesServiceTimer
public com.codahale.metrics.Timer getOrCreateCyclesServiceTimer()Description copied from interface:ActivityInstrumentationThe cycles service timer measures how long it takes to complete a cycle of work.- Specified by:
getOrCreateCyclesServiceTimerin interfaceActivityInstrumentation- Returns:
- a new or existing
Timer
-
getCyclesResponseTimerOrNull
public com.codahale.metrics.Timer getCyclesResponseTimerOrNull()Description copied from interface:ActivityInstrumentationThe 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:
getCyclesResponseTimerOrNullin interfaceActivityInstrumentation- Returns:
- a new or existing
Timerif appropriate, else null
-
getOrCreatePendingOpCounter
public com.codahale.metrics.Counter getOrCreatePendingOpCounter()Description copied from interface:ActivityInstrumentationThe pending ops counter keeps track of how many ops are submitted or in-flight, but which haven't been completed yet.- Specified by:
getOrCreatePendingOpCounterin interfaceActivityInstrumentation- Returns:
- a new or existing
Counter
-
getOrCreateBindTimer
public com.codahale.metrics.Timer getOrCreateBindTimer()Description copied from interface:ActivityInstrumentationThe 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 anOpSequencein conjunction with anOpDispenser. This is named for "binding a cycle to an operation".- Specified by:
getOrCreateBindTimerin interfaceActivityInstrumentation- Returns:
- a new or existing
Timer
-
getOrCreateExecuteTimer
public com.codahale.metrics.Timer getOrCreateExecuteTimer()Description copied from interface:ActivityInstrumentationThe 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 aFuture, 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 aSyncAction. 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:
getOrCreateExecuteTimerin interfaceActivityInstrumentation- Returns:
- a new or existing
Timer
-
getOrCreateResultTimer
public com.codahale.metrics.Timer getOrCreateResultTimer()Description copied from interface:ActivityInstrumentationThe 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:
getOrCreateResultTimerin interfaceActivityInstrumentation- Returns:
- a new or existing
Timer
-
getOrCreateResultSuccessTimer
public com.codahale.metrics.Timer getOrCreateResultSuccessTimer()Description copied from interface:ActivityInstrumentationThe 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:
getOrCreateResultSuccessTimerin interfaceActivityInstrumentation- Returns:
- a new or existing
Timer
-
getOrCreateTriesHistogram
public com.codahale.metrics.Histogram getOrCreateTriesHistogram()Description copied from interface:ActivityInstrumentationThe 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:
getOrCreateTriesHistogramin interfaceActivityInstrumentation- Returns:
- a new or existing
Histogram
-
getOrCreateVerifierTimer
public com.codahale.metrics.Timer getOrCreateVerifierTimer()- Specified by:
getOrCreateVerifierTimerin interfaceActivityInstrumentation
-