diff -r 1791a90a94fb -r a7aa17a1f721 src/Pure/Tools/task_statistics.scala --- 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 }