inspectIT Ocelot is able to monitor itself and report the time spent in components responsible for recording metrics and creating traces.
This way a user can have a clear view on what is the overhead introduced by running the inspectIT Ocelot agent.
When self monitoring is enabled, the agent will expose several metrics regarding its internal state and processes.
For example, the
inspectit/self/duration metric gives the total execution time spent in the agent in microseconds.
All metrics include the configured common tags.
The metric is split by the tag containing the component name and also includes all common tags.
|The total time spent by inspectIT doing internal tasks, such as configuration loading, instrumenting, etc.The metric contains the tag
component_name, specifying in which component the time was spent
|InspectIT applies the configured instrumentation by working through a queue of classes it has to analyze and potentially instrument. This metric exposes the current size of this queue. By comparing it against the total number of loaded classes, the instrumentation progress can be estimated.
|Exposes the total number of classes which are currently instrumented by inspectIT.
Self monitoring is enabled by default and can be disabled by setting the
inspectit.self-monitoring.enabled property to
Not all components responsible for internal management of inspectIT Ocelot are at the moment reporting the time used for internal tasks. Please take the provided numbers only for a basic reference on overhead and don't assume they are 100% correct. In addition the overhead introduced in application classes through instrumentation is currently also not captured.