33 timeNonGCSystem, |
33 timeNonGCSystem, |
34 timeNonGCUser, |
34 timeNonGCUser, |
35 userCounters} = PolyML.Statistics.getLocalStats (); |
35 userCounters} = PolyML.Statistics.getLocalStats (); |
36 val user_counters = |
36 val user_counters = |
37 Vector.foldri |
37 Vector.foldri |
38 (fn (i, j, res) => ("user_counter" ^ Markup.print_int i, Markup.print_int j) :: res) |
38 (fn (i, j, res) => ("user_counter" ^ Value.print_int i, Value.print_int j) :: res) |
39 [] userCounters; |
39 [] userCounters; |
40 in |
40 in |
41 [("full_GCs", Markup.print_int gcFullGCs), |
41 [("full_GCs", Value.print_int gcFullGCs), |
42 ("partial_GCs", Markup.print_int gcPartialGCs), |
42 ("partial_GCs", Value.print_int gcPartialGCs), |
43 ("size_allocation", Markup.print_int sizeAllocation), |
43 ("size_allocation", Value.print_int sizeAllocation), |
44 ("size_allocation_free", Markup.print_int sizeAllocationFree), |
44 ("size_allocation_free", Value.print_int sizeAllocationFree), |
45 ("size_heap", Markup.print_int sizeHeap), |
45 ("size_heap", Value.print_int sizeHeap), |
46 ("size_heap_free_last_full_GC", Markup.print_int sizeHeapFreeLastFullGC), |
46 ("size_heap_free_last_full_GC", Value.print_int sizeHeapFreeLastFullGC), |
47 ("size_heap_free_last_GC", Markup.print_int sizeHeapFreeLastGC), |
47 ("size_heap_free_last_GC", Value.print_int sizeHeapFreeLastGC), |
48 ("threads_in_ML", Markup.print_int threadsInML), |
48 ("threads_in_ML", Value.print_int threadsInML), |
49 ("threads_total", Markup.print_int threadsTotal), |
49 ("threads_total", Value.print_int threadsTotal), |
50 ("threads_wait_condvar", Markup.print_int threadsWaitCondVar), |
50 ("threads_wait_condvar", Value.print_int threadsWaitCondVar), |
51 ("threads_wait_IO", Markup.print_int threadsWaitIO), |
51 ("threads_wait_IO", Value.print_int threadsWaitIO), |
52 ("threads_wait_mutex", Markup.print_int threadsWaitMutex), |
52 ("threads_wait_mutex", Value.print_int threadsWaitMutex), |
53 ("threads_wait_signal", Markup.print_int threadsWaitSignal), |
53 ("threads_wait_signal", Value.print_int threadsWaitSignal), |
54 ("time_CPU", Markup.print_real (Time.toReal timeNonGCSystem + Time.toReal timeNonGCUser)), |
54 ("time_CPU", Value.print_real (Time.toReal timeNonGCSystem + Time.toReal timeNonGCUser)), |
55 ("time_GC", Markup.print_real (Time.toReal timeGCSystem + Time.toReal timeGCUser))] @ |
55 ("time_GC", Value.print_real (Time.toReal timeGCSystem + Time.toReal timeGCUser))] @ |
56 user_counters |
56 user_counters |
57 end; |
57 end; |
58 |
58 |
59 end; |
59 end; |