From 5d685448e2b26c784830fc1815af9c906dafbb1d Mon Sep 17 00:00:00 2001 From: Adam Binford Date: Tue, 13 Apr 2021 17:19:18 -0400 Subject: [PATCH] Change progress bar back to highlight ratio of tasks in progress --- .../main/resources/org/apache/spark/ui/static/webui.css | 4 ++-- core/src/main/scala/org/apache/spark/ui/UIUtils.scala | 8 +++++--- .../src/test/scala/org/apache/spark/ui/UIUtilsSuite.scala | 3 ++- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/core/src/main/resources/org/apache/spark/ui/static/webui.css b/core/src/main/resources/org/apache/spark/ui/static/webui.css index 262cee7b58aff..fad28ce333675 100755 --- a/core/src/main/resources/org/apache/spark/ui/static/webui.css +++ b/core/src/main/resources/org/apache/spark/ui/static/webui.css @@ -113,7 +113,7 @@ table.sortable td { box-shadow: inset 1px 0 0 rgba(0,0,0,.15), inset 0 -1px 0 rgba(0,0,0,.15); } -.progress.progress-started { +.progress .progress-bar.progress-started { background-color: #A0DFFF; background-image: -moz-linear-gradient(top, #A4EDFF, #94DDFF); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#A4EDFF), to(#94DDFF)); @@ -124,7 +124,7 @@ table.sortable td { filter: progid:dximagetransform.microsoft.gradient(startColorstr='#FFA4EDFF', endColorstr='#FF94DDFF', GradientType=0); } -.progress .progress-bar { +.progress .progress-bar.progress-completed { background-color: #3EC0FF; background-image: -moz-linear-gradient(top, #44CBFF, #34B0EE); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#44CBFF), to(#34B0EE)); diff --git a/core/src/main/scala/org/apache/spark/ui/UIUtils.scala b/core/src/main/scala/org/apache/spark/ui/UIUtils.scala index aaea3a6e0b543..b6f79c65d237a 100644 --- a/core/src/main/scala/org/apache/spark/ui/UIUtils.scala +++ b/core/src/main/scala/org/apache/spark/ui/UIUtils.scala @@ -464,9 +464,10 @@ private[spark] object UIUtils extends Logging { val completeWidth = "width: %s%%".format(ratio) // started + completed can be > total when there are speculative tasks val boundedStarted = math.min(started, total - completed) - val startWidth = "width: %s%%".format((boundedStarted.toDouble/total)*100) + val startRatio = if (total == 0) 0.0 else (boundedStarted.toDouble/total)*100 + val startWidth = "width: %s%%".format(startRatio) -
0) s"progress progress-started" else s"progress" }> +
{completed}/{total} { if (failed == 0 && skipped == 0 && started > 0) s"($started running)" } @@ -477,7 +478,8 @@ private[spark] object UIUtils extends Logging { } } -
+
+
} diff --git a/core/src/test/scala/org/apache/spark/ui/UIUtilsSuite.scala b/core/src/test/scala/org/apache/spark/ui/UIUtilsSuite.scala index d4368c882d660..9d040bb4e1ec7 100644 --- a/core/src/test/scala/org/apache/spark/ui/UIUtilsSuite.scala +++ b/core/src/test/scala/org/apache/spark/ui/UIUtilsSuite.scala @@ -113,7 +113,8 @@ class UIUtilsSuite extends SparkFunSuite { test("SPARK-11906: Progress bar should not overflow because of speculative tasks") { val generated = makeProgressBar(2, 3, 0, 0, Map.empty, 4).head.child.filter(_.label == "div") val expected = Seq( -
+
, +
) assert(generated.sameElements(expected), s"\nRunning progress bar should round down\n\nExpected:\n$expected\nGenerated:\n$generated")