Understanding directives
As mentioned before, Routing DSL is basically a set of directives that you can compose to route and handle your incoming HTTP requests. Directives are small code blocks that can do things such as transform, filter, extract, or complete an incoming request.
In this recipe, we will see how to create a custom directive to measure the number of times a particular path of a route is called and also how long it took to process it. We will make use of basic directives to compose more complex ones. For this task, we will make use of Dropwizard metrics. Dropwizard metrics is a popular, stable, and simple metrics library that has an easy API to gather and report information about an application.
Getting ready
To step through this recipe, we need to import the Hello-Akka
project and the required Akka HTTP dependency we added in the previous recipe. Also, we will add the Dropwizard metrics dependency to complete this recipe.
How to do it...
For this recipe, perform the following...