You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Next »

Introduction

The Micrometer metrics library become a de factor instrumentation choice for JVM application. It has been supported by Apache CXF starting from 3.4.1 / 3.3.8 and above.

Metrics Provider

The Micrometer integration is provided by MicrometerMetricsProvider.

Configuration

There MicrometerMetricsProvider supports the following properties (encapsulated inside MicrometerMetricsProperties).

PropertyDescriptionDefault
autoTimeRequests

Whether requests handled by CXF should be automatically timed.  If the number of time series emitted grows
too large on account of request mapping timings, set it to "false" and use @Timed or @TimeSet on a per
invocation basis as needed.

true
requestsMetricNameName of the metric for received requestscxf.server.requests

Integration with JAX-WS

The typical way to plug Micrometer integration is by using WebServiceFeature mechanism, for which there is a dedicated MetricsFeature implementation. The snipped below illustrated the basic initialization sequence and set of the dependencies involved.

final MeterRegistry registry = ...; /* Micrometer MeterRegistry  instance */
        
final JaxwsTags jaxwsTags = new JaxwsTags();
final TagsCustomizer operationsCustomizer = new JaxwsOperationTagsCustomizer(jaxwsTags);
final TagsCustomizer faultsCustomizer = new JaxwsFaultCodeTagsCustomizer(jaxwsTags, new JaxwsFaultCodeProvider());
        
final TagsProvider tagsProvider = new StandardTagsProvider(new DefaultExceptionClassProvider(), new StandardTags()); 
final MicrometerMetricsProperties properties = new MicrometerMetricsProperties();
        
final MetricsProvider metricsProvider = new MicrometerMetricsProvider(registry, tagsProvider, 
     Arrays.asList(operationsCustomizer, faultsCustomizer), new DefaultTimedAnnotationProvider(), properties);

EndpointImpl endpoint = new EndpointImpl(bus, new HelloPortImpl(), null, null, new WebServiceFeature[]{
    new MetricsFeature(metricsProvider)
});


Integration with JAX-RS

No fully supported at the moment

  • No labels