Dear Authors,
Thanks again for doing a great job on YourKit and answering/implementing suggestions promptly. It's a real fun to work with you!
Preface - we have a situation: two branches in one of which we tune performance. We have a need to compare snapshots of "before" and "after" for the same operation to see what was the main reason of change.
It would be very nice to have a feature of "comparing two CPU snapshots" and show differences. This feature exists in JProfiler but (AFAIK) it has a limitation: It's only possible to compare snapshots within the same profiling session.
I wonder what could be the reason for such a limitation.
Also I see that YourKit misses "compare snapshots" feature completely. I know that it's a hefty piece to develop, but it would be very nice to have it some time in the future .
For the moment I miss CPU but maybe someone misses Allocation snapshot compare?
Comparing snapshots and small usability feature
-
- Posts: 7
- Joined: Tue Dec 21, 2004 1:48 pm
-
- Posts: 1624
- Joined: Tue Aug 10, 2004 7:52 pm
You can compare two memory snapshots of the same application "run". Please take a look at "File | Compare snapshot with.." or popup menu at snapshot tab.
Regarding CPU snapshots:
it's not possible to do yet. The main reason is that we are not completely understanding how it should work, i.e. what data should be shown. If you have any ideas prease share them with us.
Regarding CPU snapshots:
it's not possible to do yet. The main reason is that we are not completely understanding how it should work, i.e. what data should be shown. If you have any ideas prease share them with us.
-
- Posts: 7
- Joined: Tue Dec 21, 2004 1:48 pm
I guess the result of comparison is the result of intersecting two trees.
Nodes equality considered by Class name [+ Method]
We're comparing primary snapshot with secondary snapshot.
Result is a tree of differences with following cases:
- node existed at the same place, remember change in execution time, calls count
- calls didn't exist (loss in performance)
- calls that have gone (gain in performance)
Resulting view can resemble typical CPU snapshot (collapsable/expandable) and will be showing primary snapshot with "difference tree" applied. A picture how to get secondary snapshot by changing primary snapshot.
- switchable on/off layer of existed calls (colour highlighten to show time gained/lost - the bigger difference - the deeper hue of red or green)
- switchable on/off layer of calls that have gone (name shown on pale green background, "minus" sign in special column)
- switchable on/off layer of calls that have appeared (name shown on pale red background, "plus" sign in special column)
By default all layers are shown.
Nodes equality considered by Class name [+ Method]
We're comparing primary snapshot with secondary snapshot.
Result is a tree of differences with following cases:
- node existed at the same place, remember change in execution time, calls count
- calls didn't exist (loss in performance)
- calls that have gone (gain in performance)
Resulting view can resemble typical CPU snapshot (collapsable/expandable) and will be showing primary snapshot with "difference tree" applied. A picture how to get secondary snapshot by changing primary snapshot.
- switchable on/off layer of existed calls (colour highlighten to show time gained/lost - the bigger difference - the deeper hue of red or green)
- switchable on/off layer of calls that have gone (name shown on pale green background, "minus" sign in special column)
- switchable on/off layer of calls that have appeared (name shown on pale red background, "plus" sign in special column)
By default all layers are shown.
-
- Posts: 5
- Joined: Wed Feb 02, 2005 9:56 pm
I don't see any API offered for CPU snapshot either. This would have helped us to extract necessary information at (e.g. at an object or method level) and extend to compare between two different snapshots for a specific scenario. Can we expect to have an api for snapshot anytime soon.
Thanks,
Nirmalya
Thanks,
Nirmalya
-
- Posts: 1624
- Joined: Tue Aug 10, 2004 7:52 pm