src/Pure/ML/ml_statistics.ML
changeset 63806 c54a53ef1873
parent 62945 c38c08889aa9
child 69822 8c587dd44f51
equal deleted inserted replaced
63805:c272680df665 63806:c54a53ef1873
    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;