Vert.x Metrics Examples

Vert.x core provides a Service Provide Interface (SPI) for collecting metrics. The Dropwizard implementation collects these metrics in a Dropwizard registry that can be used for reporting in other system or can be queried via the Dropwizard MetricsService.

UI monitoring dashboard

This example is a UI monitoring dashboard built on top of the Dropwizard metrics implementation.

The dashboard uses the vertx-web eventbus bridge to push metrics periodically on the event bus. The metrics are retrieved from the MetricsService in Json format.

Run the dashboard either in your IDE or on the command line, then open your browser and hit link:http://localhost:8080 to see the dashboard

You can also launch the example using the vertx cli as follows:

# compile the example, you need to have built example-utils before.
mvn clean package

# java
vertx run io.vertx.example.metrics.dashboard.Dashboard -cp target/metrics-examples-3.3.3.jar:src/main/java/io/vertx/example/metrics/dashboard -Dvertx.metrics.options.enabled=true

# javascript
cd src/main/js/io/vertx/example/metrics/dashboard
vertx run dashboard.js -cp ./../../../../../../../../target/metrics-examples-3.3.3.jar:. -Dvertx.metrics.options.enabled=true

# groovy
cd src/main/groovy/io/vertx/example/metrics/dashboard
vertx run dashboard.groovy -cp ./../../../../../../../../target/metrics-examples-3.3.3.jar:. -Dvertx.metrics.options.enabled=true

# ruby
cd src/main/rb/io/vertx/example/metrics/dashboard
vertx run dashboard.rb -cp ./../../../../../../../../target/metrics-examples-3.3.3.jar:. -Dvertx.metrics.options.enabled=true

To enable JMX append the following options: -Dvertx.metrics.options.jmxEnabled=true -Dvertx.metrics.options.jmxDomain=vertx. Then, if you open a JMX explorer (such the JConsole), in the list of beans you will find the Vert.x metrics under the vertx domain.

If you want to use Jolokia to expose the JMX metrics as a REST interface, download the Jolokia JVM agent from and create a JAVA_OPTS env variable as follow:

export JAVA_OPTS="-javaagent:path/to/jolokia-jvm-x.x.x-agent.jar=port=7777,host=localhost"

Once defined, relaunch the application with the JMX metrics enabled.