Class CxfObservationConfigurationSupport
java.lang.Object
org.openehealth.ipf.boot.ws.CxfObservationConfigurationSupport
- Direct Known Subclasses:
IpfEchAutoConfiguration.CxfObservationConfiguration, IpfHl7v3AutoConfiguration.CxfObservationConfiguration, IpfHpdAutoConfiguration.CxfObservationConfiguration, IpfSvsAutoConfiguration.CxfObservationConfiguration, IpfXacml20AutoConfiguration.CxfObservationConfiguration, IpfXdsAutoConfiguration.CxfObservationConfiguration
Makes CXF's observation features available as beans, so that the SOAP calls of the IHE transactions
are observed. Micrometer observations yield both metrics and, if a tracing bridge is present, spans;
which of the two arise depends on what is registered with the
ObservationRegistry, not on
these features. Attach them to the endpoints with the features endpoint option:
from("xds-iti18:my-registry?features=#observationFeature")
.to("xds-iti18://peer:8080/registry?features=#observationClientFeature");
Where tracing is part of the observation, these features also establish and propagate the trace
context over HTTP; the spans that camel-telemetry creates for the transaction join that
context, which is why IPF itself does not propagate anything.
The features are deliberately not installed on the CXF bus, even though that would spare the endpoint option: their interceptors tell client from server apart only by the CXF phase they run in, so attaching them per endpoint is what keeps consumer and producer instrumentation separate.
Each transaction family starter subclasses this to bind it to its own observing property; the
beans themselves are shared, so enabling it for several families yields one set of features.
- Since:
- 6.0
- Author:
- Christian Ohr
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionorg.apache.cxf.tracing.micrometer.ObservationClientFeatureobservationClientFeature(io.micrometer.observation.ObservationRegistry observationRegistry) org.apache.cxf.tracing.micrometer.ObservationFeatureobservationFeature(io.micrometer.observation.ObservationRegistry observationRegistry)
-
Constructor Details
-
CxfObservationConfigurationSupport
public CxfObservationConfigurationSupport()
-
-
Method Details
-
observationFeature
@Bean @ConditionalOnMissingBean(name="observationFeature") public org.apache.cxf.tracing.micrometer.ObservationFeature observationFeature(io.micrometer.observation.ObservationRegistry observationRegistry) - Returns:
- the feature to attach to consumer endpoints, i.e. to those a route starts from.
-
observationClientFeature
@Bean @ConditionalOnMissingBean(name="observationClientFeature") public org.apache.cxf.tracing.micrometer.ObservationClientFeature observationClientFeature(io.micrometer.observation.ObservationRegistry observationRegistry) - Returns:
- the feature to attach to producer endpoints, i.e. to those a route sends to.
-