Skip to main content
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.

Prerequisites

  • Java 17+ (Spring Boot 4 requires 17; this guide is tested against Java 21)
  • An Arize AX account (sign up)
  • An OPENAI_API_KEY from the OpenAI Platform

Launch Arize

  1. Sign in to your Arize AX account.
  2. From Space Settings, copy your Space ID and API Key. You will set them as ARIZE_SPACE_ID and ARIZE_API_KEY below.

Install

Add the dependencies to build.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 no instrumentation.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:
The Spring Boot app itself stays minimal — Arconia + Spring AI handle everything else. A ChatController exposes /chat?question=...:

Run Arconia

In another terminal, drive the agent:

Expected output

Verify in Arize

  1. Open your Arize AX space and select project arconia-tracing-example.
  2. You should see a new trace within ~30–60 seconds containing an http get /chat root span wrapping a spring_ai chat_client AGENT span, a call CHAIN span, and a chat gpt-5.5 LLM span (model = the dated stamp the OpenAI API returns, e.g. gpt-5.5, with prompt, response, and token usage attributes attached).
  3. If no traces appear, see Troubleshooting.

Check from the skill, CLI, or SDK

Confirm spans are actually reaching your Arize AX project. Use whichever fits your workflow — the skill and CLI work for any framework; the SDK check is shown for each language.
Install the Arize Skills plugin and let your coding agent check for you:
Then prompt your agent:
Use the arize-trace skill to export and analyze recent traces from my project. Confirm spans are arriving, and summarize any errors or latency issues.

Troubleshooting

  • No GrpcSenderProvider found on classpath. Add io.opentelemetry:opentelemetry-exporter-sender-okhttp (or opentelemetry-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-sdk shows 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. The arconia.otel.logs.enabled: false + arconia.otel.metrics.enabled: false lines in application.yml above disable the unused signals so this conflict can’t happen.
  • No traces in Arize. Confirm ARIZE_SPACE_ID and ARIZE_API_KEY are set in the same shell that runs gradle bootRun. The Spring Boot app captures the environment at process start; setting env vars after the server is running has no effect.
  • 401 from OpenAI. Verify OPENAI_API_KEY is set and has access to gpt-5.5. Swap spring.ai.openai.chat.options.model in application.yml for a model your key can call.
  • Want logs and metrics too. Drop the logs.enabled: false + metrics.enabled: false lines 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.

Resources

Arconia Documentation

Spring AI Documentation

Arconia GitHub

Arconia OpenInference Example