From 8955bc1866285cdf9f320f42e43bc995033ad925 Mon Sep 17 00:00:00 2001 From: William FH <13333726+hinthornw@users.noreply.github.com> Date: Tue, 25 Jun 2024 11:57:23 -0700 Subject: [PATCH] [Core] Logging: Suppress missing parent warning (#23363) --- libs/core/langchain_core/tracers/core.py | 11 +++++++---- libs/core/langchain_core/tracers/root_listeners.py | 4 ++++ 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/libs/core/langchain_core/tracers/core.py b/libs/core/langchain_core/tracers/core.py index f66c62d9955..bee9f855b3e 100644 --- a/libs/core/langchain_core/tracers/core.py +++ b/libs/core/langchain_core/tracers/core.py @@ -50,6 +50,8 @@ class _TracerCore(ABC): This class provides common methods, and reusable methods for tracers. """ + log_missing_parent: bool = True + def __init__( self, *, @@ -118,10 +120,11 @@ class _TracerCore(ABC): if parent_run := self.run_map.get(str(run.parent_run_id)): self._add_child_run(parent_run, run) else: - logger.warning( - f"Parent run {run.parent_run_id} not found for run {run.id}." - " Treating as a root run." - ) + if self.log_missing_parent: + logger.warning( + f"Parent run {run.parent_run_id} not found for run {run.id}." + " Treating as a root run." + ) run.parent_run_id = None run.trace_id = run.id run.dotted_order = current_dotted_order diff --git a/libs/core/langchain_core/tracers/root_listeners.py b/libs/core/langchain_core/tracers/root_listeners.py index 54ec1ba255a..a606889a5ba 100644 --- a/libs/core/langchain_core/tracers/root_listeners.py +++ b/libs/core/langchain_core/tracers/root_listeners.py @@ -18,6 +18,8 @@ AsyncListener = Union[ class RootListenersTracer(BaseTracer): """Tracer that calls listeners on run start, end, and error.""" + log_missing_parent = False + def __init__( self, *, @@ -63,6 +65,8 @@ class RootListenersTracer(BaseTracer): class AsyncRootListenersTracer(AsyncBaseTracer): """Async Tracer that calls listeners on run start, end, and error.""" + log_missing_parent = False + def __init__( self, *,