The clock time is the time as measured by an external
independent clock, sometimes also called wall clock. Clock time includes the time that passes for any state that a thread
may be in. That is, clock time includes the time the thread spends
in sleeping, waiting, performing an I/O operation, waiting for garbage
collection to complete, being preempted by the operating system, and
in processing.
CPU time accounts for the time spent by any of
the CPUs (processors) on executing a thread. Other thread states are
not counted in CPU time.
A so-called virtual CPU time,
usually collected by sampling, is
similar to CPU time, but includes time elapsed while the thread was
ready to run, but was not actually scheduled to run by a CPU, for
example, while the thread was preempted. Depending on the platform,
virtual CPU time can also include the time spent in I/O operations.
If the profile data file contains the information
about the profiling overhead, HPjmeter adjusts the measured CPU times
by subtracting the time spent by the profiler. Thus, reported times
match more closely those actually used by the Java application.
To inform you about the increased accuracy, a
console visualizer will show “times in milliseconds, adjusted
for profiling intrusion)” next to the metric label if the adjustment
took place.