New objects between Snapshot#1 and Snapshot#2 are the objects which are created after Snapshot#1. Thus, these objects don't exist in Snapshot#1 but exist in Snapshot#2.
If some of these objects are collected by GC, they will not be presented in Snapshot#3. If some objects aren't collected, they will be presented in "Survived" column in Snapshot#2 - Snapshot#3 comparison.
If you want to check does certain "new" object exist in Snapshot#3, you can do the following:
- Open "New" objects in Snapshot#1 - Snapshot#2 comparison
- Find the type you're interested in
- Open Instances list and mark certain instance (Ctrl+M)
- Return to profiling session view. If Snapshot#3 contains "marked objects" link, click on it and open marked instance in Snapshot#3.
Otherwise, this object was collected between Snapshot#2 - Snapshot#3.
We are already performing steps you suggested. It is tedious and it requires to have an idea what you want to track. This is not the case all the time. I real word we could have more then 3 snapshots let say 10. and if I am looking for some suspicious behavior in snap shot number 7. the survived object set will have everything what was instantiated starting from snapshot 1. in this case we would like to quickly check if everything that was created between let's say 2 and 3 still alive in 7. and we have potentially 500000 instances new between 2 and 3. Marking all of them one by one is impossible. So I was hoping there is a way to make a tool do that, and then analyze them. Also at that point we may have hundred of thousands in survived object set in snapshot 7.
New objects between Snapshot#1 and Snapshot#2 are the objects which are created after Snapshot#1. Thus, these objects don't exist in Snapshot#1 but exist in Snapshot#2.
If some of these objects are collected by GC, they will not be presented in Snapshot#3. If some objects aren't collected, they will be presented in "Survived" column in Snapshot#2 - Snapshot#3 comparison.
If you want to check does certain "new" object exist in Snapshot#3, you can do the following:
- Open "New" objects in Snapshot#1 - Snapshot#2 comparison
- Find the type you're interested in
- Open Instances list and mark certain instance (Ctrl+M)
- Return to profiling session view. If Snapshot#3 contains "marked objects" link, click on it and open marked instance in Snapshot#3.
Otherwise, this object was collected between Snapshot#2 - Snapshot#3.
Thanks Anna,
We are already performing steps you suggested. It is tedious and it requires to have an idea what you want to track. This is not the case all the time. I real word we could have more then 3 snapshots let say 10. and if I am looking for some suspicious behavior in snap shot number 7. the survived object set will have everything what was instantiated starting from snapshot 1. in this case we would like to quickly check if everything that was created between let's say 2 and 3 still alive in 7. and we have potentially 500000 instances new between 2 and 3. Marking all of them one by one is impossible. So I was hoping there is a way to make a tool do that, and then analyze them. Also at that point we may have hundred of thousands in survived object set in snapshot 7.
Unfortunately, currently it's not possible. You're welcome to vote for feature request: https://youtrack.jetbrains.com/issue/DMRY-6328