cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

No method hotspot for ActiveMQ portion in JVM?

Hello Dynatracers,

 

I have stumbled upon a Jboss application that contain multiple services in it, which includes ActiveMQ portion and the application logic.

 

mengsuan_koe1_0-1620374992668.png

 

Since ActiveMQ is part of the JVM itself, I'm wondering why is it that 'method hotspot' view does not show classes/method of ActiveMQ. I just thought 'method hotspot' might be helpful when the ActiveMQ itself is having difficulty. 

 

Or is this technically not possible?

 

3 REPLIES 3

Anonymous
Not applicable

The memory that the broker is allowed to use is not determined by the amount of memory allocated to the JVM. Although the broker is constrained by the amount of memory given to the JVM, the broker manages its memory independently. That is, the broker does not just simply use up all of the memory in the JVM and then die with an OutOfMemory exception.

Is Dynatrace method hotspot reliant on the way ActiveMQ broker utilisation of JVM memory? Just wondering

The_AM
Dynatrace Champion
Dynatrace Champion

@mengsuan_koe1 
In my case, I had a look at a JBoss embedded ActiveMQ Artemis queue listener.
Within the PurePath analysis, for the .onMessage() method, you can see from the code-level tab some further breakdown of method-level timings. This is all automatic, with no configuration.

The_AM_0-1620621277642.png

 



The Dynatrace documentation mentions for messaging services, that it may not detect automatically how all messaging is processed because the application server may dequeue messages in a busy loop.

This is usually because Dynatrace automatically placed sensors are just going to time-out PurePaths of that nature anyway, so to overcome that you might try creating custom service definitions for your code.

 

See documentation on queue messaging custom services for more information.

Though having said that, below you will see another screenshot. Again, this was OneAgent automatically detected methods and displayed in the code-level tab for the queue onMessage method.
Clicking on a method line within the code-level PurePath tree will reveal further metadata for that method execution. So, I'd say it's actually rare that you would need custom services for this as lots of details are captured without it.

The_AM_2-1620622166793.png

 

Regards,
Andrew M.

Featured Posts