Actuator depends on TextFormat
from io.prometheus:simpleclient_common
but we only have dependency management for io.prometheus.simpleclient_pushgateway
. We should provide dependency management for all of the client's modules. There's a bom that we can use to do that rather than listing them all individually.
The incomplete dependency management is really a bug. Ideally, we'd fix it in Spring Boot 2.4.x. Our current gateway-only dependency management is in a library named "Prometheus PushGateway" with the version property prometheus-pushgateway.version
. We need to broaden this to something like "Prometheus Java Client" and, therefore, prometheus-java-client.version
, but this will be a breaking change if we replace one with the other. Having both isn't really an option either as overriding one version property and not the other may give unexpected results.
Perhaps we should just make the change in 2.6 where the breaking change to the property name can then be documented in the release notes. Flagging for team attention to see what everyone else thinks.
Comment From: wilkinsona
And after writing the above, a better way to deal with it has just occurred to me. We can expand the dependency management in 2.4 and 2.5 and then rename it in 2.6.
Comment From: wilkinsona
The bom's new in 0.10.0 so let's fix this in 2.5.