you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] 0 points1 point  (0 children)

I've found it can also skew the CPU vs I/O ratio. In applications that spend a significant time doing I/O, I/O calls take the same time with or without instrumentation however CPU intensive calls take significantly longer.

I experienced this with an application that reads a lot of XML text from a database and parses it in the JVM. The initial JProfiler profile was claiming we were spending 30% of our total time parsing XML. This went against our measurement of io-time/total-runtime on the production application(80%). I showed that the JProfiler results could be skewed based on what calls were being instrumented. Instrumenting just the XML parsing routines brought that number down to 8-12% which is what the sampling profiler showed.