HttpClient Examples (Observation)
-
Observability quick start (classic)
This example demonstrates enabling Micrometer observations and metrics on a classic client using
HttpClientObservationSupport.enable(...), with a customMetricConfig(prefix, SLO, percentiles) and a Prometheus scrape. -
Observability quick start (async)
This example demonstrates enabling observations and metrics on the async client, firing concurrent requests to show the
http.client.inflight{kind=async}gauge and printing a Prometheus scrape. -
Connection pool gauges (classic)
This example demonstrates exposing connection pool gauges (
<prefix>.pool.leased,<prefix>.pool.available,<prefix>.pool.pending) by binding a pooling manager viaConnPoolMeters.bindTo(...). -
This example demonstrates wrapping the system DNS resolver with
MeteredDnsResolverto record resolution timers and counters forresolveandresolveCanonicalHostnamewithresultand optionalhosttags. -
This example demonstrates recording TLS handshake latency and outcome counters by wrapping an async
TlsStrategywithMeteredTlsStrategyon the connection manager (<prefix>.tls.handshake,<prefix>.tls.handshakes). -
This example demonstrates using
ObservingOptions.spanSamplingto skip observations/metrics for selected URIs and recording request/response byte counters (<prefix>.request.bytes,<prefix>.response.bytes). -
This example demonstrates minimal vs extended metric tagging (adding
protocolandtargetwhenEXTENDED) using different metric prefixes to avoid label-set clashes. -
Tracing + metrics (classic, OpenTelemetry bridge)
This example demonstrates wiring Micrometer
ObservationRegistryto OpenTelemetry (in-memory exporter) while recording HttpClient timers/counters, printing an exported span and a Prometheus scrape.




