Package org.apache.solr.metrics
Class MetricSuppliers
java.lang.Object
org.apache.solr.metrics.MetricSuppliers
Helper class for constructing instances of
MetricRegistry.MetricSupplier based on plugin configuration. This allows us
to customize eg. Reservoir implementations and parameters for timers
and histograms.
Custom supplier implementations must provide a zero-args constructor, and may optionally
implement PluginInfoInitialized interface for configuration -
if they don't then SolrPluginUtils.invokeSetters(Object, Iterable, boolean) will be used for initialization.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classDefaultCountersupplier.static final classDefault supplier ofHistograminstances, with configurable reservoir.static final classDefaultMetersupplier.static final classDefault supplier ofTimerinstances, with configurable clock and reservoir.static final classNo-op implementation ofCountersupplier.static final classNo-op implementation ofGauge.static final classNo-op implementation ofHistogramsupplier.static final classNo-op implementation ofMetersupplier.static interfaceMarker interface for all no-op metrics.static final classNo-op implementation ofTimersupplier. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringClock type parameter.static final StringCPU-time clock.static final StringUser-time clock.static final StringImplementation class, must implementReservoir.static final StringAlpha parameter ofExponentiallyDecayingReservoir.static final StringSize of reservoir.static final StringTime window in seconds ofSlidingTimeWindowReservoir. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic com.codahale.metrics.MetricRegistry.MetricSupplier<com.codahale.metrics.Counter> counterSupplier(SolrResourceLoader loader, PluginInfo info) Create aCountersupplier.static com.codahale.metrics.ClockgetClock(PluginInfo info, String param) static <T> com.codahale.metrics.Gauge<T> getNoOpGauge(com.codahale.metrics.Gauge<T> actual) static com.codahale.metrics.MetricRegistry.MetricSupplier<com.codahale.metrics.Histogram> histogramSupplier(SolrResourceLoader loader, PluginInfo info) Create aHistogramsupplier.static com.codahale.metrics.MetricRegistry.MetricSupplier<com.codahale.metrics.Meter> meterSupplier(SolrResourceLoader loader, PluginInfo info) Create aMetersupplier.static com.codahale.metrics.MetricRegistry.MetricSupplier<com.codahale.metrics.Timer> timerSupplier(SolrResourceLoader loader, PluginInfo info) Create aTimersupplier.
-
Field Details
-
CLOCK
Clock type parameter.- See Also:
-
CLOCK_USER
User-time clock.- See Also:
-
CLOCK_CPU
CPU-time clock.- See Also:
-
RESERVOIR
Implementation class, must implementReservoir. Supports non-standard configuration of the implementations available in metrics-core.- See Also:
-
RESERVOIR_SIZE
Size of reservoir.- See Also:
-
RESERVOIR_EDR_ALPHA
Alpha parameter ofExponentiallyDecayingReservoir.- See Also:
-
RESERVOIR_WINDOW
Time window in seconds ofSlidingTimeWindowReservoir.- See Also:
-
-
Constructor Details
-
MetricSuppliers
public MetricSuppliers()
-
-
Method Details
-
getClock
-
counterSupplier
public static com.codahale.metrics.MetricRegistry.MetricSupplier<com.codahale.metrics.Counter> counterSupplier(SolrResourceLoader loader, PluginInfo info) Create aCountersupplier.- Parameters:
loader- resource loaderinfo- plugin configuration, or null for default- Returns:
- configured supplier instance, or default instance if configuration was invalid
-
meterSupplier
public static com.codahale.metrics.MetricRegistry.MetricSupplier<com.codahale.metrics.Meter> meterSupplier(SolrResourceLoader loader, PluginInfo info) Create aMetersupplier.- Parameters:
loader- resource loaderinfo- plugin configuration, or null for default- Returns:
- configured supplier instance, or default instance if configuration was invalid
-
timerSupplier
public static com.codahale.metrics.MetricRegistry.MetricSupplier<com.codahale.metrics.Timer> timerSupplier(SolrResourceLoader loader, PluginInfo info) Create aTimersupplier.- Parameters:
loader- resource loaderinfo- plugin configuration, or null for default- Returns:
- configured supplier instance, or default instance if configuration was invalid
-
histogramSupplier
public static com.codahale.metrics.MetricRegistry.MetricSupplier<com.codahale.metrics.Histogram> histogramSupplier(SolrResourceLoader loader, PluginInfo info) Create aHistogramsupplier.- Parameters:
info- plugin configuration, or null for default- Returns:
- configured supplier instance, or default instance if configuration was invalid
-
getNoOpGauge
public static <T> com.codahale.metrics.Gauge<T> getNoOpGauge(com.codahale.metrics.Gauge<T> actual)
-