Real time Dropwizard dashboard based on a Vertx web socket proxy. This was just a weekend experiment to try out some new technologies while refreshing my Javascript knowledge.
JavaScript Java HTML CSS
Switch branches/tags
Nothing to show
Latest commit 27fb973 Sep 11, 2015 @kimble Gradle versions plugin
Permalink
Failed to load latest commit information.
gradle/wrapper Gradle versions plugin Sep 11, 2015
screenshots Updated screenshot Jun 11, 2015
src/main Fixed connection error handling between vertx and monitored dw applic… Jul 21, 2015
.gitignore Migrate to Vertx 3 Jul 21, 2015
build.gradle Gradle versions plugin Sep 11, 2015
gradlew Gradle wrapper Dec 19, 2012
gradlew.bat Gradle wrapper Dec 19, 2012
jquery.min.js Initial commit May 13, 2012
jquery.tmpl.js Initial commit May 13, 2012
readme.md

readme.md

Vertx experiment - Real time Dropwizard dashboard

This was just a weekend experiment to refresh my Javascript knowledge and try out some technologies I've been looking at for some time. Don't expect it to be of production quality or that I'll maintain it.

Dropwizard is a well instrumented and productive framework for building production ready restful web services. It exports a lot of statistics on a admin port. I thought it would be fun to create a proxy polling this endpoint and feeding the data to clients connected via web sockets. The proxy is implemented using the fairly new Vertx framework enabling highly concurrent polygot application development on the JVM.

While I was working on the client side of the dashboard I thought it would be fun to have a look at Knockout.js for data binding. I quite liked the declarative way it solves a lot of common problems related to data binding.

Latest update

Started upgrading Vertx and Bootstrap to their latest versions.

Screenshots

CSS dark

Give it a spin

Fire up a Dropwizard project with the admin interface running on port 8081.

When Dropwizard is running it should only be a matter of running ./gradlew run and point your browser to http://localhost:9000/.

Ps! This will download and install Gradle in your home folder!

Relevant technologies and libraries

http://vertx.io/

http://dropwizard.codahale.com/

http://knockoutjs.com/

http://momentjs.com/

http://smoothiecharts.org/

https://developers.google.com/chart/

Things to do

Ditch Knockout: It does not bring much to the table for this application. Just accidental complexity.

Introduce tabs: The dashboard is too long. Perhaps it would be a good idea to introduce tabs + a small page with a quick overview.

Contributions

Big thanks to Daniel Mayo for his contributions! This was just an evening project and I'd never thought that anyone would pick it up.


endorse