A summary of the exciting new features and improvements made in FusionReactor 8.1.0
FusionReactor 8.1.0 enhances its already powerful feature set
- A new debugging interface will make debugging in production quicker and easier
- Our Enterprise Dashboard will automatically detect and connect to your ephemeral instances; wherever they are hosted including Docker containers
- Track more information for http calls within your application, as well as a host of other fixes to support the latest technologies.
Improvements to the Production Debugger
Our production safe debugger now has an entirely new user interface, you can now see your source code, breakpoints and paused threads in one convenient location so you can debug your application as if you were debugging in an IDE.
In the new user interface, we have combined the breakpoints, sources and paused threads into a single combined view. Offering an experience similar to what you would get in an IDE.
- In the left-hand panel, you can view the entire source code tree and navigate your code to set a breakpoint.
- View the source file in the centre column and enable, disable and delete breakpoints.
- View, add and edit breakpoints in the right-hand panel
- In the bottom panel, you will see your active breakpoints and view the stack frames and variable data on a fired breakpoint when you are debugging a fired breakpoint.
This new view allows for much simpler debugging as all the information you need is in one location. Setting a breakpoint in your code can is now as simple as viewing the file you wish to debug then clicking in the margin, you can still add an exception, field access and method entry breakpoints by clicking new breakpoint.
All your configured breakpoints are configured in a single list to allow for quick modification, where you can set conditions, pause time, firecount and also trigger email alerts as you could previously.
Your paused threads and breakpoint data is now available in one place, meaning if you have multiple breakpoints you are able to switch context between the 2 breakpoints instantaneously.
Improvements to the Enterprise Dashboard
Our enterprise Dashboard now supports registration for ephemeral instances, meaning you can add FusionReactor instances hosted in the cloud, in docker or any other environment automatically when they start. When your instances connect a tunnel is established between the dashboard and the instance, meaning you can access the user interface of the FusionReactor instance without needing to configure access rules.
We have also performed thorough testing to scalability and ensured that you can run a single dashboard with hundreds of groups and thousands of instances connected simultaneously.
Adding ephemeral instances now uses a new set of system properties, that allow for scaling instances to be connected to the dashboard. A guide for configuring ephemeral instances can be found here. Note that with ephemeral instances health checks and custom scripting is not available, but you do gain functionality that allows tunnelling to connected instances without configuring network access rules.
When an instance is connected to the Enterprise Dashboard through ephemeral configuration the communication between the dashboard and the instances has been redesigned. Traditionally the dashboard would send a request to every connected instance via HTTP / HTTPS requests, to do this requires that the dashboard and the instance have a direct connection to one another but we found this was not always possible due to network limitations, particularly in virtualized environments.
Ephemeral instances connect out to a dashboard, in doing so they establish a tunnelled connection, so data can flow between the dashboard and the instance without depending on two-way communication via HTTP. This means if the instance is hosted in a virtual network such as a docker network, were routing to instances via HTTP is not simple you are able to retrieve data for the dashboard.
The tunnelled connection can be used for more than just dashboard data, with the tunnel we are able to stream the whole user interface of FusionReactor through a proxied connection meaning as long as the instance can connect to your dashboard you are able to utilize the full user interface of FusionReactor.
In cases where you have a static server hosting your application, where these servers restarting periodically we recommend using the non-ephemeral connections explained here
Improvements to the HTTP client transaction tracking
Our improved HTTP client tracking gives you access to data such as headers, cookies and JSON data for all of the http requests made within your application.
Headers for the request and the response are now captured as well as cookies so you can more easily trace the source of an error when making a HTTP call. If any JSON is sent or recieved through the HTTP call this is also tracked to the transaction.
This improved tracking makes finding and fixing your services simpler as you will have access to all the data see exactly what was sent and received from your HTTP requests to another service.
Official support for Java 12
FusionReactor now officially supports applications running on Java 12.
Notifications of available updates
You will now receive a banner notification within FusionReactor for available updates. These notifications can be dismissed if you are happy with the version you are currently running.
Settings for Enabling and disabling JSON available in the user interface
You can now configure the JSON tracking within the user interface of FusionReactor. Allowing you to enable/disable tracking, smile decoding and the limit of data captured without using file-based configuration.
Improvements to the decompiler for Java 8 and above
We now use the FernFlower compiler for application servers running in Java 8 and above, dramatically decreasing the time taken to decompile files.
How to upgrade
To upgrade FusionReactor to FusionReactor 8.1.0 head to our downloads page and get the latest installer or installation files and follow the guides listed below: