Arconia is a third-party Spring Boot starter suite that bundles OpenTelemetry, OpenInference, and Spring AI auto-configuration into a single dependency. Arize AX captures every Spring AI call routed through Arconia’s OTel pipeline by configuring the OTLP exporter to point at Arize — no manual instrumentor wiring required.Documentation Index
Fetch the complete documentation index at: https://arize-ax.mintlify.dev/docs/llms.txt
Use this file to discover all available pages before exploring further.
Prerequisites
- Java 17+ (Spring Boot 4 requires 17; this guide is tested against Java 21)
- An Arize AX account (sign up)
- An
OPENAI_API_KEYfrom the OpenAI Platform
Launch Arize
- Sign in to your Arize AX account.
- From Space Settings, copy your Space ID and API Key. You will set them as
ARIZE_SPACE_IDandARIZE_API_KEYbelow.
Install
Add the dependencies tobuild.gradle. The OpenInference work is auto-configured by the Arconia starter — you don’t import any com.arize:* artifacts directly. The only OpenTelemetry artifact you have to wire explicitly is the OTLP gRPC sender provider, since Arize uses gRPC OTLP and Spring Boot’s default sender is HTTP-only:
Configure credentials
Setup tracing
Arconia is configuration-first — there is noinstrumentation.java to write. Configure Spring AI to use OpenAI and Arconia’s OTel exporter to ship traces to Arize, all in src/main/resources/application.yml:
ChatController exposes /chat?question=...:
Run Arconia
Expected output
Verify in Arize
- Open your Arize AX space and select project
arconia-tracing-example. - You should see a new trace within ~30–60 seconds containing an
http get /chatroot span wrapping aspring_ai chat_clientAGENT span, acallCHAIN span, and achat gpt-5LLM span (model = the dated stamp the OpenAI API returns, e.g.gpt-5-2025-08-07, with prompt, response, and token usage attributes attached). - If no traces appear, see Troubleshooting.
Troubleshooting
No GrpcSenderProvider found on classpath. Addio.opentelemetry:opentelemetry-exporter-sender-okhttp(oropentelemetry-exporter-sender-grpc-managed-channel) to your dependencies. The version must align with the OpenTelemetry SDK that Spring Boot / Arconia resolves —gradle dependencies --configuration runtimeClasspath | grep opentelemetry-sdkshows the version to pin against.Requested protocol HTTP_PROTOBUF doesn't match configured protocol GRPC. Arconia auto-configures OTLP for all three signals (traces, logs, metrics) and they must agree on protocol. Thearconia.otel.logs.enabled: false+arconia.otel.metrics.enabled: falselines inapplication.ymlabove disable the unused signals so this conflict can’t happen.- No traces in Arize. Confirm
ARIZE_SPACE_IDandARIZE_API_KEYare set in the same shell that runsgradle bootRun. The Spring Boot app captures the environment at process start; setting env vars after the server is running has no effect. 401from OpenAI. VerifyOPENAI_API_KEYis set and has access togpt-5. Swapspring.ai.openai.chat.options.modelinapplication.ymlfor a model your key can call.- Want logs and metrics too. Drop the
logs.enabled: false+metrics.enabled: falselines and the auto-config will export those signals against the same OTLP endpoint. Arize ingests the trace stream; the logs/metrics streams are silently accepted but not surfaced in the UI.