in safeguard-impl/src/main/java/org/apache/safeguard/impl/bulkhead/BulkheadInterceptor.java [270:292]
public Model create(final InvocationContext context) {
final boolean useThreads = finder.findAnnotation(Asynchronous.class, context) != null;
final String metricsNameBase = getMetricsNameBase(context);
final FaultToleranceMetrics.Counter callsAccepted = metrics.counter(metricsNameBase + "callsAccepted.total",
"Number of calls accepted by the bulkhead");
final FaultToleranceMetrics.Counter callsRejected = metrics.counter(metricsNameBase + "callsRejected.total",
"Number of calls rejected by the bulkhead");
final FaultToleranceMetrics.Histogram executionDuration = metrics.histogram(metricsNameBase + "executionDuration",
"Histogram of method execution times. This does not include any time spent waiting in the bulkhead queue.");
final FaultToleranceMetrics.Histogram waitingDuration;
if (useThreads) {
waitingDuration = metrics.histogram(metricsNameBase + "waiting.duration",
"Histogram of the time executions spend waiting in the queue");
} else {
waitingDuration = null;
}
return new Model(
!configurationMapper.isEnabled(context.getMethod(), Bulkhead.class), context,
configurationMapper.map(finder.findAnnotation(Bulkhead.class, context), context.getMethod(), Bulkhead.class),
useThreads, callsAccepted, callsRejected, executionDuration, waitingDuration);
}