--- a/src/Pure/Admin/build_history.scala Sat Jul 11 15:23:22 2020 +0200
+++ b/src/Pure/Admin/build_history.scala Sat Jul 11 15:51:15 2020 +0200
@@ -287,9 +287,9 @@
val session_timing =
{
val props = store.read_session_timing(db, session_name)
- val threads = Markup.Session_Timing.Threads.unapply(props) getOrElse "1"
- val timing = Markup.Timing_Properties.unapply(props) getOrElse Timing.zero
- "Timing " + session_name + " (" + threads + " threads, " + timing.message_resources + ")"
+ Build.session_timing(session_name,
+ Markup.Session_Timing.Threads.unapply(props) getOrElse 1,
+ Markup.Timing_Properties.parse(props))
}
val theory_timings =
--- a/src/Pure/PIDE/markup.scala Sat Jul 11 15:23:22 2020 +0200
+++ b/src/Pure/PIDE/markup.scala Sat Jul 11 15:51:15 2020 +0200
@@ -402,6 +402,9 @@
Some(new isabelle.Timing(Time.seconds(elapsed), Time.seconds(cpu), Time.seconds(gc)))
case _ => None
}
+
+ def parse(props: Properties.T): isabelle.Timing =
+ unapply(props) getOrElse isabelle.Timing.zero
}
val TIMING = "timing"
@@ -577,7 +580,7 @@
object Theory_Timing extends Properties_Function("theory_timing")
object Session_Timing extends Properties_Function("session_timing")
{
- val Threads = new Properties.String("threads")
+ val Threads = new Properties.Int("threads")
}
object ML_Statistics extends Properties_Function("ML_statistics")
object Task_Statistics extends Properties_Function("task_statistics")
--- a/src/Pure/Tools/build.scala Sat Jul 11 15:23:22 2020 +0200
+++ b/src/Pure/Tools/build.scala Sat Jul 11 15:51:15 2020 +0200
@@ -489,6 +489,12 @@
override def toString: String = rc.toString
}
+ def session_finished(session_name: String, timing: Timing): String =
+ "Finished " + session_name + " (" + timing.message_resources + ")"
+
+ def session_timing(session_name: String, threads: Int, timing: Timing): String =
+ "Timing " + session_name + " (" + threads + " threads, " + timing.message_resources + ")"
+
def build(
options: Options,
selection: Sessions.Selection = Sessions.Selection.empty,
@@ -678,9 +684,9 @@
// messages
process_result.err_lines.foreach(progress.echo)
- if (process_result.ok)
- progress.echo(
- "Finished " + session_name + " (" + process_result.timing.message_resources + ")")
+ if (process_result.ok) {
+ progress.echo(session_finished(session_name, process_result.timing))
+ }
else {
progress.echo(session_name + " FAILED")
if (!process_result.interrupted) progress.echo(process_result_tail.out)