This is a standalone configuration type, prefix from configuration root: metrics

This type provides the following service implementations:

  • io.helidon.webserver.observe.spi.ObserveProvider

Configuration options

Table 1. Optional configuration options
key type default value description

app-name

string

 

Value for the application tag to be added to each meter ID.

app-tag-name

string

 

Name for the application tag to be added to each meter ID.

built-in-meter-name-format

BuiltInMeterNameFormat (SNAKE, CAMEL)

BuiltInMeterNameFormat.CAMEL

Output format for built-in meter names.

BuiltInMeterNameFormat.SNAKE selects "snake_case" which does not conform to the MicroProfile
Metrics specification.

Allowed values:

  • SNAKE: Snake-case.

  • CAMEL: Camel-case (which is compatible with the MicroProfile Metrics spec).

enabled

boolean

true

Whether metrics functionality is enabled.

endpoint

string

metrics

gc-time-type

GcTimeType (GAUGE, COUNTER)

GcTimeType.COUNTER

Deprecated 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. @deprecated Provided for backward compatibility only; no replacement

Allowed values:

  • GAUGE: Implement the meter as a gauge. This is backward-incompatible with Helidon 4.0.x releases but complies with MicroProfile 5.1.

  • COUNTER: Implement the meter as a counter. This is backward-compatible with Helidon 4.0.x releases but does not comply with MicroProfile 5.1.

key-performance-indicators

 

Key performance indicator metrics settings.

permit-all

boolean

true

Whether to allow anybody to access the endpoint.

See roles()

rest-request-enabled

boolean

 

Deprecated Whether automatic REST request metrics should be measured (as indicated by the deprecated config key rest-request-enabled, the config key using a hyphen instead of a dot separator).

@deprecated Use rest-request.enabled instead.

rest-request.enabled

boolean

false

Whether automatic REST request metrics should be measured.

roles

string[]

observe

Hints for role names the user is expected to be in.

scoping

 

Settings related to scoping management.

tags

 

Global tags.

timers.json-units-default

TimeUnit (NANOSECONDS, MICROSECONDS, MILLISECONDS, SECONDS, MINUTES, HOURS, DAYS)

 

Default units for timer output in JSON if not specified on a given timer.

If the configuration key is absent, the Helidon JSON output uses java.util.concurrent.TimeUnit.SECONDS. If the configuration key is present, Helidon formats each timer using that timer’s specific units (if set) and the config value otherwise.

virtual-threads.enabled

boolean

false

Whether Helidon should expose meters related to virtual threads.

virtual-threads.pinned.threshold

Duration

PT0.020S

Threshold for sampling pinned virtual threads to include in the pinned threads meter.