From 11c64791aa53a8715b5423fae82fe256d34dff9d Mon Sep 17 00:00:00 2001 From: Debanjum Singh Solanky Date: Tue, 15 Oct 2024 17:56:21 -0700 Subject: [PATCH] Allow changing perf timer log level. Info log time for webpage read --- src/khoj/processor/tools/online_search.py | 2 +- src/khoj/routers/helpers.py | 11 +++++------ src/khoj/utils/helpers.py | 8 ++++---- 3 files changed, 10 insertions(+), 11 deletions(-) diff --git a/src/khoj/processor/tools/online_search.py b/src/khoj/processor/tools/online_search.py index df9b180f..2fbe8cf3 100644 --- a/src/khoj/processor/tools/online_search.py +++ b/src/khoj/processor/tools/online_search.py @@ -183,7 +183,7 @@ async def read_webpage_and_extract_content( extracted_info = None try: if is_none_or_empty(content): - with timer(f"Reading web page with {web_scraper.value} at '{url}' took", logger): + with timer(f"Reading web page with {web_scraper.value} at '{url}' took", logger, log_level=logging.INFO): if web_scraper == ServerChatSettings.WebScraper.FIRECRAWL: if FIRECRAWL_TO_EXTRACT: extracted_info = await read_webpage_and_extract_content_with_firecrawl(url, subqueries, agent) diff --git a/src/khoj/routers/helpers.py b/src/khoj/routers/helpers.py index 4edef61d..c3d997e9 100644 --- a/src/khoj/routers/helpers.py +++ b/src/khoj/routers/helpers.py @@ -571,12 +571,11 @@ async def extract_relevant_info( personality_context=personality_context, ) - with timer("Chat actor: Extract relevant information from data", logger): - response = await send_message_to_model_wrapper( - extract_relevant_information, - prompts.system_prompt_extract_relevant_information, - user=user, - ) + response = await send_message_to_model_wrapper( + extract_relevant_information, + prompts.system_prompt_extract_relevant_information, + user=user, + ) return response.strip() diff --git a/src/khoj/utils/helpers.py b/src/khoj/utils/helpers.py index e0908e51..f16f922c 100644 --- a/src/khoj/utils/helpers.py +++ b/src/khoj/utils/helpers.py @@ -164,9 +164,9 @@ def get_class_by_name(name: str) -> object: class timer: """Context manager to log time taken for a block of code to run""" - def __init__(self, message: str, logger: logging.Logger, device: torch.device = None): + def __init__(self, message: str, logger: logging.Logger, device: torch.device = None, log_level=logging.DEBUG): self.message = message - self.logger = logger + self.logger = logger.debug if log_level == logging.DEBUG else logger.info self.device = device def __enter__(self): @@ -176,9 +176,9 @@ class timer: def __exit__(self, *_): elapsed = perf_counter() - self.start if self.device is None: - self.logger.debug(f"{self.message}: {elapsed:.3f} seconds") + self.logger(f"{self.message}: {elapsed:.3f} seconds") else: - self.logger.debug(f"{self.message}: {elapsed:.3f} seconds on device: {self.device}") + self.logger(f"{self.message}: {elapsed:.3f} seconds on device: {self.device}") class LRU(OrderedDict):