Monitoring & Analytics - Java application
Description
Enhanced our Java Monitoring feature so that Germain provides benefits similar to Dynatrace and AppDynamics
Examples
Before our changes, we were showing this for a sample request which triggers an outbound MQ request:
After our changes, we automatically pick up additional API calls as well as additional custom service methods e.g. com.germainsoftware.apm (because we are monitoring our own application here):
![image](https://user-images.githubusercontent.com/8227807/78413148-f6a3e080-75ca-11ea-9e61-77f928a8edc6.png)
Additionally, we're now picking up asynchronous service executions. For example, SQL executed on a thread that wasn't triggered by an inbound HTTP request (ex: scheduled task):
![image](https://user-images.githubusercontent.com/8227807/78413379-0112aa00-75cc-11ea-9c3b-4bebf17d4df7.png)
Also, we are now getting Active (CPU) vs Wait vs IO breakdown for each java function:
![](../__attachments/3681673640/image-20200501-152709.png?inst-v=baad7441-1094-48da-b263-fa99f8ae5725)
And SQL statement:
![](../__attachments/3681673640/image-20200501-152632.png?inst-v=baad7441-1094-48da-b263-fa99f8ae5725)