Skip to main content

LoongSuite LiteLLM instrumentation

Project description

pypi

This library provides automatic instrumentation for the LiteLLM library, which provides a unified interface to 100+ LLM providers.

Installation

git clone https://github.com/alibaba/loongsuite-python-agent.git
cd loongsuite-python-agent
pip install ./instrumentation-loongsuite/loongsuite-instrumentation-litellm

Configuration

The instrumentation can be enabled/disabled using environment variables:

  • ENABLE_LITELLM_INSTRUMENTOR: Enable/disable instrumentation (default: true)

  • OTEL_SEMCONV_STABILITY_OPT_IN: Set to gen_ai_latest_experimental to enable GenAI semantic conventions

  • OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT: Set to NO_CONTENT, SPAN_ONLY, EVENT_ONLY, or SPAN_AND_EVENT

Usage

from opentelemetry.instrumentation.litellm import LiteLLMInstrumentor
import litellm

# Instrument LiteLLM
LiteLLMInstrumentor().instrument()

# Use LiteLLM as normal
response = litellm.completion(
    model="gpt-3.5-turbo",
    messages=[{"role": "user", "content": "Hello!"}]
)

Local OTLP smoke

The examples/litellm_genai_smoke.py script sends real LiteLLM traffic for:

  • non-streaming completion

  • streaming completion

  • concurrent async completion calls

Set LITELLM_SMOKE_MODE to non_streaming, streaming, concurrent, or all (default) to run a subset.

Example with a local otel-gui OTLP endpoint:

export DASHSCOPE_API_KEY=...
export OTEL_EXPORTER_OTLP_ENDPOINT=http://127.0.0.1:4318
export OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf
export OTEL_SEMCONV_STABILITY_OPT_IN=gen_ai_latest_experimental
export OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT=SPAN_ONLY
export OTEL_SERVICE_NAME=loongsuite-litellm-smoke

loongsuite-instrument python \
    instrumentation-loongsuite/loongsuite-instrumentation-litellm/examples/litellm_genai_smoke.py

Features

This instrumentation automatically captures:

  • LLM completion calls (sync and async)

  • Streaming completions

  • Embedding calls

  • Retry mechanisms

  • Tool/function calls

  • Provider inference from known OpenAI-compatible base URLs, custom providers, and model names

  • Streaming time-to-first-token, including reasoning/thinking deltas

  • Multi-choice streaming outputs and tool-call delta accumulation

  • Request and response metadata

  • Token usage

  • Model information

The instrumentation follows OpenTelemetry semantic conventions for GenAI operations.

References

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file loongsuite_instrumentation_litellm-0.6.0-py3-none-any.whl.

File metadata

File hashes

Hashes for loongsuite_instrumentation_litellm-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ef76dd83778be89e61b0fdde3905573cd971819060d90428d3285c1872d38ec4
MD5 98979bb5f495511d8e299ae71b0fec16
BLAKE2b-256 c9944cbcebfe5f726b917247f85f5dbf03eb9540f2aee1a0cf4bfd56cf085345

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page