| Index: runtime/vm/isolate.cc
|
| diff --git a/runtime/vm/isolate.cc b/runtime/vm/isolate.cc
|
| index c2a4e54bc728367b565d51b2c1af48325af81cc1..75123ba20489bb95518cabc5ed2c530b754b89e8 100644
|
| --- a/runtime/vm/isolate.cc
|
| +++ b/runtime/vm/isolate.cc
|
| @@ -1168,6 +1168,16 @@ bool Isolate::MakeRunnable() {
|
| Service::HandleEvent(&runnableEvent);
|
| }
|
| #endif // !PRODUCT
|
| + GetRunnableLatencyMetric()->set_value(UptimeMicros());
|
| + if (FLAG_print_benchmarking_metrics) {
|
| + {
|
| + StartIsolateScope scope(this);
|
| + heap()->CollectAllGarbage();
|
| + }
|
| + int64_t heap_size = (heap()->UsedInWords(Heap::kNew) * kWordSize) +
|
| + (heap()->UsedInWords(Heap::kOld) * kWordSize);
|
| + GetRunnableHeapSizeMetric()->set_value(heap_size);
|
| + }
|
| return true;
|
| }
|
|
|
| @@ -1665,13 +1675,12 @@ void Isolate::LowLevelShutdown() {
|
| "\tisolate: %s\n",
|
| name());
|
| }
|
| - if (FLAG_print_metrics) {
|
| + if (FLAG_print_metrics || FLAG_print_benchmarking_metrics) {
|
| LogBlock lb;
|
| OS::PrintErr("Printing metrics for %s\n", name());
|
| #define ISOLATE_METRIC_PRINT(type, variable, name, unit) \
|
| OS::PrintErr("%s\n", metric_##variable##_.ToString());
|
| -
|
| - ISOLATE_METRIC_LIST(ISOLATE_METRIC_PRINT);
|
| + ISOLATE_METRIC_LIST(ISOLATE_METRIC_PRINT)
|
| #undef ISOLATE_METRIC_PRINT
|
| OS::PrintErr("\n");
|
| }
|
|
|