Skip to content

Commit 6d291c8

Browse files
authored
feat: introduce helper functions for dynamic tracer import (#2778)
* fix: remove unused import in langwatch.py * feat(tracing/service.py): introduce helper functions _get_langsmith_tracer and _get_langwatch_tracer to dynamically import tracers
1 parent d2a8f33 commit 6d291c8

File tree

2 files changed

+16
-5
lines changed

2 files changed

+16
-5
lines changed

src/backend/base/langflow/services/tracing/langwatch.py

-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
from uuid import UUID
44

55
import nanoid # type: ignore
6-
from langwatch.tracer import ContextSpan
76
from loguru import logger
87

98
from langflow.schema.data import Data

src/backend/base/langflow/services/tracing/service.py

+16-4
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@
99

1010
from langflow.services.base import Service
1111
from langflow.services.tracing.base import BaseTracer
12-
from langflow.services.tracing.langsmith import LangSmithTracer
13-
from langflow.services.tracing.langwatch import LangWatchTracer
1412
from langflow.services.tracing.schema import Log
1513

1614
if TYPE_CHECKING:
@@ -20,6 +18,18 @@
2018
from langflow.services.settings.service import SettingsService
2119

2220

21+
def _get_langsmith_tracer():
22+
from langflow.services.tracing.langsmith import LangSmithTracer
23+
24+
return LangSmithTracer
25+
26+
27+
def _get_langwatch_tracer():
28+
from langflow.services.tracing.langwatch import LangWatchTracer
29+
30+
return LangWatchTracer
31+
32+
2333
class TracingService(Service):
2434
name = "tracing_service"
2535

@@ -95,7 +105,8 @@ async def initialize_tracers(self):
95105
def _initialize_langsmith_tracer(self):
96106
project_name = os.getenv("LANGCHAIN_PROJECT", "Langflow")
97107
self.project_name = project_name
98-
self._tracers["langsmith"] = LangSmithTracer(
108+
langsmith_tracer = _get_langsmith_tracer()
109+
self._tracers["langsmith"] = langsmith_tracer(
99110
trace_name=self.run_name,
100111
trace_type="chain",
101112
project_name=self.project_name,
@@ -108,7 +119,8 @@ def _initialize_langwatch_tracer(self):
108119
and "langwatch" not in self._tracers
109120
or self._tracers["langwatch"].trace_id != self.run_id # type: ignore
110121
):
111-
self._tracers["langwatch"] = LangWatchTracer(
122+
langwatch_tracer = _get_langwatch_tracer()
123+
self._tracers["langwatch"] = langwatch_tracer(
112124
trace_name=self.run_name,
113125
trace_type="chain",
114126
project_name=self.project_name,

0 commit comments

Comments
 (0)