We are working on dT agent configs for a new application on a platform that is new to us - it's a messaging-based integration app using blueprint, Camel, and ActiveMQ on Jboss Fuse ESB (Apache Karaf). I am noticing that many of the purepaths we are collecting have a significant hot spot, sometimes hundreds of milliseconds, a few as high as a second or two, associated with the method park() on sun.misc.Unsafe, classified in the JMS API, apparently called by org.apache.activemq.jms.pool.PooledProducer.send(). I'm trying to determine if this is time really belongs in the purepath or not...is this time associated with the thread being parked in the pool until it is needed on a subsequent JMS transaction? Is my app really blocked on this (it sure looks like it is...)? If so, any ideas out there about what might be causing this?
Answer by Chris K. ·
Just following up in case anyone sees in the future. What we were seeing here appears to be AMQ's producer flow control. AMQ will slow down message producers to avoid running out of memory and losing messages. Tuning the queue memory and consumer prefetch cleared up most of this time.
JANUARY 15, 3:00 PM GMT / 10:00 AM ET