from opentelemetry import trace
from opentelemetry.sdk.trace import TracerProvider
from opentelemetry.sdk.trace.export import BatchSpanProcessor
from opentelemetry.exporter.otlp.proto.http.trace_exporter import OTLPSpanExporter
# Configure exporter to send to MeshAI
exporter = OTLPSpanExporter(
endpoint="https://api.meshai.dev/api/v1/ingest/v1/traces",
headers={"Authorization": "Bearer msh_YOUR_API_KEY"},
)
provider = TracerProvider()
provider.add_span_processor(BatchSpanProcessor(exporter))
trace.set_tracer_provider(provider)
tracer = trace.get_tracer("my-agent")
# Your agent code — spans are automatically exported
with tracer.start_as_current_span("agent.run") as span:
span.set_attribute("agent.name", "my-summarizer")
span.set_attribute("gen_ai.request.model", "gpt-4o")
span.set_attribute("gen_ai.usage.input_tokens", 1500)
span.set_attribute("gen_ai.usage.output_tokens", 800)
# ... agent logic ...