2015-07-28

Apache Camel 2.16 - Show me all my incoming and outgoing endpoints in real time

In the upcoming Apache Camel 2.16 release we expose even more information about your running Camel applications.

We recently added specialized mbeans for all the different EIPs to expose EIP specific information. Before we had a few mbeans for some selected EIPs. But in Camel 2.16 we have for all of them. For example the content based router now keep track of which of its predicates that matches how many messages at runtime. A screenshot below.

The Content Based Router can now show information about each predicate and how many times it has matched during routing


The throttler EIP will expose how many messages are currently held back, and how long time before they are released. The circuit break exposes the state of the breaker whether its open, half open or closed. And the failover load balancer keeps taps of how many times each different exception has triggered a failover, and so on.

Also each EIP is provides details about how its configured, and you can also dump that information as XML (as you may know you can do for the entire route), but this is for the EIP alone.

Another new feature is that we also keep track of the utilization of all the endpoints. There is a global mbean that provides a list of all top 1000 recently used endpoints (the size is configurable), and how many times those endpoints have been used. What is cool is that we also track whether the endpoint is an incoming or outgoing endpoint.

To demonstrate this in action, I recoded a little shot video showing this, together with the new endpoint-stats command we have in the Camel commands.

Apache Camel 2.16 video to show all incoming and outgoing endpoints in real time, as Camel applications get deployed to a running Karaf container

We also introduced an Extended JMX statistics level, which you can turn on. When running in this mode, each EIP will also track their personal usage of each endpoints. So what the video does is on a global level. But with the extended mode, you can drill down on each EIP and see how many different endpoints they use, and which ones are the most often used. For example if using the Recipient List or Dynamic Router EIP to route to many different endpoints.

We all this new information it allows Camel tooling to go even further. We are working on adding more coolness to hawtio, so it can show a wobble diagram of all the inter relationship with your Camel routes within a Camel context, but also at a higher level, the communication between different Camel applications.

And of course as well in table like view, as the endpoint-stats command does in the video.


14 comments:

Rick said...

Thanks, Claus! The video is especially informative. (Videos show a lot of contextual information that text alone seldom carries. It also gives us your thoughts as we watch the application run, another rich source of information.) Excellent.

Bharadwaj N said...

Super cool!!!

Bharadwaj N said...

Super cool!!!

Bharadwaj N said...

Very cool!!!

Unknown said...

When is 2.16 due to be released?

Shemeem Sp said...

Hi Claus,
When is 2.16.0 is going to release??? Can u please update?
Thanks in advance :)

Claus Ibsen said...

In Q3 2016

Unknown said...

2016? So in a year - not a typo and 2015?

Claus Ibsen said...

Ah sorry year sure its in 2015

Imran Ahmad said...

awesome, it will be very helpful for the application.

Rafal said...

Is feature 'dynamic uri' will be part of those 2.16? Is exact data o this release known?

Claus Ibsen said...

Yes dynamic to is part of Camel 2.16. Its expected to be released in Q3 2014

Rafal said...

Q3 2015 ? So it will be released in 2 weeks time?

Claus Ibsen said...

Keep an eye on
http://camel.465427.n5.nabble.com/Closing-down-for-2-16-release-td5771304.html