MCPcopy Create free account
hub / github.com/apache/impala / ToThriftSubclass

Method ToThriftSubclass

be/src/util/runtime-profile.cc:1691–1747  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1689}
1690
1691void RuntimeProfile::ToThriftSubclass(
1692 vector<pair<const string&, const Counter*>>& counter_map_entries,
1693 TRuntimeProfileNode* out_node) const {
1694 out_node->counters.reserve(counter_map_entries.size());
1695 for (const auto& entry : counter_map_entries) {
1696 out_node->counters.emplace_back();
1697 TCounter& counter = out_node->counters.back();
1698 counter.name = entry.first;
1699 counter.value = entry.second->value();
1700 counter.unit = entry.second->unit();
1701 }
1702
1703 {
1704 lock_guard<SpinLock> l(counter_map_lock_);
1705 if (time_series_counter_map_.size() != 0) {
1706 out_node->__isset.time_series_counters = true;
1707 out_node->time_series_counters.reserve(time_series_counter_map_.size());
1708 for (const auto& val : time_series_counter_map_) {
1709 out_node->time_series_counters.emplace_back();
1710 val.second->ToThrift(&out_node->time_series_counters.back());
1711 }
1712 }
1713 }
1714
1715 {
1716 vector<EventSequence::Event> events;
1717 lock_guard<SpinLock> l(event_sequence_lock_);
1718 if (event_sequence_map_.size() != 0) {
1719 out_node->__isset.event_sequences = true;
1720 out_node->event_sequences.reserve(event_sequence_map_.size());
1721 for (const auto& val : event_sequence_map_) {
1722 out_node->event_sequences.emplace_back();
1723 TEventSequence& seq = out_node->event_sequences.back();
1724 seq.name = val.first;
1725 val.second->GetEvents(&events);
1726 seq.labels.reserve(events.size());
1727 seq.timestamps.reserve(events.size());
1728 for (const EventSequence::Event& ev: events) {
1729 seq.labels.push_back(move(ev.first));
1730 seq.timestamps.push_back(ev.second);
1731 }
1732 }
1733 }
1734 }
1735
1736 {
1737 lock_guard<SpinLock> l(summary_stats_map_lock_);
1738 if (summary_stats_map_.size() != 0) {
1739 out_node->__isset.summary_stats_counters = true;
1740 out_node->summary_stats_counters.resize(summary_stats_map_.size());
1741 int idx = 0;
1742 for (const SummaryStatsCounterMap::value_type& val: summary_stats_map_) {
1743 val.second->ToThrift(&out_node->summary_stats_counters[idx++], val.first);
1744 }
1745 }
1746 }
1747}
1748

Callers

nothing calls this directly

Calls 11

moveFunction · 0.85
ToThriftFunction · 0.85
reserveMethod · 0.80
GetEventsMethod · 0.80
push_backMethod · 0.80
resizeMethod · 0.80
sizeMethod · 0.45
valueMethod · 0.45
unitMethod · 0.45
ToThriftMethod · 0.45
emptyMethod · 0.45

Tested by

no test coverage detected