Rework genai-observability example: camel infra stack, two models, GenAI dashboard - #192
Merged
Merged
Conversation
…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>
Contributor
Author
|
The CI failure is due to |
davsclaus
approved these changes
Aug 31, 2026
davsclaus
left a comment
Contributor
There was a problem hiding this comment.
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
Contributor
|
AI-generated comment on behalf of Omar Atie Thanks @davsclaus — the GenAI observability blog posts have been updated to match this rework: Includes the Perses dashboard screenshots and the |
3 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Reworks the
genai-observabilityexample:docker-compose.yml/prometheus.ymlreplaced bycamel infra run observability(Camel JBang 4.22+). The bundled Prometheus scrapes the app athost.docker.internal:9876/observe/metrics(thecamel-observability-services-startermanagement port), which the previous compose config did not.langchain4j-ollama-spring-boot-starteris incompatible with Spring Boot 4 ([BUG] Spring Boot starters are incompatible with Spring Boot 4.x (NoClassDefFoundError: ClientHttpRequestFactorySettings) langchain4j/langchain4j#6236) - replaced with plainlangchain4j-ollamaand explicitChatModelbeans; added the missingcamel-yaml-dsl-starter.spring-boot-micrometer-tracing-opentelemetry,micrometer-tracing-bridge-otel,opentelemetry-exporter-otlp), so Camel route spans and thegen_ai.*observation spans land in the same VictoriaTraces trace. The previousotel.exporter.otlp.*properties were not read by anything (see CAMEL-24570 for making that silent fallback visible).gen_ai.request.model.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_aispans in VictoriaTraces for both models.@atiaomar1978-hub fyi, the previous example was not working as intended, I refactored it