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

Object instance tracking for interfaces and abstract classes

Mirko.Raner
Wanderer

It looks like the dialog for adding a custom class for object instance tracking allows you to specify an interface or an abstract class. As interfaces or abstract classes cannot be instantiated, one would expect the semantics of this to add object instance tracking for all concrete subclasses of the given class/interface. Is that how it works?

 

For example, I added object instance tracking for the interface java.util.concurrent.ScheduledExecutorService, and I am pretty sure that my app creates a number of java.util.concurrent.ScheduledThreadPoolExecutor objects (which is a concrete implementation of ScheduledExecutorService). However the instance count constantly remains at zero.

 

Ideally, I'd like OIT to behave as described (mainly because that would be the most convenient behavior). If that's not how it's supposed to work, the AppDynamics UI should probably prevent users from entering class names of non-concrete classes.

 

Can someone clarify how OIT deals with abstract classes and interfaces?

1 REPLY 1

Atyuha.Pal
AppDynamics Team

Hi,

 

AppDynamics does not perform allocation tracking for core Java classes by default, since doing so would add significant system overhead. However, it is possible to track core classes on a short-term basis (for example, while troubleshooting) or in pre-production environments.

 

 If you want to track all objects, then you can use the following controller property:

 

  • Access the controller URL with allowObjectActivityTraceOnAllObjects=true. For example:
    http://<controller-host>:<controller-port>/controller/?allowObjectActivityTraceOnAllObjects=true

    Note that tracking allocation for the core Java classes may cause high overhead. Use this at your own risk.

     

    We do not turn this on by default because it causes a lot more tracking and therefore much higher overhead on the agent side.

Also,please share the agent log and screenshot depicting the issue.

 

Doc: https://docs.appdynamics.com/display/PRO44/Object+Instance+Tracking+for+Java

Please let us know if there is any disconnect.

 

Thanks,

Atyuha



Found something helpful? Click the Accept as Solution button to help others find answers faster.
Liked something? Click the Thumbs Up button.