CAMEL-24051: Add observability test-infra module#24689
Conversation
|
🌟 Thank you for your contribution to the Apache Camel project! 🌟 🐫 Apache Camel Committers, please review the following items:
|
|
🧪 CI tested the following changed modules:
🔬 Scalpel shadow comparison — Scalpel: 15 tested, 26 compile-only — current: 12 all testedMaveniverse Scalpel detected 41 affected modules (current approach: 12).
|
New test-infra module composing Prometheus, VictoriaTraces, VictoriaLogs, and Perses for local observability via `camel infra run observability`. - Prometheus scrapes Camel metrics at :9876/observe/metrics (zero-config with --observe) - VictoriaTraces receives OTLP traces at :10428 - VictoriaLogs receives OTLP logs at :9428 - Perses auto-provisioned with Camel project and overview dashboard at :3000 - New --open-telemetry-agent-export=observability target for traces+logs - Deprecated --open-telemetry-agent-export=jaeger in favor of otlp - Generalized OpenTelemetryTracer.exportTarget check to accept any value - Fixed fork version propagation in Run.java for camel run with OTel agent
- Fix: observability export now treated as external in Run.java (no dead embedded receiver) - Fix: set camel.opentelemetry2.exportTarget=observability in fork path - Revert: fork version propagation change (separate concern, separate JIRA) - Use mirror.gcr.io instead of docker.io for container images - Add upgrade guide entry for export target changes and new infra command
2167c55 to
09fede2
Compare
Summary
Claude Code on behalf of Croway
New
camel-test-infra-observabilitymodule providing a local Apache-2.0-only observability stack viacamel infra run observability.Composes 4 containers on a shared Docker network:
:9090) — scrapes Camel metrics at:9876/observe/metrics:10428) — receives OTLP traces:9428) — receives OTLP logs:3000) — dashboard UI, auto-provisioned with Camel project and overview dashboardChanges
test-infra/camel-test-infra-observability/with 4 container classes, service interface, multi-container orchestrator--open-telemetry-agent-export=observabilityenables traces + logs export to the stack--open-telemetry-agent-export=jaegerin favor ofotlp(backward compatible)OpenTelemetryTracer.exportTargetcheck accepts any non-empty value instead of hardcoded"jaeger"Run.java— forked JBang processes now inherit the CLI's catalog versionUsage
Verified
--observe)--management-portTest plan
camel infra run observabilitystarts all 4 containerscamel infra get observabilityreturns JSON with all endpoint URLscamel run --observesends metrics to Prometheuscamel run --observe --open-telemetry-agent --open-telemetry-agent-export=observabilitysends traces and logs:3000/projects/camel/dashboards/overviewshows datacamel infra stop observabilitystops all containers--open-telemetry-agent-export=jaegerstill works (backward compatible)--open-telemetry-agent-export=otlpworks as new generic external export