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

Method GetRequestPoolMemTracker

be/src/runtime/mem-tracker.cc:199–217  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

197}
198
199MemTracker* PoolMemTrackerRegistry::GetRequestPoolMemTracker(
200 const string& pool_name, bool create_if_not_present) {
201 DCHECK(!pool_name.empty());
202 lock_guard<SpinLock> l(pool_to_mem_trackers_lock_);
203 PoolTrackersMap::iterator it = pool_to_mem_trackers_.find(pool_name);
204 if (it != pool_to_mem_trackers_.end()) {
205 MemTracker* tracker = it->second.get();
206 DCHECK(pool_name == tracker->pool_name_);
207 return tracker;
208 }
209 if (!create_if_not_present) return nullptr;
210 // First time this pool_name registered, make a new object.
211 MemTracker* tracker =
212 new MemTracker(-1, Substitute(REQUEST_POOL_MEM_TRACKER_LABEL_FORMAT, pool_name),
213 ExecEnv::GetInstance()->process_mem_tracker());
214 tracker->pool_name_ = pool_name;
215 pool_to_mem_trackers_.emplace(pool_name, unique_ptr<MemTracker>(tracker));
216 return tracker;
217}
218
219MemTracker* MemTracker::CreateQueryMemTracker(const TUniqueId& id,
220 int64_t mem_limit, const string& pool_name, ObjectPool* obj_pool) {

Callers 3

UpdateMemTrackerStatsMethod · 0.80
TEST_FFunction · 0.80
CreateQueryMemTrackerMethod · 0.80

Calls 6

SubstituteFunction · 0.85
getMethod · 0.65
emptyMethod · 0.45
findMethod · 0.45
endMethod · 0.45
process_mem_trackerMethod · 0.45

Tested by 1

TEST_FFunction · 0.64