What’s New in XRebel 2020.1.0
With XRebel 2020.1.0, we're introducing dedicated support for JDK's CompletableFuture API! This is a big step toward making XRebel the go-to tracing tool for reactive programming in Java.
Trace Tree View
This feature plugs smoothly into the existing XRebel trace tree: CompletableFuture tasks are indicated by the icon.
CompletableFuture support takes advantage of the reactive programming support XRebel already has. Any work that is parallelized into a separate thread is indicated by the fork point icon . This will help you understand how your CompletableFuture tasks actually map to threads.
Gantt Chart View
We are especially proud of the new Gantt chart view, which helps you drill down into CompletableFuture tasks and their interdependencies.
The Gantt chart view displays all CompletableFuture tasks from the current request as a timeline — with the X-axis representing time since the beginning of the current request. Each task is then represented as a bar, making it easy to determine the timing and duration of a given task.
The connectors help to visualize inter-task dependencies. For example, some tasks depend on the completion of a number of other tasks (e.g. thenCombine), but other tasks might require completion of just one of their parents (e.g. acceptEither). The Gantt chart view visualizes this distinction, making it easy to trace the "critical path" (i.e. which asynchronous calls affected the overall request time) through the graph of asynchronous operations.