use callback_settings when intializing otel

This commit is contained in:
Ishaan Jaff 2024-09-09 16:05:48 -07:00
parent 0f0a5c1758
commit e07b2ce6ea
4 changed files with 51 additions and 4 deletions

View file

@ -12,6 +12,41 @@ from litellm.integrations.opentelemetry import OpenTelemetry, OpenTelemetryConfi
verbose_logger.setLevel(logging.DEBUG)
class TestOpenTelemetry(OpenTelemetry):
def __init__(self, **kwargs):
super().__init__(**kwargs)
self.kwargs = None
async def async_log_success_event(self, kwargs, response_obj, start_time, end_time):
print("in async_log_success_event for TestOpenTelemetry kwargs=", self.kwargs)
self.kwargs = kwargs
await super().async_log_success_event(
kwargs, response_obj, start_time, end_time
)
@pytest.mark.asyncio
async def test_otel_with_message_logging_off():
from litellm.integrations.opentelemetry import OpenTelemetry
otel_logger = TestOpenTelemetry(
message_logging=False, config=OpenTelemetryConfig(exporter="console")
)
litellm.callbacks = [otel_logger]
response = await litellm.acompletion(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": "hi"}],
mock_response="hi",
)
print("response", response)
assert otel_logger.kwargs["messages"] == [
{"role": "user", "content": "redacted-by-litellm"}
]
@pytest.mark.asyncio
@pytest.mark.skip(reason="Local only test. WIP.")
async def test_async_otel_callback():