This page describes how to enable object instance tracking on a node. When you enable object instance tracking on a node, AppDynamics analyzes the heap to identify classes with the most instances on the heap. AppDynamics tracks the top 20 .NET framework classes and the top 20 application classes based on the number of instances. Use object instance tracking to identify memory usage trends in classes with a large number of instances.
Permissions
To enable object instance tracking, you need one of these permissions:
Object Instance Tracking is not supported on Windows Nano.
Prerequisites
If you are not using MSI for the agent installation, make sure you copy the following files.
On Linux: AppDynamics.HeapDump.Library.dll
On Windows: AppDynamics.HeapDump_x86.dll and AppDynamics.HeapDump_x64.dll
On Linux, ensure that applications have the required permission to perform ptrace calls. In Docker Linux containers, the following command argument will enable the SYS_PTRACE capability.
Click ON. When the agent completes the heap analysis, AppDynamics begins to track the top 20 application classes and the top 20 system (Core .NET) classes in the heap.
When you enable object instance tracking, the .NET application pauses during heap analysis and cannot process requests. Enable object instance tracking while you diagnose memory issues, and turn it off when you finish troubleshooting.
Identify Memory Usage Problems
Use these guidelines to identify memory usage problems:
The Controller resolution for object instances is one minute, but the .NET Agent only sends data every ten minutes, so .NET memory appears as a series of peaks over time.
It is normal for the Controller to display 0 for the Current Instance Count and Shallow Size in between instance count collection times.
Hover over a peak to display information about the instance count.
Look for trends where the peaks increase in size from left to right which may indicate a memory leak.
Track Object Instances for Custom Classes
If you want to track a class that does not appear in the top 20 on the Object Instance Tracking tab, you can configure a specific class to track.
Navigate to Object Instance Tracking > Configure Custom Classes to Track > Configure Instrumentation > Memory Monitoring.
Click Add. The Create New Instance Tracker panel opens.
Leave Enabled checked.
Enter the fully qualified class name for the instance to track.