Class PrometheusNamingConventionConfig.BuilderBase<BUILDER extends PrometheusNamingConventionConfig.BuilderBase<BUILDER, PROTOTYPE>, PROTOTYPE extends PrometheusNamingConventionConfig>
java.lang.Object
io.helidon.metrics.providers.micrometer.PrometheusNamingConventionConfig.BuilderBase<BUILDER, PROTOTYPE>
- Type Parameters:
BUILDER- type of the builder extending this abstract builderPROTOTYPE- type of the prototype interface that would be built byPrototype.Builder.buildPrototype()
- All Implemented Interfaces:
Prototype.Builder<BUILDER, PROTOTYPE>, ConfigBuilderSupport.ConfiguredBuilder<BUILDER, PROTOTYPE>
- Direct Known Subclasses:
PrometheusNamingConventionConfig.Builder
- Enclosing interface:
PrometheusNamingConventionConfig
public abstract static class PrometheusNamingConventionConfig.BuilderBase<BUILDER extends PrometheusNamingConventionConfig.BuilderBase<BUILDER, PROTOTYPE>, PROTOTYPE extends PrometheusNamingConventionConfig>
extends Object
implements ConfigBuilderSupport.ConfiguredBuilder<BUILDER, PROTOTYPE>
Fluent API builder base for
PrometheusNamingConventionConfig.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static classGenerated implementation of the prototype, can be extended by descendant prototype implementations. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionClear existing value of nonLetterPrefix.config()Configuration used to configure this instance.Update builder from configuration (node of this type).from(PrometheusNamingConventionConfig prototype) Update this builder from an existing prototype instance.from(PrometheusNamingConventionConfig.BuilderBase<?, ?> builder) Update this builder from an existing prototype builder instance.Prefix to add to metric names and tag keys which do not begin with a letter; configuring this setting enables legacy simpleclient-compatible normalization, withm_reproducing the naming from earlier Helidon releases, and preserves user-supplied reserved suffixes such as_total,_created,_bucket, and_info, whereas leaving it unset uses the new Prometheus client's normalization; the prefix must be non-empty and match[A-Za-z][A-Za-z0-9_]*, and constructing the publisher fails if the value is invalid.nonLetterPrefix(String nonLetterPrefix) Prefix to add to metric names and tag keys which do not begin with a letter; configuring this setting enables legacy simpleclient-compatible normalization, withm_reproducing the naming from earlier Helidon releases, and preserves user-supplied reserved suffixes such as_total,_created,_bucket, and_info, whereas leaving it unset uses the new Prometheus client's normalization; the prefix must be non-empty and match[A-Za-z][A-Za-z0-9_]*, and constructing the publisher fails if the value is invalid.protected voidHandles providers and decorators.Suffix which identifies a timer name before Prometheus adds_seconds.timerSuffix(String timerSuffix) Suffix which identifies a timer name before Prometheus adds_seconds.toString()protected voidValidates required properties.Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface Prototype.Builder
buildPrototype, self
-
Constructor Details
-
BuilderBase
protected BuilderBase()Protected to support extensibility.
-
-
Method Details
-
from
Update this builder from an existing prototype instance. This method disables automatic service discovery.- Parameters:
prototype- existing prototype to update this builder from- Returns:
- updated builder instance
-
from
Update this builder from an existing prototype builder instance.- Parameters:
builder- existing builder prototype to update this builder from- Returns:
- updated builder instance
-
config
Update builder from configuration (node of this type). If a value is present in configuration, it would override currently configured values.- Specified by:
configin interfaceConfigBuilderSupport.ConfiguredBuilder<BUILDER extends PrometheusNamingConventionConfig.BuilderBase<BUILDER, PROTOTYPE>, PROTOTYPE extends PrometheusNamingConventionConfig>- Parameters:
config- configuration instance used to obtain values to update this builder- Returns:
- updated builder instance
-
timerSuffix
-
clearNonLetterPrefix
Clear existing value of nonLetterPrefix.- Returns:
- updated builder instance
- See Also:
-
nonLetterPrefix
Prefix to add to metric names and tag keys which do not begin with a letter; configuring this setting enables legacy simpleclient-compatible normalization, withm_reproducing the naming from earlier Helidon releases, and preserves user-supplied reserved suffixes such as_total,_created,_bucket, and_info, whereas leaving it unset uses the new Prometheus client's normalization; the prefix must be non-empty and match[A-Za-z][A-Za-z0-9_]*, and constructing the publisher fails if the value is invalid.- Parameters:
nonLetterPrefix- non-letter prefix- Returns:
- updated builder instance
- See Also:
-
timerSuffix
Suffix which identifies a timer name before Prometheus adds_seconds.- Returns:
- timer suffix
-
nonLetterPrefix
Prefix to add to metric names and tag keys which do not begin with a letter; configuring this setting enables legacy simpleclient-compatible normalization, withm_reproducing the naming from earlier Helidon releases, and preserves user-supplied reserved suffixes such as_total,_created,_bucket, and_info, whereas leaving it unset uses the new Prometheus client's normalization; the prefix must be non-empty and match[A-Za-z][A-Za-z0-9_]*, and constructing the publisher fails if the value is invalid.- Returns:
- non-letter prefix
-
toString
-
preBuildPrototype
protected void preBuildPrototype()Handles providers and decorators. -
validatePrototype
protected void validatePrototype()Validates required properties. -
config
-