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]

Reply via email to