src/Pure/Admin/build_log.scala
changeset 72694 0116e487e4fe
parent 72375 e48d93811ed7
child 72695 45cd55248ffd
equal deleted inserted replaced
72693:0201ae367518 72694:0116e487e4fe
   487     val Session_Finished2 =
   487     val Session_Finished2 =
   488       new Regex("""^Finished (\S+) \((\d+):(\d+):(\d+) elapsed time.*$""")
   488       new Regex("""^Finished (\S+) \((\d+):(\d+):(\d+) elapsed time.*$""")
   489     val Session_Timing =
   489     val Session_Timing =
   490       new Regex("""^Timing (\S+) \((\d+) threads, (\d+\.\d+)s elapsed time, (\d+\.\d+)s cpu time, (\d+\.\d+)s GC time.*$""")
   490       new Regex("""^Timing (\S+) \((\d+) threads, (\d+\.\d+)s elapsed time, (\d+\.\d+)s cpu time, (\d+\.\d+)s GC time.*$""")
   491     val Session_Started = new Regex("""^(?:Running|Building) (\S+) \.\.\.$""")
   491     val Session_Started = new Regex("""^(?:Running|Building) (\S+) \.\.\.$""")
   492     val Session_Failed = new Regex("""^(\S+) FAILED""")
       
   493     val Session_Cancelled = new Regex("""^(\S+) CANCELLED""")
       
   494     val Sources = new Regex("""^Sources (\S+) (\S{""" + SHA1.digest_length + """})$""")
   492     val Sources = new Regex("""^Sources (\S+) (\S{""" + SHA1.digest_length + """})$""")
   495     val Heap = new Regex("""^Heap (\S+) \((\d+) bytes\)$""")
   493     val Heap = new Regex("""^Heap (\S+) \((\d+) bytes\)$""")
   496 
   494 
   497     object Theory_Timing
   495     object Theory_Timing
   498     {
   496     {
   512     var groups = Map.empty[String, List[String]]
   510     var groups = Map.empty[String, List[String]]
   513     var threads = Map.empty[String, Int]
   511     var threads = Map.empty[String, Int]
   514     var timing = Map.empty[String, Timing]
   512     var timing = Map.empty[String, Timing]
   515     var ml_timing = Map.empty[String, Timing]
   513     var ml_timing = Map.empty[String, Timing]
   516     var started = Set.empty[String]
   514     var started = Set.empty[String]
   517     var failed = Set.empty[String]
       
   518     var cancelled = Set.empty[String]
       
   519     var sources = Map.empty[String, String]
   515     var sources = Map.empty[String, String]
   520     var heap_sizes = Map.empty[String, Long]
   516     var heap_sizes = Map.empty[String, Long]
   521     var theory_timings = Map.empty[String, Map[String, Timing]]
   517     var theory_timings = Map.empty[String, Map[String, Timing]]
   522     var ml_statistics = Map.empty[String, List[Properties.T]]
   518     var ml_statistics = Map.empty[String, List[Properties.T]]
   523     var errors = Map.empty[String, List[String]]
   519     var errors = Map.empty[String, List[String]]
   524 
   520 
   525     def all_sessions: Set[String] =
   521     def all_sessions: Set[String] =
   526       chapter.keySet ++ groups.keySet ++ threads.keySet ++ timing.keySet ++ ml_timing.keySet ++
   522       chapter.keySet ++ groups.keySet ++ threads.keySet ++ timing.keySet ++ ml_timing.keySet ++
   527       failed ++ cancelled ++ started ++ sources.keySet ++ heap_sizes.keySet ++
   523       started ++ sources.keySet ++ heap_sizes.keySet ++
   528       theory_timings.keySet ++ ml_statistics.keySet
   524       theory_timings.keySet ++ ml_statistics.keySet
   529 
   525 
   530 
   526 
   531     for (line <- log_file.lines) {
   527     for (line <- log_file.lines) {
   532       line match {
   528       line match {
   594 
   590 
   595     val sessions =
   591     val sessions =
   596       Map(
   592       Map(
   597         (for (name <- all_sessions.toList) yield {
   593         (for (name <- all_sessions.toList) yield {
   598           val status =
   594           val status =
   599             if (failed(name)) Session_Status.failed
   595             if (timing.isDefinedAt(name) || ml_timing.isDefinedAt(name))
   600             else if (cancelled(name)) Session_Status.cancelled
       
   601             else if (timing.isDefinedAt(name) || ml_timing.isDefinedAt(name))
       
   602               Session_Status.finished
   596               Session_Status.finished
   603             else if (started(name)) Session_Status.failed
   597             else if (started(name)) Session_Status.failed
   604             else Session_Status.existing
   598             else Session_Status.existing
   605           val entry =
   599           val entry =
   606             Session_Entry(
   600             Session_Entry(