IntrumentationProcessor does properly record processing time
------------------------------------------------------------
Key: CAMEL-524
URL: https://issues.apache.org/activemq/browse/CAMEL-524
Project: Apache Camel
Issue Type: Bug
Components: camel-core
Affects Versions: 1.3.0
Reporter: William Tam
Fix For: 1.4.0
Attachments: patch.txt
The InstrumentationLifeCycleStrategy inserts an InstrumentationProcessor
interceptor at the end of a route which is intercepted after the processing has
been done. The InstrumentationProcessor does not actually record the time
spent on the route. It is fixed by inserting InstrumentationProcessor at the
beginning of the route and wrapping all the outputs.
There two MBeans (ManagedRoute and PerformanceCounter) registered for each
route eventhough ManagedRoute already extends PerformanceCounter. We probably
only need to expose one MBean. The ManagedRoute MBean shows performance
attributes and operations (since it extends PerformanceCoutner) but these
performance related stuffs don't really work. This is fixed by registering
only the ManagedRoute MBean and making the performance related attributes and
operations functional.
This patch supports exposing all processors within a route as
PerformanceCounter MBeans so that users are possible to monitor performance at
the processor's level.
With this patch, the org.apache.camel.spi package no longer depends
CamelNamingStrategy of the org.apache.camel.management.management package. It
follows the suggestion mentioned in
https://issues.apache.org/activemq/browse/CAMEL-264.
Another update is to following the JMX spec convention of including a "type"
property in the ObjectName (replacing the current "groups" property). This
patch also simplify the ManagedRoute's ObjectName a bit by removing builder and
group properties. If for some reasons, they need to be in the ObjectName,
please add them back.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.