| Index: src/d8.cc
|
| diff --git a/src/d8.cc b/src/d8.cc
|
| index e3178faeab7d9d4756bb693ce52e5829a45160c9..ad7d1680ecaf54eca853bd4a183f5d259b6dddcd 100644
|
| --- a/src/d8.cc
|
| +++ b/src/d8.cc
|
| @@ -1688,7 +1688,7 @@ void Shell::WriteIgnitionDispatchCountersFile(v8::Isolate* isolate) {
|
|
|
|
|
| void Shell::OnExit(v8::Isolate* isolate) {
|
| - if (i::FLAG_dump_counters) {
|
| + if (i::FLAG_dump_counters || i::FLAG_dump_counters_nvp) {
|
| int number_of_counters = 0;
|
| for (CounterMap::Iterator i(counter_map_); i.More(); i.Next()) {
|
| number_of_counters++;
|
| @@ -1700,24 +1700,44 @@ void Shell::OnExit(v8::Isolate* isolate) {
|
| counters[j].key = i.CurrentKey();
|
| }
|
| std::sort(counters, counters + number_of_counters);
|
| - printf("+----------------------------------------------------------------+"
|
| - "-------------+\n");
|
| - printf("| Name |"
|
| - " Value |\n");
|
| - printf("+----------------------------------------------------------------+"
|
| - "-------------+\n");
|
| - for (j = 0; j < number_of_counters; j++) {
|
| - Counter* counter = counters[j].counter;
|
| - const char* key = counters[j].key;
|
| - if (counter->is_histogram()) {
|
| - printf("| c:%-60s | %11i |\n", key, counter->count());
|
| - printf("| t:%-60s | %11i |\n", key, counter->sample_total());
|
| - } else {
|
| - printf("| %-62s | %11i |\n", key, counter->count());
|
| +
|
| + if (i::FLAG_dump_counters_nvp) {
|
| + // Dump counters as name-value pairs.
|
| + for (j = 0; j < number_of_counters; j++) {
|
| + Counter* counter = counters[j].counter;
|
| + const char* key = counters[j].key;
|
| + if (counter->is_histogram()) {
|
| + printf("\"c:%s\"=%i\n", key, counter->count());
|
| + printf("\"t:%s\"=%i\n", key, counter->sample_total());
|
| + } else {
|
| + printf("\"%s\"=%i\n", key, counter->count());
|
| + }
|
| + }
|
| + } else {
|
| + // Dump counters in formatted boxes.
|
| + printf(
|
| + "+----------------------------------------------------------------+"
|
| + "-------------+\n");
|
| + printf(
|
| + "| Name |"
|
| + " Value |\n");
|
| + printf(
|
| + "+----------------------------------------------------------------+"
|
| + "-------------+\n");
|
| + for (j = 0; j < number_of_counters; j++) {
|
| + Counter* counter = counters[j].counter;
|
| + const char* key = counters[j].key;
|
| + if (counter->is_histogram()) {
|
| + printf("| c:%-60s | %11i |\n", key, counter->count());
|
| + printf("| t:%-60s | %11i |\n", key, counter->sample_total());
|
| + } else {
|
| + printf("| %-62s | %11i |\n", key, counter->count());
|
| + }
|
| }
|
| + printf(
|
| + "+----------------------------------------------------------------+"
|
| + "-------------+\n");
|
| }
|
| - printf("+----------------------------------------------------------------+"
|
| - "-------------+\n");
|
| delete [] counters;
|
| }
|
|
|
| @@ -2963,7 +2983,7 @@ int Shell::Main(int argc, char* argv[]) {
|
| base::SysInfo::AmountOfVirtualMemory());
|
|
|
| Shell::counter_map_ = new CounterMap();
|
| - if (i::FLAG_dump_counters || i::FLAG_gc_stats) {
|
| + if (i::FLAG_dump_counters || i::FLAG_dump_counters_nvp || i::FLAG_gc_stats) {
|
| create_params.counter_lookup_callback = LookupCounter;
|
| create_params.create_histogram_callback = CreateHistogram;
|
| create_params.add_histogram_sample_callback = AddHistogramSample;
|
|
|