Saturday, 23 July 2016

OSGi webconsole with d3.js visualizations

Background


A couple of weeks ago I started a new project to help me understand what's going on under the hood of my OSGi applications. I was using the felix webconsole before, but it seemed wrong to me that I was forced to install additional bundles just to make the webconsole work, specifically as those additional bundles change the system as a whole by providing their own packages and services.

The idea

Provide a single bundle (including all necessary dependencies) which can be dropped into any OSGi application with minimal implications for the "system under observation".

Current Status

Find below some screenshots capturing the current status of development. The project is still in alpha, so please do not expect everything to work perfectly. I am happy about any feedback and ideas of how the skysail webconsole can become more useful to any OSGi developer.

Screenshots

The webconsole's starting page: you see a list of the installed bundles, their status, size and number of services they provide and consume:



The skysail webconsole bundle provides a "package dependencies" view so that you can see which bundles depend on which other bundles in terms of "package imports". The screenshot below is from a running eclipse installation. Of course, this approach still needs a lot of work as the only thing you might understand from that visualisation is that is is... complicated.

Stay tuned and follow me on my twitter account for updates if you like.