src/Pure/Tools/task_statistics.scala
changeset 50982 a7aa17a1f721
parent 50980 bc746aa3e8d5
child 50989 a7f6ce0493b7
--- a/src/Pure/Tools/task_statistics.scala	Fri Jan 18 22:38:34 2013 +0100
+++ b/src/Pure/Tools/task_statistics.scala	Fri Jan 18 23:33:17 2013 +0100
@@ -17,18 +17,22 @@
 
 object Task_Statistics
 {
-  def apply(stats: List[Properties.T]): Task_Statistics = new Task_Statistics(stats)
+  def apply(name: String, tasks: List[Properties.T]): Task_Statistics =
+    new Task_Statistics(name, tasks)
+
+  def apply(info: Build.Log_Info): Task_Statistics =
+    apply(info.name, info.tasks)
 }
 
-final class Task_Statistics private(val stats: List[Properties.T])
+final class Task_Statistics private(val name: String, val tasks: List[Properties.T])
 {
-  val Task_Name = new Properties.String("task_name")
-  val Run = new Properties.Int("run")
+  private val Task_Name = new Properties.String("task_name")
+  private val Run = new Properties.Int("run")
 
   def chart(bins: Int = 100): JFreeChart =
   {
-    val values = new Array[Double](stats.length)
-    for ((Run(x), i) <- stats.iterator.zipWithIndex) values(i) =
+    val values = new Array[Double](tasks.length)
+    for ((Run(x), i) <- tasks.iterator.zipWithIndex) values(i) =
       Math.log10(x.toDouble / 1000000)
 
     val data = new HistogramDataset
@@ -50,7 +54,7 @@
     Swing_Thread.later {
       new Frame {
         iconImage = Isabelle_System.get_icon().getImage
-        title = "Statistics"
+        title = name
         contents = Component.wrap(new ChartPanel(chart(bins)))
         visible = true
       }