From 15c0d334e852819f0cce800cd8b1fae472b53e53 Mon Sep 17 00:00:00 2001 From: Ishaan Jaff Date: Fri, 7 Jun 2024 15:10:05 -0700 Subject: [PATCH] fix logic for deep copying otel spans / traces --- litellm/proxy/utils.py | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/litellm/proxy/utils.py b/litellm/proxy/utils.py index db6eefc926d..e89aae6ad26 100644 --- a/litellm/proxy/utils.py +++ b/litellm/proxy/utils.py @@ -83,15 +83,13 @@ def safe_deep_copy(data): if isinstance(data, dict): # remove litellm_parent_otel_span since this is not picklable if "metadata" in data and "litellm_parent_otel_span" in data["metadata"]: - data["metadata"].pop("litellm_parent_otel_span") + litellm_parent_otel_span = data["metadata"].pop("litellm_parent_otel_span") new_data = copy.deepcopy(data) # Step 2: re-add the litellm_parent_otel_span after doing a deep copy if isinstance(data, dict): - if "metadata" in data and "litellm_parent_otel_span" in data["metadata"]: - data["metadata"]["litellm_parent_otel_span"] = data["metadata"][ - "litellm_parent_otel_span" - ] + if "metadata" in data: + data["metadata"]["litellm_parent_otel_span"] = litellm_parent_otel_span return new_data