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

java.lang.Object
io.helidon.webserver.observe.metrics.AutoHttpMetricsConfig.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:
AutoHttpMetricsConfig.Builder
Enclosing interface:
AutoHttpMetricsConfig

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

    • BuilderBase

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

    • from

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

      public BUILDER enabled(boolean enabled)
      Whether automatic metrics collection as a whole is enabled.
      Parameters:
      enabled - automatic metrics collection enabled
      Returns:
      updated builder instance
      See Also:
    • clearSockets

      public BUILDER clearSockets()
      Clear all sockets.
      Returns:
      updated builder instance
      See Also:
    • sockets

      public BUILDER sockets(Set<String> sockets)
      Socket names for sockets to be instrumented with automatic metrics. Defaults to all sockets.
      Parameters:
      sockets - socket names
      Returns:
      updated builder instance
      See Also:
    • addSockets

      public BUILDER addSockets(Set<String> sockets)
      Socket names for sockets to be instrumented with automatic metrics. Defaults to all sockets.
      Parameters:
      sockets - socket names
      Returns:
      updated builder instance
      See Also:
    • clearPaths

      public BUILDER clearPaths()
      Clear all paths.
      Returns:
      updated builder instance
      See Also:
    • paths

      public BUILDER paths(List<? extends AutoHttpMetricsPathConfig> paths)
      Automatic metrics collection settings. Default excludes built-in Helidon paths (e.g., metrics, health). A request's path and HTTP method are checked against each entry under paths in order.
      • If a request matches no entry, then the request is measured.
      • If a request matches multiple entries, then the first match wins.
      Parameters:
      paths - automatic metrics collection settings
      Returns:
      updated builder instance
      See Also:
    • addPaths

      public BUILDER addPaths(List<? extends AutoHttpMetricsPathConfig> paths)
      Automatic metrics collection settings. Default excludes built-in Helidon paths (e.g., metrics, health). A request's path and HTTP method are checked against each entry under paths in order.
      • If a request matches no entry, then the request is measured.
      • If a request matches multiple entries, then the first match wins.
      Parameters:
      paths - automatic metrics collection settings
      Returns:
      updated builder instance
      See Also:
    • addPath

      public BUILDER addPath(AutoHttpMetricsPathConfig path)
      Automatic metrics collection settings. Default excludes built-in Helidon paths (e.g., metrics, health). A request's path and HTTP method are checked against each entry under paths in order.
      • If a request matches no entry, then the request is measured.
      • If a request matches multiple entries, then the first match wins.
      Parameters:
      path - add single automatic metrics collection settings
      Returns:
      updated builder instance
      See Also:
    • addPath

      Automatic metrics collection settings. Default excludes built-in Helidon paths (e.g., metrics, health). A request's path and HTTP method are checked against each entry under paths in order.
      • If a request matches no entry, then the request is measured.
      • If a request matches multiple entries, then the first match wins.
      Parameters:
      consumer - consumer of builder for automatic metrics collection settings
      Returns:
      updated builder instance
      See Also:
    • clearOptIn

      public BUILDER clearOptIn()
      Clear all optIn.
      Returns:
      updated builder instance
      See Also:
    • optIn

      public BUILDER optIn(List<String> optIn)
      Elective attribute for which to opt in. Each string in the list is of the form meter-name:attribute-name where meter-name is the name of the meter and attribute-name is the name of an attribute (tag) which is optional on that meter.
      Parameters:
      optIn - opt-in attributes to be provided
      Returns:
      updated builder instance
      See Also:
    • addOptIn

      public BUILDER addOptIn(List<String> optIn)
      Elective attribute for which to opt in. Each string in the list is of the form meter-name:attribute-name where meter-name is the name of the meter and attribute-name is the name of an attribute (tag) which is optional on that meter.
      Parameters:
      optIn - opt-in attributes to be provided
      Returns:
      updated builder instance
      See Also:
    • clearKnownMethods

      public BUILDER clearKnownMethods()
      Clear all knownMethods.
      Returns:
      updated builder instance
      See Also:
    • knownMethods

      public BUILDER knownMethods(List<String> knownMethods)
      Exact, case-sensitive HTTP methods to be used in the HTTP method tag for automatic metrics, defaulted to the standard HTTP methods; assigning this value fully replaces the set of method names.

      Default known HTTP methods: CONNECT, DELETE, GET, HEAD, OPTIONS, PATCH, POST, PUT, QUERY, and TRACE. Unlisted methods are reported as _OTHER, so configurations that add additional method names must also include default methods they intend to retain.

      Method names are matched exactly. See the OpenTelemetry semantic convention for HTTP request methods.

      Parameters:
      knownMethods - known HTTP methods
      Returns:
      updated builder instance
      See Also:
    • addKnownMethods

      public BUILDER addKnownMethods(List<String> knownMethods)
      Exact, case-sensitive HTTP methods to be used in the HTTP method tag for automatic metrics, defaulted to the standard HTTP methods; assigning this value fully replaces the set of method names.

      Default known HTTP methods: CONNECT, DELETE, GET, HEAD, OPTIONS, PATCH, POST, PUT, QUERY, and TRACE. Unlisted methods are reported as _OTHER, so configurations that add additional method names must also include default methods they intend to retain.

      Method names are matched exactly. See the OpenTelemetry semantic convention for HTTP request methods.

      Parameters:
      knownMethods - known HTTP methods
      Returns:
      updated builder instance
      See Also:
    • addKnownMethod

      public BUILDER addKnownMethod(String knownMethod)
      Exact, case-sensitive HTTP methods to be used in the HTTP method tag for automatic metrics, defaulted to the standard HTTP methods; assigning this value fully replaces the set of method names.

      Default known HTTP methods: CONNECT, DELETE, GET, HEAD, OPTIONS, PATCH, POST, PUT, QUERY, and TRACE. Unlisted methods are reported as _OTHER, so configurations that add additional method names must also include default methods they intend to retain.

      Method names are matched exactly. See the OpenTelemetry semantic convention for HTTP request methods.

      Parameters:
      knownMethod - add single known HTTP methods
      Returns:
      updated builder instance
      See Also:
    • useUpdatedHttpMetrics

      @Deprecated public BUILDER useUpdatedHttpMetrics(boolean useUpdatedHttpMetrics)
      Deprecated.
      This option is ignored and will be removed in a future release.
      Retained for configuration compatibility with Helidon 4.x; Helidon 27 ignores the value and always uses the updated automatic HTTP metrics behavior.
      Parameters:
      useUpdatedHttpMetrics - configured value, which does not affect automatic HTTP metrics behavior
      Returns:
      updated builder instance
      See Also:
    • enabled

      public boolean enabled()
      Whether automatic metrics collection as a whole is enabled.
      Returns:
      automatic metrics collection enabled
    • sockets

      public Set<String> sockets()
      Socket names for sockets to be instrumented with automatic metrics. Defaults to all sockets.
      Returns:
      socket names
    • paths

      Automatic metrics collection settings. Default excludes built-in Helidon paths (e.g., metrics, health). A request's path and HTTP method are checked against each entry under paths in order.
      • If a request matches no entry, then the request is measured.
      • If a request matches multiple entries, then the first match wins.
      Returns:
      automatic metrics collection settings
    • optIn

      public List<String> optIn()
      Elective attribute for which to opt in. Each string in the list is of the form meter-name:attribute-name where meter-name is the name of the meter and attribute-name is the name of an attribute (tag) which is optional on that meter.
      Returns:
      opt-in attributes to be provided
    • knownMethods

      public List<String> knownMethods()
      Exact, case-sensitive HTTP methods to be used in the HTTP method tag for automatic metrics, defaulted to the standard HTTP methods; assigning this value fully replaces the set of method names.

      Default known HTTP methods: CONNECT, DELETE, GET, HEAD, OPTIONS, PATCH, POST, PUT, QUERY, and TRACE. Unlisted methods are reported as _OTHER, so configurations that add additional method names must also include default methods they intend to retain.

      Method names are matched exactly. See the OpenTelemetry semantic convention for HTTP request methods.

      Returns:
      known HTTP methods
    • useUpdatedHttpMetrics

      @Deprecated public boolean useUpdatedHttpMetrics()
      Deprecated.
      This option is ignored and will be removed in a future release.
      Retained for configuration compatibility with Helidon 4.x; Helidon 27 ignores the value and always uses the updated automatic HTTP metrics behavior.
      Returns:
      configured value, which does not affect automatic HTTP metrics behavior
    • 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