Germain can monitor any Java application. The main features of the Germain Java Application monitoring are:

  • CPU and memory usage

  • HTTP requests (inbound and outbound)

  • JMS messages (inbound and outbound)

  • SQL transactions

  • Calls to any Class Method (custom list at application startup)

  • Sampler to collect CPU profiling information

  • JMX access for inspecting agent statistics or configuration remotely (optional)

Inspecting the agent via JMX

The Germain Java agent registers multiple MBeans via JMX to expose additional statistics at run-time. Any JMX client, such as VisualVM with the MBeans plugin, can be used to connect to the Java process and browse the exported objects.

Caveats of CPU sampling

  • The agent runs inside the JVM; that means that program errors can affect the monitored application - this is true for any profiler

  • The agent runs inside the JVM, thus it is subject to Java timer accuracy and garbage collection

  • The agent cannot distinguish between overloaded methods because they are stored ambiguously in the stack trace.

  • The agent only counts threads which are in RUNNABLE state

  • Time spent in filtered methods will be attributed to the last unfiltered caller method


Component: Code Profiler

Feature Availability: 2022.1 or later