Skip to content

Rework genai-observability example: camel infra stack, two models, GenAI dashboard - #192

Merged
Croway merged 1 commit into
mainfrom
genai-observability-camel-infra
Aug 31, 2026
Merged

Rework genai-observability example: camel infra stack, two models, GenAI dashboard#192
Croway merged 1 commit into
mainfrom
genai-observability-camel-infra

Conversation

@Croway

@Croway Croway commented Aug 31, 2026

Copy link
Copy Markdown
Contributor

Reworks the genai-observability example:

  • Observability stack via Camel CLI: docker-compose.yml/prometheus.yml replaced by camel infra run observability (Camel JBang 4.22+). The bundled Prometheus scrapes the app at host.docker.internal:9876/observe/metrics (the camel-observability-services-starter management port), which the previous compose config did not.
  • Spring Boot 4 startup fixes: langchain4j-ollama-spring-boot-starter is incompatible with Spring Boot 4 ([BUG] Spring Boot starters are incompatible with Spring Boot 4.x (NoClassDefFoundError: ClientHttpRequestFactorySettings) langchain4j/langchain4j#6236) - replaced with plain langchain4j-ollama and explicit ChatModel beans; added the missing camel-yaml-dsl-starter.
  • Working trace export: Micrometer Tracing + OTel bridge (spring-boot-micrometer-tracing-opentelemetry, micrometer-tracing-bridge-otel, opentelemetry-exporter-otlp), so Camel route spans and the gen_ai.* observation spans land in the same VictoriaTraces trace. The previous otel.exporter.otlp.* properties were not read by anything (see CAMEL-24570 for making that silent fallback visible).
  • Two models, per-model observability: two routes call two small Ollama models so every metric/span carries a distinct gen_ai.request.model.
  • Perses GenAI dashboard: perses-genai-dashboard.json + README instructions to create it via the Perses API (/projects/camel_genai/dashboards/overview), with screenshots and a short guide to reading the panels (e.g. the thinking model's ~2K output tokens per call vs a few dozen for llama3.2).

Verified end-to-end on the live stack: metrics scraped by Prometheus, per-model series on the dashboard, gen_ai spans in VictoriaTraces for both models.

@atiaomar1978-hub fyi, the previous example was not working as intended, I refactored it

…nAI dashboard

- Replace docker-compose with 'camel infra run observability' (Prometheus scrapes
  /observe/metrics on the 9876 management port, VictoriaTraces OTLP on 10428)
- Fix startup on Spring Boot 4: drop the incompatible langchain4j Ollama starter
  (langchain4j/langchain4j#6236) and build the ChatModel beans from plain
  langchain4j-ollama; add the missing camel-yaml-dsl-starter
- Export traces via Micrometer Tracing with the OpenTelemetry bridge, so route
  spans and gen_ai.* observation spans reach VictoriaTraces (CAMEL-24570)
- Use two small models on two routes so all GenAI metrics/spans carry distinct
  gen_ai.request.model series
- Add a Perses GenAI dashboard (perses-genai-dashboard.json) and document the
  panels with screenshots in the README

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@Croway
Croway requested review from davsclaus and oscerd August 31, 2026 08:46
@Croway

Croway commented Aug 31, 2026

Copy link
Copy Markdown
Contributor Author

The CI failure is due to [ERROR] 'dependencies.dependency.version' for org.apache.camel.springboot:camel-ai-observability-starter:jar is missing. @ line 74, column 21. I just triggered the camel spring boot SNAPSHOT deploy on the Apache CI

@davsclaus davsclaus left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome, @atiaomar1978-hub this may be something your blog posts can be updated with and the screenshots is nice to include in the blog post as well

@Croway
Croway merged commit b26889d into main Aug 31, 2026
1 of 2 checks passed
@atiaomar1978-hub

Copy link
Copy Markdown
Contributor

AI-generated comment on behalf of Omar Atie

Thanks @davsclaus — the GenAI observability blog posts have been updated to match this rework:

apache/camel-website#1734

Includes the Perses dashboard screenshots and the camel infra run observability workflow.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants