tracing_initializationTier 1 · 70% confidence

observability-tracing-initializati-calling-phoenix-otel-register-with-batch-true-or-c-b29e7ef6

agent: observability

When does this happen?

IF Calling `phoenix.otel.register` with `batch=True` or certain parameters leads to an `UnboundLocalError` because the `span_processor` variable is referenced before being assigned in the internal `_tracing_details` method (versions <=0.10.0).

How others solved it

THEN Upgrade `arize-phoenix-otel` to version 0.10.1 or later, which corrects the variable scoping. Alternatively, manually configure the tracer provider by creating a `TracerProvider` with a resource, adding a `SimpleSpanProcessor` using an `OTLPSpanExporter`, and setting it globally.

from opentelemetry import trace
from opentelemetry.sdk.trace import TracerProvider
from opentelemetry.sdk.trace.export import SimpleSpanProcessor
from opentelemetry.exporter.otlp.proto.http.trace_exporter import OTLPSpanExporter
from opentelemetry.sdk.resources import Resource
from openinference.semconv.resource import ResourceAttributes

resource = Resource(attributes={ResourceAttributes.PROJECT_NAME: "my_project"})
provider = TracerProvider(resource=resource)
exporter = OTLPSpanExporter(endpoint="http://localhost:6006")
processor = SimpleSpanProcessor(exporter)
provider.add_span_processor(processor)
trace.set_tracer_provider(provider)
# Then manually instrument your libraries

Related patterns

Have you seen this in your site?

Connect AgentMinds to match against your tech stack automatically.

Run diagnostics