summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Moody <daniel.moody@mongodb.com>2022-07-15 18:27:33 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2022-07-15 19:37:38 +0000
commitbcabe186e74012a43aaa3596b1e0d72735853b6e (patch)
tree4dbb3c18d181bc707f24ce9d1df5b79c012369a6
parent49802bc44a41271ae1dac871b28bdf1146f77ece (diff)
downloadmongo-bcabe186e74012a43aaa3596b1e0d72735853b6e.tar.gz
SERVER-68086 fix per action function action cpu usage
-rw-r--r--site_scons/site_tools/build_metrics/per_action_metrics.py9
1 files changed, 5 insertions, 4 deletions
diff --git a/site_scons/site_tools/build_metrics/per_action_metrics.py b/site_scons/site_tools/build_metrics/per_action_metrics.py
index 4ad92deff33..9c7c1ca902e 100644
--- a/site_scons/site_tools/build_metrics/per_action_metrics.py
+++ b/site_scons/site_tools/build_metrics/per_action_metrics.py
@@ -41,12 +41,15 @@ class ProfiledFunction:
'outputs': [str(t) for t in target],
'inputs': [str(s) for s in source],
'action': fullname(self.original_func),
- 'start_time': time.time_ns(),
'builder': target[0].get_builder().get_name(target[0].get_env()),
}
-
profile = memory_profiler.LineProfiler(include_children=False)
+
+ task_metrics['start_time'] = time.time_ns()
+ thread_start_time = time.thread_time_ns()
return_value = profile(self.original_func)(target=target, source=source, env=env)
+ task_metrics['cpu_time'] = time.thread_time_ns() - thread_start_time
+ task_metrics['end_time'] = time.time_ns()
memory_increases_per_line = []
for (file_where_code_is, lines_of_code) in profile.code_map.items():
@@ -58,8 +61,6 @@ class ProfiledFunction:
memory_increase = memory_usage[0]
memory_increases_per_line.append(memory_increase)
- task_metrics['cpu_time'] = time.thread_time_ns()
- task_metrics['end_time'] = time.time_ns()
task_metrics['mem_usage'] = int(sum(memory_increases_per_line) * 1024 * 1024)
self.per_action_instance.build_tasks_metrics.append(task_metrics)