davsclaus opened a new pull request, #27560: URL: https://github.com/apache/camel/pull/27560
https://issues.apache.org/jira/browse/CAMEL-25429 (part 2) **Builds on #27557**, which makes the route topology tell calls from error paths. Until that one merges this PR also shows its two commits; only the last commit is new here. I will rebase once #27557 is in. The Diagram tab's topology shows the happy path. A new toggle, **`x errors`** (off by default), adds the error handling in a frame of its own below the routes: - the routes reached only on error (e.g. the target of a dead letter channel) move into an "Error handling" frame; - the error paths into them are dashed, in the warning colour. They go out of the left side of the route whose error handler acts, down a gutter on the left clear of the routes, and into the target; - under each route in the frame, one line per route that sends there, saying how the failure is handled: `◂ checkout: onException, handled · dead letter, handled`. A route's own failures coming back to it are a line (`⚠ own failures: ...`), not a loop; - a route in the frame drops its group tag (Utility), as the frame says what it is. On fail-well/error-handling: ``` ┌──────────────────────┐ ┌┄┄│ checkout │ ┆ └──────────────────────┘ ┆ ▼ ┆ ┌──────────────────────┐ ┆ │ payment-provider │ ┆ └──────────────────────┘ ╭┆ Error handling ┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄╮ ┆└┄┄┄┄┄┄┄┄┄┄┄┄┄┄┐ ┆ ┆ ▼ ┆ ┆ ┌──────────────────────┐ ┆ ┆ │ parked │ ┆ ┆ └──────────────────────┘ ┆ ┆ ◂ checkout: onException, handled · dead letter, handled┆ ┆ ⚠ own failures: onException, handled · dead letter, handled ╰┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄╯ ``` - **`tui_get_topology`** (MCP) lists `errorPaths` (from, to, via, handling) whether shown or not, and `errorsShown`, so an agent sees the same as the user. - **An integration on a Camel before 4.23** reports no error paths: the toggle says `errors: 4.23+`, and `tui_get_topology` adds an `errorPathsNote`. Checked live with the example on `--camel-version=4.22.0`. - The routes in the frame are layout nodes, so selection, navigation, the minimap and the Info panel work on them as on any route. - Docs: the Diagram page and the in-monitor help (F1) describe `x`. **Tests:** `TopologyErrorLayerTest` covers the error-only routes, the labels, the placement below the happy path, the frame, the labels drawn, and no frame when off. All 1797 monitor tests pass. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01STT6whBgK1AqsSsUKrnE8m -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
