CAMEL-23648: camel-jbang - TUI improvements: route topology service and diagram renderer#23675
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:
💡 Manual integration tests recommended:
Build reactor — dependencies compiled but only changed modules were tested (10 modules)
|
4a8a391 to
81308b2
Compare
|
build failure due to new Jenkinsfile added without Mycila configuration provided, will be fixed with #23679 |
…onships Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…route visualization Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…topology diagram - Replace --diagram boolean with --theme (ascii/unicode/dark/light/transparent) matching the route-diagram command pattern - Add --output for saving diagrams to file (PNG or text) - Add --description to show route descriptions instead of route IDs for architecture-level diagrams with less noise - Add --metric to include live exchange counters on nodes - Add description field to TopologyNode SPI record - Add metrics support directly in route-topology dev console via ManagedRouteMBean (same pattern as route-structure) - Extract TopologyImageRenderer as reusable class for PNG rendering - Remove edge labels from topology diagrams to reduce visual clutter Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
81308b2 to
ac2d4cf
Compare
Summary
RouteTopologyDumperSPI that computes inter-route connections (direct, seda, kafka, etc.) and exposes them via aroute-topologydev consolecamel-diagram, withcamel cmd route-topology --themesupport matching the existingroute-diagramcommand patternDetails
Route Topology Service (CAMEL-23656)
RouteTopologyDumperSPI incamel-apianalyzes route definitions to find shared endpointsDefaultRouteTopologyDumperimplementation detects direct, seda, disruptor connections and external messaging (kafka, jms, etc.)RouteTopologyDevConsoleexposes topology as JSON with optional live metrics (exchangesTotal/exchangesFailed)camel cmd route-topologyCLI command for viewing topologyTopology Diagram Renderer (CAMEL-23661)
TopologyLayoutEngine— Sugiyama-style layered graph layout (layer assignment, crossing minimization, coordinate assignment)TopologyAsciiRenderer— ASCII/Unicode box-drawing text diagrams with ANSI colorsTopologyImageRenderer— PNG rendering via Java AWT Graphics2DTopologyHelper— JSON parsing and metrics enrichment--theme(ascii/unicode/dark/light/transparent),--description,--metric,--output,--box-width,--font-sizeTest plan
TopologyDiagramTest— 14 layout/rendering tests (linear, fan-out, fan-in, diamond, cycles, metrics, description mode)TopologyDumperTest— 3 integration tests with CamelContextRouteTopologyDevConsoleTest— 3 dev console tests🤖 Generated with Claude Code
Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com