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
" +
- "" +
- "Resource Profile Id
" +
+ "Peak JVM Memory OnHeap / OffHeap
" +
+ "Peak Execution Memory OnHeap / OffHeap
" +
+ "Peak Storage Memory OnHeap / OffHeap
" +
+ "Peak Pool Memory Direct / Mapped
" +
+ "" +
+ "Resource Profile Id
" +
"");
reselectCheckboxesBasedOnTaskTableState();