Different language runtimes support different profiling capabilities. Below is a breakdown of the profiling types available for each supported language.
Go
| Profiling Type | Description |
|---|---|
| CPU Profiling | Measures CPU time spent in each function |
| Delay Profiling | Captures time spent waiting (e.g., on I/O or synchronization) |
| Lock Contentions | Measures time spent waiting to acquire locks |
| Goroutine Profiling | Captures the state of all goroutines |
| Allocation Space | Measures total memory allocated |
| Allocation Objects | Counts the total number of objects allocated |
| In-use Memory Space | Measures memory currently in use |
| In-use Objects | Counts objects currently in use |
| Samples | Number of stack samples collected |
Node.js
| Profiling Type | Description |
|---|---|
| CPU Profiling | Measures CPU time spent in each function |
| Wall | Measures wall-clock time (real elapsed time) |
| Timeline | Captures execution timeline for async operations |
| Samples | Number of stack samples collected |
| Space | Measures heap memory allocations |
| Objects | Counts heap-allocated objects |
Java
| Profiling Type | Description |
|---|---|
| CPU | Measures CPU time spent in each function |
| ALLOC | Tracks memory allocations |
| LOCK | Measures lock contention and wait times |
| WALL | Measures wall-clock time |
| CTIMER | CPU timer-based profiling |
| ITIMER | Interval timer-based profiling |
+1-415-800-4104