An object in Java heap does not have a concept of persistent ID:
java.lang.System.identityHashCode(Object)is persistent, but it's not an ID: more than one object may have the same identity hash code.
To make object identification possible, the profiler provides means to explicitly assign a persistent ID to particular objects, with the help of JVMTI object tagging. Tagging all objects is impractical because that would increase profiling overhead, JVM memory footprint and garbage collection times.
com.yourkit.probes.ObjectColumnis intended to record the persistent object ID, allowing to associate objects in a memory snapshot with events. For example, built-in probes for databases and file objects use it to identify the resources.
Print*actions have the parameter
PERSISTENT_ID. Corresponding objects will be assigned the persistent ID, and the actions will output it. The IDs can be matched to objects in a memory snapshot (see below).
Important: to have access to corresponding object detail, a memory snapshot should be captured. A performance snapshot is not enough: it contains the IDs as numbers in events, but with no further information about the objects is available.
When a memory snapshot is opened, the persistent IDs can be seen and searched for.
Memory | (Find) Objects by Persistent IDsearches for objects with particular IDs, or for all objects with the ID assigned.