[Feature](Memory) Hook TCMalloc new/delete automatically counts to MemTracker (#8476)

Early Design Documentation: https://shimo.im/docs/DT6JXDRkdTvdyV3G

Implement a new way of memory statistics based on TCMalloc New/Delete Hook,
MemTracker and TLS, and it is expected that all memory new/delete/malloc/free
of the BE process can be counted.
This commit is contained in:
Xinyi Zou
2022-03-20 23:06:54 +08:00
committed by GitHub
parent 276792daeb
commit eeae516e37
211 changed files with 1283 additions and 951 deletions

View File

@ -554,7 +554,8 @@ public class Coordinator {
if (colocateFragmentIds.contains(fragment.getFragmentId().asInt())) {
int rate = Math.min(Config.query_colocate_join_memory_limit_penalty_factor, instanceNum);
long newMemory = memoryLimit / rate;
// TODO(zxy): The meaning of mem limit in query_options has become the real once query mem limit.
// The logic to modify mem_limit here needs to be modified or deleted.
for (TExecPlanFragmentParams tParam : tParams) {
tParam.query_options.setMemLimit(newMemory);
}