Skip to content

Commit fab5ec4

Browse files
committed
[SPARK-29466][WEBUI] Show Duration for running drivers in Standalone master web UI
1 parent 81915da commit fab5ec4

File tree

1 file changed

+17
-5
lines changed

1 file changed

+17
-5
lines changed

core/src/main/scala/org/apache/spark/deploy/master/ui/MasterPage.scala

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -108,12 +108,17 @@ private[ui] class MasterPage(parent: MasterWebUI) extends WebUIPage("") {
108108
val completedApps = state.completedApps.sortBy(_.endTime).reverse
109109
val completedAppsTable = UIUtils.listingTable(appHeaders, appRow, completedApps)
110110

111-
val driverHeaders = Seq("Submission ID", "Submitted Time", "Worker", "State", "Cores",
112-
"Memory", "Resources", "Main Class")
111+
val activeDriverHeaders = Seq("Submission ID", "Submitted Time", "Worker", "State", "Cores",
112+
"Memory", "Resources", "Main Class", "Duration")
113113
val activeDrivers = state.activeDrivers.sortBy(_.startTime).reverse
114-
val activeDriversTable = UIUtils.listingTable(driverHeaders, driverRow, activeDrivers)
114+
val activeDriversTable =
115+
UIUtils.listingTable(activeDriverHeaders, activeDriverRow, activeDrivers)
116+
117+
val completedDriverHeaders = Seq("Submission ID", "Submitted Time", "Worker", "State", "Cores",
118+
"Memory", "Resources", "Main Class")
115119
val completedDrivers = state.completedDrivers.sortBy(_.startTime).reverse
116-
val completedDriversTable = UIUtils.listingTable(driverHeaders, driverRow, completedDrivers)
120+
val completedDriversTable =
121+
UIUtils.listingTable(completedDriverHeaders, completedDriverRow, completedDrivers)
117122

118123
// For now we only show driver information if the user has submitted drivers to the cluster.
119124
// This is until we integrate the notion of drivers and applications in the UI.
@@ -310,7 +315,11 @@ private[ui] class MasterPage(parent: MasterWebUI) extends WebUIPage("") {
310315
</tr>
311316
}
312317

313-
private def driverRow(driver: DriverInfo): Seq[Node] = {
318+
private def activeDriverRow(driver: DriverInfo) = driverRow(driver, showDuration = true)
319+
320+
private def completedDriverRow(driver: DriverInfo) = driverRow(driver, showDuration = false)
321+
322+
private def driverRow(driver: DriverInfo, showDuration: Boolean): Seq[Node] = {
314323
val killLink = if (parent.killEnabled &&
315324
(driver.state == DriverState.RUNNING ||
316325
driver.state == DriverState.SUBMITTED ||
@@ -345,6 +354,9 @@ private[ui] class MasterPage(parent: MasterWebUI) extends WebUIPage("") {
345354
</td>
346355
<td>{formatResourcesAddresses(driver.resources)}</td>
347356
<td>{driver.desc.command.arguments(2)}</td>
357+
{if (showDuration) {
358+
<td>{UIUtils.formatDuration(System.currentTimeMillis() - driver.startTime)}</td>
359+
}}
348360
</tr>
349361
}
350362
}

0 commit comments

Comments
 (0)