Skip to content

Commit 46f9e19

Browse files
committed
log time elapsed in PersonaManager
1 parent 4767312 commit 46f9e19

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

packages/jupyter-ai/jupyter_ai/personas/persona_manager.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,14 @@
66
from logging import Logger
77
from importlib_metadata import entry_points
88
from .base_persona import BasePersona
9+
from time import time_ns
910

1011
if TYPE_CHECKING:
1112
from asyncio import AbstractEventLoop
1213

1314
# EPG := entry point group
1415
EPG_NAME = "jupyter_ai.personas"
16+
1517
class PersonaManager:
1618
"""
1719
Class that manages all personas for a single chat.
@@ -54,6 +56,7 @@ def _init_persona_classes(self) -> None:
5456
persona_eps = entry_points().select(group=EPG_NAME)
5557
self.log.info(f"Found {len(persona_eps)} entry points under '{EPG_NAME}'.")
5658
self.log.info("PENDING: Loading AI persona classes from entry points...")
59+
start_time_ns = time_ns()
5760
persona_classes: list[type[BasePersona]] = []
5861

5962
for persona_ep in persona_eps:
@@ -71,7 +74,8 @@ def _init_persona_classes(self) -> None:
7174
continue
7275

7376
if len(persona_classes) > 0:
74-
self.log.info(f"SUCCESS: Loaded {len(persona_classes)} AI persona classes from entry points.")
77+
elapsed_time_ms = (time_ns() - start_time_ns) // 1000
78+
self.log.info(f"SUCCESS: Loaded {len(persona_classes)} AI persona classes from entry points. Time elapsed: {elapsed_time_ms}ms.")
7579
else:
7680
self.log.error(
7781
"ERROR: Jupyter AI has no AI personas available. "
@@ -86,10 +90,11 @@ def _init_personas(self) -> dict[str, BasePersona]:
8690
"""
8791
if hasattr(self, '_personas') or len(PersonaManager._persona_classes) == 0:
8892
return
89-
90-
self.log.info(f"PENDING: Initializing AI personas for chat room '{self.ychat.get_id()}'...")
9193
persona_classes = PersonaManager._persona_classes
9294
assert isinstance(persona_classes, list)
95+
96+
self.log.info(f"PENDING: Initializing AI personas for chat room '{self.ychat.get_id()}'...")
97+
start_time_ns = time_ns()
9398

9499
personas: dict[str, BasePersona] = {}
95100
for Persona in persona_classes:
@@ -110,7 +115,8 @@ def _init_personas(self) -> dict[str, BasePersona]:
110115
self.log.info(f" - Initialized persona '{persona.name}' (ID: '{persona.id}').")
111116
personas[persona.id] = persona
112117

113-
self.log.info(f"SUCCESS: Initialized {len(personas)} AI personas for chat room '{self.ychat.get_id()}'.")
118+
elapsed_time_ms = (time_ns() - start_time_ns) // 1000
119+
self.log.info(f"SUCCESS: Initialized {len(personas)} AI personas for chat room '{self.ychat.get_id()}'. Time elapsed: {elapsed_time_ms}ms.")
114120
return personas
115121

116122
@property

0 commit comments

Comments
 (0)