From a13699647eaebdc839d1bd7650ad262ca3bea56c 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 db6eefc926..e89aae6ad2 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