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 builder
PROTOTYPE - type of the prototype interface that would be built by Prototype.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 Classes
    Modifier and Type
    Class
    Description
    protected static class 
    Generated implementation of the prototype, can be extended by descendant prototype implementations.
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    Protected to support extensibility.
  • Method Summary

    Modifier and Type
    Method
    Description
    Clear existing value of nonLetterPrefix.
    protected Optional<Config>
    Configuration used to configure this instance.
    config(Config config)
    Update builder from configuration (node of this type).
    Update this builder from an existing prototype instance.
    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, with m_ 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, with m_ 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 void
    Handles 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.
     
    protected void
    Validates required properties.

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface Prototype.Builder

    buildPrototype, self
    Modifier and Type
    Method
    Description
    Create an instance of the Prototype.
    default BUILDER
    Instance of this builder as the correct type.
  • Constructor Details

    • BuilderBase

      protected BuilderBase()
      Protected to support extensibility.
  • Method Details

    • from

      public BUILDER from(PrometheusNamingConventionConfig prototype)
      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

      public BUILDER config(Config config)
      Update builder from configuration (node of this type). If a value is present in configuration, it would override currently configured values.
      Specified by:
      config in interface ConfigBuilderSupport.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

      public BUILDER timerSuffix(String timerSuffix)
      Suffix which identifies a timer name before Prometheus adds _seconds.
      Parameters:
      timerSuffix - timer suffix
      Returns:
      updated builder instance
      See Also:
    • clearNonLetterPrefix

      public BUILDER clearNonLetterPrefix()
      Clear existing value of nonLetterPrefix.
      Returns:
      updated builder instance
      See Also:
    • nonLetterPrefix

      public BUILDER 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, with m_ 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

      public String timerSuffix()
      Suffix which identifies a timer name before Prometheus adds _seconds.
      Returns:
      timer suffix
    • nonLetterPrefix

      public Optional<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, with m_ 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

      public String toString()
      Overrides:
      toString in class Object
    • preBuildPrototype

      protected void preBuildPrototype()
      Handles providers and decorators.
    • validatePrototype

      protected void validatePrototype()
      Validates required properties.
    • config

      protected Optional<Config> config()
      Configuration used to configure this instance.
      Returns:
      config instance