Class MetricsObserverConfig.BuilderBase.MetricsObserverConfigImpl
java.lang.Object
io.helidon.webserver.observe.ObserverConfigBase.BuilderBase.ObserverConfigBaseImpl
io.helidon.webserver.observe.metrics.MetricsObserverConfig.BuilderBase.MetricsObserverConfigImpl
- All Implemented Interfaces:
Prototype.Api, Prototype.Factory<MetricsObserver>, MetricsObserverConfig, ObserverConfigBase, Supplier<MetricsObserver>
- Enclosing class:
MetricsObserverConfig.BuilderBase<BUILDER extends MetricsObserverConfig.BuilderBase<BUILDER, PROTOTYPE>, PROTOTYPE extends MetricsObserverConfig>
protected static class MetricsObserverConfig.BuilderBase.MetricsObserverConfigImpl
extends ObserverConfigBase.BuilderBase.ObserverConfigBaseImpl
implements MetricsObserverConfig, Supplier<MetricsObserver>
Generated implementation of the prototype, can be extended by descendant prototype implementations.
-
Nested Class Summary
Nested classes/interfaces inherited from interface MetricsObserverConfig
MetricsObserverConfig.Builder, MetricsObserverConfig.BuilderBase<BUILDER, PROTOTYPE>Modifier and TypeInterfaceDescriptionstatic classFluent API builder forMetricsObserver.static classMetricsObserverConfig.BuilderBase<BUILDER extends MetricsObserverConfig.BuilderBase<BUILDER, PROTOTYPE>, PROTOTYPE extends MetricsObserverConfig>Fluent API builder base forMetricsObserverConfig.Nested classes/interfaces inherited from interface ObserverConfigBase
ObserverConfigBase.Builder, ObserverConfigBase.BuilderBase<BUILDER, PROTOTYPE>Modifier and TypeInterfaceDescriptionstatic classFluent API builder forObserverConfigBase.static classObserverConfigBase.BuilderBase<BUILDER extends ObserverConfigBase.BuilderBase<BUILDER, PROTOTYPE>, PROTOTYPE extends ObserverConfigBase>Fluent API builder base forObserverConfigBase. -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedMetricsObserverConfigImpl(MetricsObserverConfig.BuilderBase<?, ?> builder) Create an instance providing a builder. -
Method Summary
Modifier and TypeMethodDescriptionAutomatic metrics collection settings.build()Create a new runtime instance from this prototype.endpoint()Endpoint option.booleanget()inthashCode()If you want to have multiple meter registries with different endpoints, you may create them usingwhereMeterRegistry meterRegistry = io.helidon.service.registry.Services .get(io.helidon.metrics.api.MetricsFactory.class) .createMeterRegistry(metricsConfig); MetricsObserver.builder() .endpoint("metrics-2") .metricsConfig(metricsConfig) .meterRegistry(meterRegistry) // further settings on the observer builder, etc. .build();metricsConfigcan contain registry-specific settings.Assigns metrics settings for the observer endpoint, including whether the endpoint is enabled and its access controls.name()Name of this observer.toString()Methods inherited from class ObserverConfigBase.BuilderBase.ObserverConfigBaseImpl
config, enabled, name
-
Constructor Details
-
MetricsObserverConfigImpl
Create an instance providing a builder.- Parameters:
builder- extending builder base of this prototype
-
-
Method Details
-
build
Create a new runtime instance from this prototype.- Specified by:
buildin interfacePrototype.Factory<MetricsObserver>- Returns:
- new configured runtime instance
-
get
- Specified by:
getin interfaceSupplier<MetricsObserver>
-
endpoint
Description copied from interface:MetricsObserverConfigEndpoint option.- Specified by:
endpointin interfaceMetricsObserverConfig- Returns:
- the endpoint option
-
autoHttpMetrics
Description copied from interface:MetricsObserverConfigAutomatic metrics collection settings.- Specified by:
autoHttpMetricsin interfaceMetricsObserverConfig- Returns:
- auto metrics collection settings
-
metricsConfig
Description copied from interface:MetricsObserverConfigAssigns metrics settings for the observer endpoint, including whether the endpoint is enabled and its access controls. With a customMeterRegistry, the settings also describe the registry-specific behavior. With the shared registry, registry-specific behavior uses the settings from that registry's owningMetricsFactorywhile the endpoint settings assigned here still apply.- Specified by:
metricsConfigin interfaceMetricsObserverConfig- Returns:
- metrics settings for the observer endpoint and, when configured, a custom registry
-
meterRegistry
Description copied from interface:MetricsObserverConfigIf you want to have multiple meter registries with different endpoints, you may create them usingwhereMeterRegistry meterRegistry = io.helidon.service.registry.Services .get(io.helidon.metrics.api.MetricsFactory.class) .createMeterRegistry(metricsConfig); MetricsObserver.builder() .endpoint("metrics-2") .metricsConfig(metricsConfig) .meterRegistry(meterRegistry) // further settings on the observer builder, etc. .build();metricsConfigcan contain registry-specific settings. Configure a differentMetricsObserverConfig.endpoint()on each observer.A meter registry has one effective set of registry-specific settings. Multiple metrics observers may share the same registry only when their registry-specific settings are equivalent; endpoint settings may differ. Use separate meter registries for observers that require different registry-specific behavior.
A custom meter registry passed to an observer remains caller-owned. Close it after all observers using it have stopped.
If this method is not called, a registry-managed
MetricsObserveruses the shared instance from its owningServiceRegistry. A directly created observer uses the global shared instance as provided byServices.get(MeterRegistry.class).- Specified by:
meterRegistryin interfaceMetricsObserverConfig- Returns:
- meterRegistry to use in this metric support
-
toString
- Overrides:
toStringin classObserverConfigBase.BuilderBase.ObserverConfigBaseImpl
-
equals
- Overrides:
equalsin classObserverConfigBase.BuilderBase.ObserverConfigBaseImpl
-
hashCode
public int hashCode()- Overrides:
hashCodein classObserverConfigBase.BuilderBase.ObserverConfigBaseImpl
-
name
String name()Description copied from interface:ObserverConfigBaseName of this observer. Each observer should provide its own default for this property.- Specified by:
namein interfaceObserverConfigBase- Returns:
- observer name
-