diff --git a/core/src/main/resources/org/apache/spark/ui/static/executorspage-template.html b/core/src/main/resources/org/apache/spark/ui/static/executorspage-template.html index 0729dfe1cef72..1c9fe2251a3ab 100644 --- a/core/src/main/resources/org/apache/spark/ui/static/executorspage-template.html +++ b/core/src/main/resources/org/apache/spark/ui/static/executorspage-template.html @@ -86,6 +86,22 @@

Executors

Off Heap Storage Memory + + + Peak JVM Memory OnHeap / OffHeap + + + Peak Execution Memory OnHeap / OffHeap + + + Peak Storage Memory OnHeap / OffHeap + + + Peak Pool Memory Direct / Mapped Disk Used Cores Resources diff --git a/core/src/main/resources/org/apache/spark/ui/static/executorspage.js b/core/src/main/resources/org/apache/spark/ui/static/executorspage.js index 520edb9cc3e34..acfe3876c010e 100644 --- a/core/src/main/resources/org/apache/spark/ui/static/executorspage.js +++ b/core/src/main/resources/org/apache/spark/ui/static/executorspage.js @@ -119,7 +119,7 @@ function totalDurationColor(totalGCTime, totalDuration) { } var sumOptionalColumns = [3, 4]; -var execOptionalColumns = [5, 6, 9, 10]; +var execOptionalColumns = [5, 6, 7, 8, 9, 10, 13, 14]; var execDataTable; var sumDataTable; @@ -412,6 +412,42 @@ $(document).ready(function () { formatBytes(row.memoryMetrics.totalOffHeapStorageMemory, type)); } }, + { + data: function (row, type) { + if (type !== 'display') + return row.peakMemoryMetrics.JVMHeapMemory; + else + return (formatBytes(row.peakMemoryMetrics.JVMHeapMemory, type) + ' / ' + + formatBytes(row.peakMemoryMetrics.JVMOffHeapMemory, type)); + } + }, + { + data: function (row, type) { + if (type !== 'display') + return row.peakMemoryMetrics.OnHeapExecutionMemory; + else + return (formatBytes(row.peakMemoryMetrics.OnHeapExecutionMemory, type) + ' / ' + + formatBytes(row.peakMemoryMetrics.OffHeapExecutionMemory, type)); + } + }, + { + data: function (row, type) { + if (type !== 'display') + return row.peakMemoryMetrics.OnHeapStorageMemory; + else + return (formatBytes(row.peakMemoryMetrics.OnHeapStorageMemory, type) + ' / ' + + formatBytes(row.peakMemoryMetrics.OffHeapStorageMemory, type)); + } + }, + { + data: function (row, type) { + if (type !== 'display') + return row.peakMemoryMetrics.DirectPoolMemory; + else + return (formatBytes(row.peakMemoryMetrics.DirectPoolMemory, type) + ' / ' + + formatBytes(row.peakMemoryMetrics.MappedPoolMemory, type)); + } + }, {data: 'diskUsed', render: formatBytes}, {data: 'totalCores'}, {name: 'resourcesCol', data: 'resources', render: formatResourceCells, orderable: false}, @@ -462,8 +498,12 @@ $(document).ready(function () { "columnDefs": [ {"visible": false, "targets": 5}, {"visible": false, "targets": 6}, + {"visible": false, "targets": 7}, + {"visible": false, "targets": 8}, {"visible": false, "targets": 9}, - {"visible": false, "targets": 10} + {"visible": false, "targets": 10}, + {"visible": false, "targets": 13}, + {"visible": false, "targets": 14} ], "deferRender": true }; @@ -571,8 +611,12 @@ $(document).ready(function () { "
Select All
" + "
On Heap Memory
" + "
Off Heap Memory
" + - "
Resources
" + - "
Resource Profile Id
" + + "
Peak JVM Memory OnHeap / OffHeap
" + + "
Peak Execution Memory OnHeap / OffHeap
" + + "
Peak Storage Memory OnHeap / OffHeap
" + + "
Peak Pool Memory Direct / Mapped
" + + "
Resources
" + + "
Resource Profile Id
" + ""); reselectCheckboxesBasedOnTaskTableState();