| 1591 | } |
| 1592 | |
| 1593 | void RuntimeProfile::PrettyPrintSubclassCounters( |
| 1594 | ostream* s, const string& prefix, Verbosity verbosity) const { |
| 1595 | PrettyPrintTimeline(s, prefix + " "); |
| 1596 | |
| 1597 | { |
| 1598 | // Print time series counters. |
| 1599 | lock_guard<SpinLock> l(counter_map_lock_); |
| 1600 | for (const auto& v : time_series_counter_map_) { |
| 1601 | const TimeSeriesCounter* counter = v.second; |
| 1602 | lock_guard<SpinLock> l(counter->lock_); |
| 1603 | int num, period; |
| 1604 | const int64_t* samples = counter->GetSamplesLocked(&num, &period); |
| 1605 | PrettyPrintTimeSeries(v.first, samples, num, period, prefix, counter->unit(), s); |
| 1606 | } |
| 1607 | } |
| 1608 | |
| 1609 | { |
| 1610 | lock_guard<SpinLock> l(summary_stats_map_lock_); |
| 1611 | // Print all SummaryStatsCounters as following: |
| 1612 | // <Name>: (Avg: <value> ; Min: <min_value> ; Max: <max_value> ; |
| 1613 | // Number of samples: <total>) |
| 1614 | for (const auto& v : summary_stats_map_) { |
| 1615 | v.second->PrettyPrint(prefix, v.first, verbosity, s); |
| 1616 | } |
| 1617 | } |
| 1618 | } |
| 1619 | |
| 1620 | void RuntimeProfile::SetTExecSummary(const TExecSummary& summary) { |
| 1621 | lock_guard<SpinLock> l(t_exec_summary_lock_); |
nothing calls this directly
no test coverage detected