Class MetricsConfig.BuilderBase<BUILDER extends MetricsConfig.BuilderBase<BUILDER,PROTOTYPE>,PROTOTYPE extends MetricsConfig>

java.lang.Object
io.helidon.metrics.api.MetricsConfig.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>, Prototype.ConfiguredBuilder<BUILDER,PROTOTYPE>
Direct Known Subclasses:
MetricsConfig.Builder
Enclosing interface:
MetricsConfig

public abstract static class MetricsConfig.BuilderBase<BUILDER extends MetricsConfig.BuilderBase<BUILDER,PROTOTYPE>,PROTOTYPE extends MetricsConfig> extends Object implements Prototype.ConfiguredBuilder<BUILDER,PROTOTYPE>
Fluent API builder base for MetricsConfig.
  • Constructor Details

    • BuilderBase

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

    • from

      public BUILDER from(MetricsConfig 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

      public BUILDER from(MetricsConfig.BuilderBase<?,?> builder)
      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 Prototype.ConfiguredBuilder<BUILDER extends MetricsConfig.BuilderBase<BUILDER,PROTOTYPE>,PROTOTYPE extends MetricsConfig>
      Parameters:
      config - configuration instance used to obtain values to update this builder
      Returns:
      updated builder instance
    • enabled

      public BUILDER enabled(boolean enabled)
      Whether metrics functionality is enabled.
      Parameters:
      enabled - if metrics are configured to be enabled
      Returns:
      updated builder instance
      See Also:
    • permitAll

      public BUILDER permitAll(boolean permitAll)
      Whether to allow anybody to access the endpoint.
      Parameters:
      permitAll - whether to permit access to metrics endpoint to anybody, defaults to true
      Returns:
      updated builder instance
      See Also:
    • roles

      public BUILDER roles(List<? extends String> roles)
      Hints for role names the user is expected to be in.
      Parameters:
      roles - list of hints
      Returns:
      updated builder instance
      See Also:
    • addRoles

      public BUILDER addRoles(List<? extends String> roles)
      Hints for role names the user is expected to be in.
      Parameters:
      roles - list of hints
      Returns:
      updated builder instance
      See Also:
    • keyPerformanceIndicatorMetricsConfig

      public BUILDER keyPerformanceIndicatorMetricsConfig(KeyPerformanceIndicatorMetricsConfig keyPerformanceIndicatorMetricsConfig)
      Key performance indicator metrics settings.
      Parameters:
      keyPerformanceIndicatorMetricsConfig - key performance indicator metrics settings
      Returns:
      updated builder instance
      See Also:
    • keyPerformanceIndicatorMetricsConfig

      public BUILDER keyPerformanceIndicatorMetricsConfig(Consumer<KeyPerformanceIndicatorMetricsConfig.Builder> consumer)
      Key performance indicator metrics settings.
      Parameters:
      consumer - consumer of builder for key performance indicator metrics settings
      Returns:
      updated builder instance
      See Also:
    • keyPerformanceIndicatorMetricsConfig

      public BUILDER keyPerformanceIndicatorMetricsConfig(Supplier<? extends KeyPerformanceIndicatorMetricsConfig> supplier)
      Key performance indicator metrics settings.
      Parameters:
      supplier - supplier of key performance indicator metrics settings
      Returns:
      updated builder instance
      See Also:
    • tags

      public BUILDER tags(List<? extends Tag> tags)
      Global tags.
      Parameters:
      tags - name/value pairs for global tags
      Returns:
      updated builder instance
      See Also:
    • addTags

      public BUILDER addTags(List<? extends Tag> tags)
      Global tags.
      Parameters:
      tags - name/value pairs for global tags
      Returns:
      updated builder instance
      See Also:
    • clearAppName

      public BUILDER clearAppName()
      Clear existing value of this property.
      Returns:
      updated builder instance
      See Also:
    • appName

      public BUILDER appName(String appName)
      Value for the application tag to be added to each meter ID.
      Parameters:
      appName - application tag value
      Returns:
      updated builder instance
      See Also:
    • clearAppTagName

      public BUILDER clearAppTagName()
      Clear existing value of this property.
      Returns:
      updated builder instance
      See Also:
    • appTagName

      public BUILDER appTagName(String appTagName)
      Name for the application tag to be added to each meter ID.
      Parameters:
      appTagName - application tag name
      Returns:
      updated builder instance
      See Also:
    • scoping

      public BUILDER scoping(ScopingConfig scoping)
      Settings related to scoping management.
      Parameters:
      scoping - scoping settings
      Returns:
      updated builder instance
      See Also:
    • scoping

      public BUILDER scoping(Consumer<ScopingConfig.Builder> consumer)
      Settings related to scoping management.
      Parameters:
      consumer - consumer of builder for scoping settings
      Returns:
      updated builder instance
      See Also:
    • scoping

      public BUILDER scoping(Supplier<? extends ScopingConfig> supplier)
      Settings related to scoping management.
      Parameters:
      supplier - supplier of scoping settings
      Returns:
      updated builder instance
      See Also:
    • restRequestEnabled

      public BUILDER restRequestEnabled(boolean restRequestEnabled)
      Whether automatic REST request metrics should be measured.
      Parameters:
      restRequestEnabled - true/false
      Returns:
      updated builder instance
      See Also:
    • gcTimeType

      @Deprecated(since="4.1", forRemoval=true) public BUILDER gcTimeType(GcTimeType gcTimeType)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Provided for backward compatibility only; no replacement
      Whether the gc.time meter should be registered as a gauge (vs. a counter). The gc.time meter is inspired by the MicroProfile Metrics spec, in which the meter was originally checked to be a counter but starting in 5.1 was checked be a gauge. For the duration of Helidon 4.x users can choose which type of meter Helidon registers for gc.time.
      Parameters:
      gcTimeType - the type of meter to use for registering gc.time
      Returns:
      updated builder instance
      See Also:
    • enabled

      public boolean enabled()
      Whether metrics functionality is enabled.
      Returns:
      the enabled
    • permitAll

      public boolean permitAll()
      Whether to allow anybody to access the endpoint.
      Returns:
      the permit all
      See Also:
    • roles

      public List<String> roles()
      Hints for role names the user is expected to be in.
      Returns:
      the roles
    • keyPerformanceIndicatorMetricsConfig

      public Optional<KeyPerformanceIndicatorMetricsConfig> keyPerformanceIndicatorMetricsConfig()
      Key performance indicator metrics settings.
      Returns:
      the key performance indicator metrics config
    • tags

      public List<Tag> tags()
      Global tags.
      Returns:
      the tags
    • appName

      public Optional<String> appName()
      Value for the application tag to be added to each meter ID.
      Returns:
      the app name
    • appTagName

      public Optional<String> appTagName()
      Name for the application tag to be added to each meter ID.
      Returns:
      the app tag name
    • scoping

      public Optional<ScopingConfig> scoping()
      Settings related to scoping management.
      Returns:
      the scoping
    • restRequestEnabled

      public boolean restRequestEnabled()
      Whether automatic REST request metrics should be measured.
      Returns:
      the rest request enabled
    • gcTimeType

      @Deprecated(since="4.1", forRemoval=true) public GcTimeType gcTimeType()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Provided for backward compatibility only; no replacement
      Whether the gc.time meter should be registered as a gauge (vs. a counter). The gc.time meter is inspired by the MicroProfile Metrics spec, in which the meter was originally checked to be a counter but starting in 5.1 was checked be a gauge. For the duration of Helidon 4.x users can choose which type of meter Helidon registers for gc.time.
      Returns:
      the gc time type
    • config

      public Optional<Config> config()
      If this instance was configured, this would be the config instance used.
      Returns:
      config node used to configure this builder, or empty if not configured
    • toString

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

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

      protected void validatePrototype()
      Validates required properties.