From d86285a4a4b79b883620d2878c0b52b22ad4c640 Mon Sep 17 00:00:00 2001 From: youkaichao Date: Tue, 23 Apr 2024 09:45:52 -0700 Subject: [PATCH] [Core][Logging] Add last frame information for better debugging (#4278) --- vllm/logger.py | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/vllm/logger.py b/vllm/logger.py index 046f0e909..341fc4735 100644 --- a/vllm/logger.py +++ b/vllm/logger.py @@ -83,13 +83,27 @@ def _trace_calls(log_path, root_dir, frame, event, arg=None): return # Log every function call or return try: + last_frame = frame.f_back + if last_frame is not None: + last_filename = last_frame.f_code.co_filename + last_lineno = last_frame.f_lineno + last_func_name = last_frame.f_code.co_name + else: + # initial frame + last_filename = "" + last_lineno = 0 + last_func_name = "" with open(log_path, 'a') as f: if event == 'call': f.write(f"{datetime.datetime.now()} Call to" - f" {func_name} in {filename}:{lineno}\n") + f" {func_name} in {filename}:{lineno}" + f" from {last_func_name} in {last_filename}:" + f"{last_lineno}\n") else: f.write(f"{datetime.datetime.now()} Return from" - f" {func_name} in {filename}:{lineno}\n") + f" {func_name} in {filename}:{lineno}" + f" to {last_func_name} in {last_filename}:" + f"{last_lineno}\n") except NameError: # modules are deleted during shutdown pass