Hello, I asked this question is performance forum, but got no answer. Could anybody here help me out with it? Has anyone ever used those graphs in a profiler (graphically presenting memory usage, threads, garbage collection, and etc) when you evaluate the performance of a java program? Could anyone give me a scenario when you use those graphical representations to reveal the problem of an app? I just wonder why a profiler need those graphical stuff when there are non-graphical ways for a developer to detect problems like memory leakage? Thanks a lot
Graphs convey useful information, plain and simple. If you see a single number changing in real time (say, free memory) 10000 9923 9950 9850 10030 9937 would you immediately appreciate that the changes are less than 2%? The flickering fifth digit might confuse you. But on a graph you'd see only tiny wiggles. If a big dip came along, then went back up, you'd see a record of it in front of you -- but that changing number would be gone, and you wouldn't be sure what you saw. Yes, there could be a dribble file where you looked up the values, but isn't the real-time display more useful?
I agree totally with Ernest, you can see the difference with a graph easier than just a series of numbers. The minimal differences won't detract your eye, but the glaring differences will stand out so easily.
Ok, I see what you mean. But could you give me a concrete example? For instance, to check a memory leak, could I watch the graph of allocation, and then decide when to analyze a snapshot of details of memory usage?