When I try to use the Prometheus push gateway in Spring Boot version 3.3.0 as described in the documentation I get the error

Parameter 0 of constructor in com.example.demo.Service required a bean of type 'org.springframework.boot.actuate.metrics.export.prometheus.PrometheusPushGatewayManager' that could not be found.

When changing the micrometer.version to 1.21.1 everything works as expected. I've created an example project to demonstrate the issue: https://github.com/pvdlageweg/spring-boot-push-gateway-not-working/tree/main

Simple run with mvn spring-boot:run to see the error. Uncomment line 18 in the pom.xml and run again and the error is gone.

Comment From: wilkinsona

This is covered in the release notes:

Spring Boot 3.3 includes support for the Prometheus Client 1.x. This release of the client contains some breaking changes, e.g. changes to the exported metric names. Use of the Prometheus Push Gateway is not supported with the 1.x client, until this support has been added from the Prometheus maintainers.

If you want to continue to use the 0.x version of the Prometheus client, remove io.micrometer:micrometer-registry-prometheus from your dependencies and add io.micrometer:micrometer-registry-prometheus-simpleclient instead. Spring Boot contains auto-configuration for simpleclient in a deprecated form which will be removed in Spring Boot 3.5.0.

We should update the reference documentation to note the need to downgrade to 0.x if you want to use the push gateway.