From 3ff07dfb14cb1ad905d8212dcf9ce4f6ca6a3374 Mon Sep 17 00:00:00 2001 From: Ishaan Jaff Date: Thu, 1 Aug 2024 09:05:13 -0700 Subject: [PATCH] use itellm.forward_traceparent_to_llm_provider --- litellm/__init__.py | 1 + litellm/proxy/litellm_pre_call_utils.py | 23 +++++++++++++---------- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/litellm/__init__.py b/litellm/__init__.py index 72aeb74d99..cc03867cff 100644 --- a/litellm/__init__.py +++ b/litellm/__init__.py @@ -165,6 +165,7 @@ budget_duration: Optional[str] = ( default_soft_budget: float = ( 50.0 # by default all litellm proxy keys have a soft budget of 50.0 ) +forward_traceparent_to_llm_provider: bool = False _openai_finish_reasons = ["stop", "length", "function_call", "content_filter", "null"] _openai_completion_params = [ "functions", diff --git a/litellm/proxy/litellm_pre_call_utils.py b/litellm/proxy/litellm_pre_call_utils.py index ffea850a33..13f9475c5c 100644 --- a/litellm/proxy/litellm_pre_call_utils.py +++ b/litellm/proxy/litellm_pre_call_utils.py @@ -3,6 +3,7 @@ from typing import TYPE_CHECKING, Any, Dict, Optional from fastapi import Request +import litellm from litellm._logging import verbose_logger, verbose_proxy_logger from litellm.proxy._types import CommonProxyErrors, TeamCallbackMetadata, UserAPIKeyAuth from litellm.types.utils import SupportedCacheControls @@ -250,13 +251,15 @@ def _add_otel_traceparent_to_data(data: dict, request: Request): # if user is not use OTEL don't send extra_headers # relevant issue: https://github.com/BerriAI/litellm/issues/4448 return - if request.headers: - if "traceparent" in request.headers: - # we want to forward this to the LLM Provider - # Relevant issue: https://github.com/BerriAI/litellm/issues/4419 - # pass this in extra_headers - if "extra_headers" not in data: - data["extra_headers"] = {} - _exra_headers = data["extra_headers"] - if "traceparent" not in _exra_headers: - _exra_headers["traceparent"] = request.headers["traceparent"] + + if litellm.forward_traceparent_to_llm_provider is True: + if request.headers: + if "traceparent" in request.headers: + # we want to forward this to the LLM Provider + # Relevant issue: https://github.com/BerriAI/litellm/issues/4419 + # pass this in extra_headers + if "extra_headers" not in data: + data["extra_headers"] = {} + _exra_headers = data["extra_headers"] + if "traceparent" not in _exra_headers: + _exra_headers["traceparent"] = request.headers["traceparent"]