Package org.apache.solr.metrics
Class MetricSuppliers
- java.lang.Object
-
- org.apache.solr.metrics.MetricSuppliers
-
public class MetricSuppliers extends Object
Helper class for constructing instances ofMetricRegistry.MetricSupplierbased on plugin configuration. This allows us to customize eg.Reservoirimplementations and parameters for timers and histograms.Custom supplier implementations must provide a zero-args constructor, and may optionally implement
PluginInfoInitializedinterface for configuration - if they don't thenSolrPluginUtils.invokeSetters(Object, Iterable, boolean)will be used for initialization.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classMetricSuppliers.DefaultCounterSupplierDefaultCountersupplier.static classMetricSuppliers.DefaultHistogramSupplierDefault supplier ofHistograminstances, with configurable reservoir.static classMetricSuppliers.DefaultMeterSupplierDefaultMetersupplier.static classMetricSuppliers.DefaultTimerSupplierDefault supplier ofTimerinstances, with configurable clock and reservoir.
-
Field Summary
Fields Modifier and Type Field Description static StringCLOCKClock type parameter.static StringCLOCK_CPUCPU-time clock.static StringCLOCK_USERUser-time clock.static StringRESERVOIRImplementation class, must implementReservoir.static StringRESERVOIR_EDR_ALPHAAlpha parameter ofExponentiallyDecayingReservoir.static StringRESERVOIR_SIZESize of reservoir.static StringRESERVOIR_WINDOWTime window in seconds ofSlidingTimeWindowReservoir.
-
Constructor Summary
Constructors Constructor Description MetricSuppliers()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static com.codahale.metrics.MetricRegistry.MetricSupplier<com.codahale.metrics.Counter>counterSupplier(SolrResourceLoader loader, PluginInfo info)Create aCountersupplier.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 Detail
-
CLOCK
public static final String CLOCK
Clock type parameter.- See Also:
- Constant Field Values
-
CLOCK_USER
public static final String CLOCK_USER
User-time clock.- See Also:
- Constant Field Values
-
CLOCK_CPU
public static final String CLOCK_CPU
CPU-time clock.- See Also:
- Constant Field Values
-
RESERVOIR
public static final String RESERVOIR
Implementation class, must implementReservoir. Supports non-standard configuration of the implementations available in metrics-core.- See Also:
- Constant Field Values
-
RESERVOIR_SIZE
public static final String RESERVOIR_SIZE
Size of reservoir.- See Also:
- Constant Field Values
-
RESERVOIR_EDR_ALPHA
public static final String RESERVOIR_EDR_ALPHA
Alpha parameter ofExponentiallyDecayingReservoir.- See Also:
- Constant Field Values
-
RESERVOIR_WINDOW
public static final String RESERVOIR_WINDOW
Time window in seconds ofSlidingTimeWindowReservoir.- See Also:
- Constant Field Values
-
-
Method Detail
-
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
-
-