How to get web service performance metrics - 6.3

Talend ESB Service Developer Guide

EnrichVersion
6.3
EnrichProdName
Talend Data Fabric
Talend Data Services Platform
Talend ESB
Talend MDM Platform
Talend Open Studio for ESB
Talend Real-Time Big Data Platform
task
Design and Development
Installation and Upgrade
EnrichPlatform
Talend ESB

These metrics include Request/Response time, number of calls, and so on.

The CXF management module also provides a feature (the MetricsFeature) which provides aggregate statistics for services running in the CXF Bus. It is not enabled by default to avoid unnecessary runtime overhead during web service call processing, but it needs to be added as JAX-WS feature.

Here is the configuration snippet that you should add to your Spring context file to be able to view this information:

<jaxws:endpoint id="my-service" implementor="ex.example.MyServiceImpl" address="/myService">
    <jaxws:features>
        <bean class="org.apache.cxf.metrics.MetricsFeature"/>
    </jaxws:features>
</jaxws:endpoint>

When using Maven for build, the following dependency need to be added to the Maven POM:

<dependency>
    <groupId>org.apache.cxf</groupId>
    <artifactId>cxf-rt-features-metrics</artifactId>
    <version>${cxf.version}</version>
</dependency>

In WAR deployments, this additional dependency must also be declared:

<dependency>
    <groupId>io.dropwizard.metrics</groupId>
    <artifactId>metrix-core</artifactId>
    <version>${dropwizard.metrics.version}</version>
</dependency>

The MetricsFeature collects the following metrics: invocations, checked application faults, unchecked application faults, runtime faults, logical runtime faults, mean handling time, max handling time, and min handling time. Note a SOAP call will need to occur against the web service before you will see the MBean within your JMX monitoring software.