Resource metrics
The table below lists the resource metrics collected by Unravel. The availability of a particular metric is dependent on the underlying OS and JVM GC algorithm in use.
Metric | Unit | Description |
---|---|---|
allocatedBytes | bytes | Accumulated number of allocated bytes. |
availableMemory | bytes | An estimate of memory available for launching new processes. |
avgFullGcInterval | nanoseconds (duration) | Average interval between two subsequent full GCs. Might not be available for particular GC algorithms. |
avgMinorInterval | nanoseconds (duration) | Average interval between two subsequent minor GCs. Might not be available for particular GC algorithms. |
blockingRatio | percent | Estimated percentage of CPU time spent in kernel blocking operations. |
committedHeap | bytes | The committed heap size. |
committedNonHeap | bytes | The committed non-heap size. |
committedVirtualMemory | bytes | The committed virtual memory in the operating system. |
currentThreadCpuTime | nanoseconds (duration) | Current thread CPU time elapsed since the start of the measurement. Might not be available on some operating systems. |
currentThreadUserTime | nanoseconds (duration) | Current thread user time elapsed since the start of the measurement. Might not be available on some operating systems. |
edenPeakUsage | bytes | Maximum memory usage in the eden space. |
freePhysicalMemory | bytes | The free physical memory in the operating system. |
freeSwap | bytes | The free swap size. |
fullGcCount | count | Number of full GC runs. |
fullGcTime | nanoseconds (duration) | Accumulated time spent in full GC. |
gcEdenSurvivedAvg | bytes | Average number of bytes moved from eden to survivor space. Might not be available for particular GC algorithms. |
gcLoad | percent | Percentage of CPU time spent in GC. |
gcOldLiveAvg | bytes | Average number of bytes alive in the old generation. Might not be available for particular GC algorithms. |
gcSurvivorPromotedAvg | bytes | Average number of bytes moved from survivor to old space. Might not be available for particular GC algorithms. |
gcYoungLiveAvg | bytes | Average number of bytes alive in the young generation (eden + survivor spaces). It might not be available for particular GC algorithms. |
initHeap | bytes | The initial heap size. |
initNonHeap | bytes | The initial non-heap size. |
maxHeap | bytes | The maximum heap size. |
maxNonHeap | bytes | The maximum non-heap size. |
minorGcCount | COUNT | The number of minor GC runs. |
minorGcTime | nanoseconds (duration) | The accumulated time spent in minor GC. |
oldPeakUsage | bytes | The maximum memory usage in the old space. |
processCpuLoad | PERCENT | Average process CPU load for the last minute (all cores). |
snapshotTs | milliseconds (timestamp) | The time the metric was read. |
startTs | milliseconds (timestamp) | The time when the collection process started. |
survivorPeakUsage | bytes | Maximum memory usage in the survivor space. |
systemCpuLoad | PERCENT | Average system CPU load for the last minute (all cores). |
totalPhysicalMemory | bytes | The total physical memory in the operating system. |
totalSwap | bytes | The total swap size. |
usedHeap | bytes | The used heap size. |
usedNonHeap | bytes | The used non-heap size. |
vmRss | bytes | The resident set size of the complete process tree. |
vmRssDir | bytes | The resident set size of the process. |
Notice
he vmRss metric values can underestimate the memory footprint of objects that are not directly managed by the JVM. More accurate metric values can be obtained by adding the property -Dcom.unraveldata.metrics.proctree.enable=true to spark.driver.extraJavaOptions and spark.executor.extraJavaOptions