* Suspension is time that the JVM (or Node.js VM or .NET CLR) is halted. This usually is due to a garbage collection
* Active wait time: Time that the code actively waits for something by calling Object.wait() or similar functionality
* Lock wait time: Time that the code is blocked, either because it has to wait prior to entering a synchronized code block or also because it waits to acquire a SpinLock
* Network IO: Time that the code is actively waiting for native network functions like java.net.SocketInputStream.socketRead0. Typically these methods are native and not managed code.
* Disk IO: Similar to networ this represents time that code is actively reading or writing or waiting on disk IO.
* Code execution: Time that the application is otherwise executing code. This does not mean that all of this is CPU time as the application can be stalled or might otherwise not be very efficient due to CPU scheduling. The actual CPU usage is colored in dark blue.