Class MeterRegistryFactory
MeterRegistry Helidon SE uses to collect meters and report their metrics.
 
     In reality, we use a CompositeMeterRegistry to which we, by default,
     add a PrometheusMeterRegistry and to which the developer can add,
     via either configuration or builder, other MeterRegistry instances.
 
Using the factory
Use this factory in either of two ways:
- 
             Access the singleton instance via getInstance()orgetInstance(Builder). The factory remembers the factory instance, lazily instantiated by the most recent invocation of either method.
- 
             A custom instance via create()orcreate(Config). Instances of the factory created this way are independent of the singleton created bygetInstance()orgetInstance(Builder).
Adding developer-requested registries
     In Micrometer, different registries report their contents in different formats. Further, there is no common abstract
     method defined on MeterRegistry which all implementations override; each MeterRegistry  has its own
     particular way of furnishing metrics output.
     By default, we use a PrometheusMeterRegistry to support Prometheus/OpenMetrics format. Developers can enroll other
     registries to support other formats. We need to know which registry to use in response to receiving an HTTP request for
     Micrometer metrics output.
 
     To allow us to do this, when our code or developer's enrolls a registry, it also passes a function that accepts a
     ServerRequest and returns an Optional<Handler>. The function is expected to inspect the request,
     and if
     it wants to process that request (which means, if that registry should be used to respond to that request),
     it returns an Optional.of a Handler. The handler uses the registry-specific mechanism for retrieving
     formatted meter and metrics information and sets and returns the HTTP response. If the function decides that its
     corresponding meter registry is not suitable for that particular request, it returns an Optional.empty().
 
     When a Micrometer request arrives, the Helidon code invokes the functions associated with all enrolled registries, in the
     order of enrollment. The first function that returns a non-empty Optional wins and must populate and return the
     ServerResponse.
 
- 
Nested Class SummaryNested ClassesModifier and TypeClassDescriptionstatic classBuilder for constructingMeterRegistryFactoryinstances.static enumAvailable built-in registry types.
- 
Method SummaryModifier and TypeMethodDescriptionstatic MeterRegistryFactory.Builderbuilder()Returns a newBuilderfor constructing aMeterRegistryFactory.static MeterRegistryFactorycreate()Creates a new factory using default settings (no config).static MeterRegistryFactoryCreates a new factory using the specified config.static MeterRegistryFactoryReturns the singleton instance of the factory.static MeterRegistryFactorygetInstance(MeterRegistryFactory.Builder builder) Creates and saves as the singleton a new factory.io.micrometer.core.instrument.MeterRegistryReturns theMeterRegistryassociated with this factory instance.
- 
Method Details- 
createCreates a new factory using default settings (no config).- Returns:
- initialized MeterRegistryFactory
 
- 
createCreates a new factory using the specified config.- Parameters:
- config- the config to use in initializing the factory
- Returns:
- initialized MeterRegistryFactory
 
- 
getInstanceReturns the singleton instance of the factory.- Returns:
- factory singleton
 
- 
getInstanceCreates and saves as the singleton a new factory.- Parameters:
- builder- the Builder to use in constructing the new singleton instance
- Returns:
- MeterRegistryFactory using the Builder
 
- 
builderReturns a newBuilderfor constructing aMeterRegistryFactory.- Returns:
- initialized builder
 
- 
meterRegistrypublic io.micrometer.core.instrument.MeterRegistry meterRegistry()Returns theMeterRegistryassociated with this factory instance.- Returns:
- the meter registry
 
 
-