yaooqinn commented on code in PR #42575: URL: https://github.com/apache/spark/pull/42575#discussion_r1299641664
########## core/src/main/scala/org/apache/spark/ui/exec/ExecutorThreadDumpPage.scala: ########## @@ -67,18 +69,17 @@ private[ui] class ExecutorThreadDumpPage( <p>Updated at {UIUtils.formatDate(time)}</p> { // scalastyle:off - <p><a class="expandbutton" onClick="expandAllThreadStackTrace(true)"> - Expand All - </a></p> - <p><a class="expandbutton d-none" onClick="collapseAllThreadStackTrace(true)"> - Collapse All - </a></p> - <div class="form-inline"> - <div class="bs-example" data-example-id="simple-form-inline"> - <div class="form-group"> - <div class="input-group"> - <label class="mr-2" for="search">Search:</label> - <input type="text" class="form-control" id="search" oninput="onSearchStringChange()"></input> + <div style="display: flex; align-items: center;"> + <a class="expandbutton" onClick="expandAllThreadStackTrace(true)">Expand All</a> + <a class="expandbutton d-none" onClick="collapseAllThreadStackTrace(true)">Collapse All</a> + <a class="downloadbutton" href={"data:text/plain;charset=utf-8," + threadDump.map(_.toString).mkString} download={"threaddump_" + executorId + ".txt"}>Download</a> Review Comment: When it comes to distinguishing files, there are several options such as using app id, attempt id, timestamps, executor details, and more to name the files. However, I prefer to keep it simple to allow for easy renaming when users click the button. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org