From a0cbb5cfdbd52e7c6bfb7028b6fa37d7afcde7b4 Mon Sep 17 00:00:00 2001 From: Joao Moura Date: Thu, 18 Sep 2025 16:37:48 -0700 Subject: [PATCH] feat(tracing): enhance first-time trace display and auto-open browser --- .../listeners/tracing/first_time_trace_handler.py | 8 +++++++- .../events/listeners/tracing/trace_batch_manager.py | 10 ++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/crewai/events/listeners/tracing/first_time_trace_handler.py b/src/crewai/events/listeners/tracing/first_time_trace_handler.py index 1e66ec555..82ca6fa42 100644 --- a/src/crewai/events/listeners/tracing/first_time_trace_handler.py +++ b/src/crewai/events/listeners/tracing/first_time_trace_handler.py @@ -1,5 +1,6 @@ import logging import uuid +import webbrowser from rich.console import Console from rich.panel import Panel @@ -108,9 +109,14 @@ class FirstTimeTraceHandler: self._gracefully_fail(f"Backend initialization failed: {e}") def _display_ephemeral_trace_link(self): - """Display the ephemeral trace link to the user.""" + """Display the ephemeral trace link to the user and automatically open browser.""" console = Console() + try: + webbrowser.open(self.ephemeral_url) + except Exception as e: + pass + panel_content = f""" 🎉 Your First CrewAI Execution Trace is Ready! diff --git a/src/crewai/events/listeners/tracing/trace_batch_manager.py b/src/crewai/events/listeners/tracing/trace_batch_manager.py index 5bc898923..1d2eba6d9 100644 --- a/src/crewai/events/listeners/tracing/trace_batch_manager.py +++ b/src/crewai/events/listeners/tracing/trace_batch_manager.py @@ -138,13 +138,6 @@ class TraceBatchManager: if not use_ephemeral else response_data["ephemeral_trace_id"] ) - console = Console() - panel = Panel( - f"✅ Trace batch initialized with session ID: {self.trace_batch_id}", - title="Trace Batch Initialization", - border_style="green", - ) - console.print(panel) else: logger.warning( f"Trace batch initialization returned status {response.status_code}. Continuing without tracing." @@ -263,7 +256,8 @@ class TraceBatchManager: title="Trace Batch Finalization", border_style="green", ) - console.print(panel) + if not should_auto_collect_first_time_traces(): + console.print(panel) else: logger.error(