@@ -285,30 +285,31 @@ private[profile] class RealProfiler(reporter : ProfileReporter)(implicit ctx: Co
285
285
}
286
286
}
287
287
288
- object EventType extends Enumeration {
288
+ case class EventType (name : String )
289
+ object EventType {
289
290
// only one report for a phase
290
- val SINGLE = Value (" single" )
291
+ val SINGLE = EventType (" single" )
291
292
// main thread with other tasks
292
- val MAIN = Value (" main" )
293
+ val MAIN = EventType (" main" )
293
294
// other task ( background thread)
294
- val TASK = Value (" task" )
295
+ val TASK = EventType (" task" )
295
296
// total for phase
296
- val TOTAL = Value (" total" )
297
+ val TOTAL = EventType (" total" )
297
298
// total for compile
298
- val ALL = Value (" all" )
299
+ val ALL = EventType (" all" )
299
300
}
300
301
sealed trait ProfileReporter {
301
302
def reportGc (data : GcEventData ): Unit
302
303
303
- def report (profiler : RealProfiler , phase : Phase , eventType: EventType . Value , id: Int , desc: String , diff : ProfileCounters ) : Unit
304
+ def report (profiler : RealProfiler , phase : Phase , eventType: EventType , id: Int , desc: String , diff : ProfileCounters ) : Unit
304
305
305
306
def header (profiler : RealProfiler ) : Unit
306
307
def close (profiler : RealProfiler ) : Unit
307
308
}
308
309
309
310
object ConsoleProfileReporter extends ProfileReporter {
310
- override def report (profiler : RealProfiler , phase : Phase , eventType: EventType . Value , id: Int , desc: String , diff : ProfileCounters ): Unit =
311
- println(f " Profiler compile ${profiler.id} after phase ${phase.id}%2d: ${phase.phaseName.replace(',' , ' ' )}%20s ${eventType}%10s ${desc}%20s wallClockTime: ${diff.wallClockTimeMillis}%12.4fms, idleTime: ${diff.idleTimeMillis}%12.4fms, cpuTime ${diff.cpuTimeMillis}%12.4fms, userTime ${diff.userTimeMillis}%12.4fms, allocatedBytes ${diff.allocatedMB}%12.4fMB, retainedHeapBytes ${diff.retainedHeapMB}%12.4fMB, gcTime ${diff.gcTimeMillis}%6.0fms " )
311
+ override def report (profiler : RealProfiler , phase : Phase , eventType: EventType , id: Int , desc: String , diff : ProfileCounters ): Unit =
312
+ println(f " Profiler compile ${profiler.id} after phase ${phase.id}%2d: ${phase.phaseName.replace(',' , ' ' )}%20s ${eventType.name }%10s ${desc}%20s wallClockTime: ${diff.wallClockTimeMillis}%12.4fms, idleTime: ${diff.idleTimeMillis}%12.4fms, cpuTime ${diff.cpuTimeMillis}%12.4fms, userTime ${diff.userTimeMillis}%12.4fms, allocatedBytes ${diff.allocatedMB}%12.4fMB, retainedHeapBytes ${diff.retainedHeapMB}%12.4fMB, gcTime ${diff.gcTimeMillis}%6.0fms " )
312
313
313
314
override def close (profiler : RealProfiler ): Unit = ()
314
315
@@ -326,8 +327,8 @@ class StreamProfileReporter(out:PrintWriter) extends ProfileReporter {
326
327
out.println(s " info, ${profiler.id}, ${profiler.outDir}" )
327
328
out.println(s " header,id,phaseId,phaseName,type,id,comment,wallClockTimeMs,idleTimeMs,cpuTimeMs,userTimeMs,allocatedMB,retainedHeapMB,gcTimeMs " )
328
329
}
329
- override def report (profiler : RealProfiler , phase : Phase , eventType: EventType . Value , id: Int , desc: String , diff : ProfileCounters ): Unit = {
330
- out.println(s " data, ${profiler.id}, ${phase.id}, ${phase.phaseName.replace(',' , ' ' )}, ${eventType}, $id, $desc, ${diff.wallClockTimeMillis}, ${diff.idleTimeMillis}, ${diff.cpuTimeMillis}, ${diff.userTimeMillis}, ${diff.allocatedMB}, ${diff.retainedHeapMB}, ${diff.gcTimeMillis}" )
330
+ override def report (profiler : RealProfiler , phase : Phase , eventType: EventType , id: Int , desc: String , diff : ProfileCounters ): Unit = {
331
+ out.println(s " data, ${profiler.id}, ${phase.id}, ${phase.phaseName.replace(',' , ' ' )}, ${eventType.name }, $id, $desc, ${diff.wallClockTimeMillis}, ${diff.idleTimeMillis}, ${diff.cpuTimeMillis}, ${diff.userTimeMillis}, ${diff.allocatedMB}, ${diff.retainedHeapMB}, ${diff.gcTimeMillis}" )
331
332
}
332
333
333
334
override def reportGc (data : GcEventData ): Unit = {
0 commit comments