refactor(langfuse): type the slack trace-url lookup and drop dead v2 test shims

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
This commit is contained in:
yucheng 2026-09-14 21:23:39 +00:00
parent edf0d13afd
commit 5d0b89eb10
2 changed files with 4 additions and 13 deletions

View file

@ -82,10 +82,10 @@ async def _add_langfuse_trace_id_to_alert(
break
await asyncio.sleep(3) # wait 3s before retrying for trace id
#########################################################
from litellm.integrations.langfuse.langfuse import LangFuseLogger
langfuse_object: Final = litellm_logging_obj._get_callback_object(service_name="langfuse")
if langfuse_object is not None:
base_url: Final = getattr(langfuse_object, "langfuse_host", None)
if base_url is not None:
return f"{base_url}/trace/{trace_id}"
if isinstance(langfuse_object, LangFuseLogger):
return f"{langfuse_object.langfuse_host}/trace/{trace_id}"
return None

View file

@ -77,8 +77,6 @@ class TestLangfuseUsageDetails(unittest.TestCase):
# Explicitly set the Langfuse client to our mock
self.logger.Langfuse = self.mock_langfuse_client
# Ensure langfuse_sdk_version is set correctly for _supports_* methods
self.logger.langfuse_sdk_version = "3.0.0"
# Add the log_event_on_langfuse method to the instance
def log_event_on_langfuse(
@ -110,12 +108,6 @@ class TestLangfuseUsageDetails(unittest.TestCase):
# Bind the method to the instance
self.logger.log_event_on_langfuse = types.MethodType(log_event_on_langfuse, self.logger)
# Make sure _is_langfuse_v2 returns True
def mock_is_langfuse_v2(self):
return True
self.logger._is_langfuse_v2 = types.MethodType(mock_is_langfuse_v2, self.logger)
def tearDown(self):
# Clean up logger instance to prevent state leakage
if hasattr(self, "logger"):
@ -133,7 +125,6 @@ class TestLangfuseUsageDetails(unittest.TestCase):
"""Point the logger at a real v4 client whose spans land in memory."""
from langfuse._client.resource_manager import LangfuseResourceManager
from opentelemetry.sdk.trace import TracerProvider
from opentelemetry.sdk.trace.export import SimpleSpanProcessor
from opentelemetry.sdk.trace.export.in_memory_span_exporter import (
InMemorySpanExporter,
)