Interface MetricsObserverConfig
- All Superinterfaces:
ObserverConfigBase, Prototype.Api, Prototype.Factory<MetricsObserver>
- All Known Implementing Classes:
MetricsObserverConfig.BuilderBase.MetricsObserverConfigImpl
Metrics Observer configuration.
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic classFluent API builder forMetricsObserver.static classMetricsObserverConfig.BuilderBase<BUILDER extends MetricsObserverConfig.BuilderBase<BUILDER, PROTOTYPE>, PROTOTYPE extends MetricsObserverConfig>Fluent API builder base forMetricsObserverConfig. -
Method Summary
Modifier and TypeMethodDescriptiondefault Optional<AutoHttpMetricsConfig> Automatic metrics collection settings.builder()Create a new fluent API builder to customize configuration.builder(MetricsObserverConfig instance) Create a new fluent API builder from an existing instance.static MetricsObserverConfigcreate()Create a new instance with default values.static MetricsObserverConfigCreate a new instance from configuration.endpoint()Endpoint option.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.Methods inherited from interface ObserverConfigBase
config, enabledMethods inherited from interface Prototype.Factory
buildModifier and TypeMethodDescriptionbuild()Create a new instance of the runtime type from this config object.
-
Method Details
-
builder
Create a new fluent API builder to customize configuration.- Returns:
- a new builder
-
builder
Create a new fluent API builder from an existing instance.- Parameters:
instance- an existing instance used as a base for the builder- Returns:
- a builder based on an instance
-
create
Create a new instance from configuration.- Parameters:
config- used to configure the new instance- Returns:
- a new instance configured from configuration
-
create
Create a new instance with default values.- Returns:
- a new instance
-
endpoint
-
autoHttpMetrics
Automatic metrics collection settings.- Returns:
- auto metrics collection settings
-
metricsConfig
MetricsConfig metricsConfig()Assigns 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.- Returns:
- metrics settings for the observer endpoint and, when configured, a custom registry
-
meterRegistry
Optional<MeterRegistry> meterRegistry()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. Configure a differentendpoint()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).- Returns:
- meterRegistry to use in this metric support
-
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
-