When using spring-boot-starter-webflux with spring-boot-starter-parent=3.1.7, server/client metrics are properly aliased via "management.observations.http.server.requests.name" documented application property:

2024-01-10T14:44:05.179+01:00 INFO 757337 --- [trics-publisher] i.m.c.i.logging.LoggingMeterRegistry : ALIASED{error=none,exception=none,method=GET,outcome=SUCCESS,status=200,uri=/test} throughput=0.2/s mean=0.003425731s max=0.020831402s

After switching to spring-boot-starter-parent=3.2.0, aliasing doesn't work and default name is used (same for reactive webclient metrics, skipped for brevity): 2024-01-10T14:46:07.906+01:00 INFO 757965 --- [trics-publisher] i.m.c.i.logging.LoggingMeterRegistry : http.server.requests{error=none,exception=none,method=GET,outcome=SUCCESS,status=200,uri=/test} throughput=0.2/s mean=0.016004746s max=0.024342709s

Steps to reproduce: 1. clone https://github.com/mbanaszkiewicz-vonage/metric-aliasing-repro 2. run the ServiceApplication spring boot app 3. go to http://localhost:9000/test to generate some server request metrics 4. inspect stdout of the app - there is a logging meter registry that prints metrics every 10s. Repo version uses boot 3.1.7 so 'ALIASED' text should be visible 5. do the same after bumping boot to 3.2.0 - 'http.server.requests' is visible instead of 'ALIASED' in stdout

Comment From: mbanaszkiewicz-vonage

Workaround seems to be exposing a bean that extends DefaultServerRequestObservationConvention and call super(@Value("${management.observations.http.server.requests.name}")

Comment From: wilkinsona

Thanks for the report. It looks like this functionality was lost as part of https://github.com/spring-projects/spring-boot/issues/37344. I think we need to auto-configure a DefaultServerRequestObservationConvention with the value of management.observations.http.server.requests.name. It should be @ConditionalOnMissingBean to allow any custom convention to continue to take precedence.

Comment From: wilkinsona

same for reactive webclient metrics

I can't see why WebClient metrics would be affected unless you were using the deprecated management.metrics.web.client.request.metric-name property as, since Boot 3.2, management.observations.http.client.requests.name must be used instead. Can you please elaborate?

Comment From: mbanaszkiewicz-vonage

Doublechecked WebClient metrics - works correctly when new property used, I must have used WebClientBuilder created by hand or something bad when checking this. So only server.requests.name issue remains. Thanks

Comment From: mhalbritter

Ugh, fixed on the wrong branch.