Skip to content

Commit 1c662c1

Browse files
revert(examples): keep CrewAI on LiteLLM callbacks
CrewAI manages its own TracerProvider internally, which conflicts with setting one externally. LiteLLM callbacks remain the correct integration approach for CrewAI.
1 parent 9b1c681 commit 1c662c1

2 files changed

Lines changed: 10 additions & 21 deletions

File tree

examples/example-ai-crewai/crew.py

Lines changed: 8 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,15 @@
1-
"""CrewAI with OpenTelemetry instrumentation for tracking."""
1+
"""CrewAI with PostHog tracking via LiteLLM callbacks."""
22

33
import os
4-
from opentelemetry import trace
5-
from opentelemetry.sdk.trace import TracerProvider
6-
from opentelemetry.sdk.trace.export import SimpleSpanProcessor
7-
from opentelemetry.sdk.resources import Resource, SERVICE_NAME
8-
from opentelemetry.exporter.otlp.proto.http.trace_exporter import OTLPSpanExporter
9-
from opentelemetry.instrumentation.crewai import CrewAIInstrumentor
4+
import litellm
5+
from crewai import Agent, Task, Crew
106

11-
resource = Resource(attributes={SERVICE_NAME: "example-crewai-app"})
12-
exporter = OTLPSpanExporter(
13-
endpoint=f"{os.environ.get('POSTHOG_HOST', 'https://us.i.posthog.com')}/i/v0/ai/otel",
14-
headers={"Authorization": f"Bearer {os.environ['POSTHOG_API_KEY']}"},
7+
os.environ["POSTHOG_API_KEY"] = os.environ.get("POSTHOG_API_KEY", "")
8+
os.environ["POSTHOG_API_URL"] = os.environ.get(
9+
"POSTHOG_HOST", "https://us.i.posthog.com"
1510
)
16-
provider = TracerProvider(resource=resource)
17-
provider.add_span_processor(SimpleSpanProcessor(exporter))
18-
trace.set_tracer_provider(provider)
19-
20-
CrewAIInstrumentor().instrument()
21-
22-
from crewai import Agent, Task, Crew
11+
litellm.success_callback = ["posthog"]
12+
litellm.failure_callback = ["posthog"]
2313

2414
researcher = Agent(
2515
role="Researcher",

examples/example-ai-crewai/pyproject.toml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,7 @@ name = "example-ai-crewai"
33
version = "0.1.0"
44
requires-python = ">=3.10"
55
dependencies = [
6+
"posthog==7.9.12",
67
"crewai>=0.80.0",
7-
"opentelemetry-instrumentation-crewai>=0.24.0",
8-
"opentelemetry-sdk>=1.30.0",
9-
"opentelemetry-exporter-otlp-proto-http>=1.30.0",
8+
"litellm>=1.50.0",
109
]

0 commit comments

Comments
 (0)