Enable Zipkin tracing¶
You want a visual trace of a run — which action executed, how often, and whether the goal span closed. This needs Docker. If you do not have Docker, skip to Without Docker.
1. Start the Zipkin collector¶
2. Run with the observability profiles¶
You need the Maven observability profile (to put the OpenTelemetry + Zipkin exporter on the
classpath) and the observability Spring profile (to point tracing at the local collector):
Pass the Spring profile through the environment, not
-Dspring-boot.run.profiles=observability: the Boot plugin forwards that flag as a program argument, which Spring Shell tries to run as a command and fails withCommandNotFound.
3. Invoke a goal¶
4. Open the trace¶
Open http://127.0.0.1:9411, find your run, and inspect the spans — each action is a span. A stuck
plan shows up as one action (e.g. assembleSchedule) executing repeatedly while the goal span never
closes.
5. Tear down¶
Without Docker: read the planning log¶
You do not need Docker for any default lab. The planning log shows the same world-state the trace does. Run with prompt and result verbosity:
Read the world-state lines for the condition that never flips to TRUE — that is the same evidence
the trace gives you.
For the trace-vs-log distinction and how to debug a stuck plan, see Lab 4 in the tutorials and About explainability. For the exact profile keys, see the configuration reference.