Support for Prometheus's simple client was deprecated in https://github.com/spring-projects/spring-boot/pull/40023. As part of that, we should have deprecated PrometheusPushGatewayManager
as it has public API that depends upon types from Simpleclient. This deprecation will then pave the way for introducing support for the Push Gateway with the new Prometheus Client.
Initially the new Prometheus Client didn't support the push gateway but support was introduced in 1.3. We upgraded to 1.3 of the new client in Boot 3.4 but overlooked the fact that the push gateway was now supported. We'll need to decide how best to deal with this to minimise disruption. Strictly speaking, it's too late to deprecate PrometheusPushGatewayManager
for removal/breaking changes in 3.5. However, the alternative would be to keep the manager in a form that depends on the simple client that we no longer support.
There are also some configuration property changes to consider. For example, we have a property for the push gateway's url but this is now configured as an address (host:port) and a separate scheme (http or https). Passing in a url like http://prometheus.example.com
as the address results in a failure as it's considered to be malformed.