@PublicSpi public interface InstrumentationContext<T>
Instrumentation
.'beginXXX()' method is called then it must return a non null InstrumentationContext
that will be invoked when the step is first dispatched and then when it completes. Sometimes this is effectively the same time
whereas at other times its when an asynchronous CompletableFuture
completes.
This pattern of construction of an object then call back is intended to allow "timers" to be created that can instrument what has
just happened or "loggers" to be called to record what has happened.Modifier and Type | Method and Description |
---|---|
void |
onCompleted(T result,
java.lang.Throwable t)
This is invoked when the instrumentation step is fully completed
|
void |
onDispatched(java.util.concurrent.CompletableFuture<T> result)
This is invoked when the instrumentation step is initially dispatched
|
void onDispatched(java.util.concurrent.CompletableFuture<T> result)
result
- the result of the step as a completable futurevoid onCompleted(T result, java.lang.Throwable t)
result
- the result of the step (which may be null)t
- this exception will be non null if an exception was thrown during the step