While integrating Micrometer tracing (see #30156) we found that our properties structure is not ideal for integrating tracing. Take for example Wavefront: The current configuration properties are located under management.metrics.export.wavefront. We now need some settings of them for tracing (Wavefront supports both metrics and traces). Creating a separate management.tracing.wavefront seems wrong, as the concrete product is more important in the structure than if it's metrics or tracing. Additionally we need to share properties between Wavefront metrics and tracing.
We should therefore move the properties from the format management.metrics.export.<product> to management.<product>.metrics.export. This will allow us to add a separate management.<product>.tracing section to the properties and even share some configuration options between metrics and tracing (like the backend url, sender configuration, etc.)
The old properties will be marked as replaced and lead to an error when using the spring-boot-properties-migrator.
The following properties will be affected:
AppOptics
management.metrics.export.appoptics -> management.appoptics.metrics.export
Atlas
management.metrics.export.atlas -> management.atlas.metrics.export
Datadog
management.metrics.export.datadog -> management.datadog.metrics.export
Dynatrace
management.metrics.export.dynatrace -> management.dynatrace.metrics.export
Elastic
management.metrics.export.elastic -> management.elastic.metrics.export
Ganglia
management.metrics.export.ganglia -> management.ganglia.metrics.export
Graphite
management.metrics.export.graphite -> management.graphite.metrics.export
Humio
management.metrics.export.humio -> management.humio.metrics.export
Influx
management.metrics.export.influx -> management.influx.metrics.export
JMX
management.metrics.export.jmx -> management.jmx.metrics.export
Kairos
management.metrics.export.kairos -> management.kairos.metrics.export
NewRelic
management.metrics.export.newrelic -> management.newrelic.metrics.export
Prometheus
management.metrics.export.prometheus -> management.prometheus.metrics.export
SignalFx
management.metrics.export.signalfx -> management.signalfx.metrics.export
Simple
management.metrics.export.simple -> management.simple.metrics.export
Stackdriver
management.metrics.export.stackdriver -> management.stackdriver.metrics.export
Statsd
management.metrics.export.statsd -> management.statsd.metrics.export
Wavefront
management.metrics.export.wavefront -> management.wavefront.metrics.export
Other
management.metrics.export.defaults.enabled -> management.defaults.metrics.export.enabled
While integrating Micrometer tracing (see #30156) we found that our properties structure is not ideal for integrating tracing. Take for example Wavefront: The current configuration properties are located under
management.metrics.export.wavefront. We now need some settings of them for tracing (Wavefront supports both metrics and traces). Creating a separatemanagement.tracing.wavefrontseems wrong, as the concrete product is more important in the structure than if it's metrics or tracing. Additionally we need to share properties between Wavefront metrics and tracing.We should therefore move the properties from the format
management.metrics.export.<product>tomanagement.<product>.metrics.export. This will allow us to add a separatemanagement.<product>.tracingsection to the properties and even share some configuration options between metrics and tracing (like the backend url, sender configuration, etc.)The old properties will be marked as replaced and lead to an error when using the
spring-boot-properties-migrator.The following properties will be affected:
AppOptics
management.metrics.export.appoptics->management.appoptics.metrics.exportAtlas
management.metrics.export.atlas->management.atlas.metrics.exportDatadog
management.metrics.export.datadog->management.datadog.metrics.exportDynatrace
management.metrics.export.dynatrace->management.dynatrace.metrics.exportElastic
management.metrics.export.elastic->management.elastic.metrics.exportGanglia
management.metrics.export.ganglia->management.ganglia.metrics.exportGraphite
management.metrics.export.graphite->management.graphite.metrics.exportHumio
management.metrics.export.humio->management.humio.metrics.exportInflux
management.metrics.export.influx->management.influx.metrics.exportJMX
management.metrics.export.jmx->management.jmx.metrics.exportKairos
management.metrics.export.kairos->management.kairos.metrics.exportNewRelic
management.metrics.export.newrelic->management.newrelic.metrics.exportPrometheus
management.metrics.export.prometheus->management.prometheus.metrics.exportSignalFx
management.metrics.export.signalfx->management.signalfx.metrics.exportSimple
management.metrics.export.simple->management.simple.metrics.exportStackdriver
management.metrics.export.stackdriver->management.stackdriver.metrics.exportStatsd
management.metrics.export.statsd->management.statsd.metrics.exportWavefront
management.metrics.export.wavefront->management.wavefront.metrics.exportOther
management.metrics.export.defaults.enabled->management.defaults.metrics.export.enabled