The SDK has some built in support for metrics via prometheus, but ultimately you may choose a different runtime interpretation for the metrics, or even choose to ignore it entirely.

The Nameservice application uses application specific metrics, for instance increasing the message counters for module level messages, or for timing module responses. It also uses the server metrics via the metrics middleware to count ABCI messages and to time server responses. This middleware is highly recommended for any production system.

Setting up metrics

The Nameservice Docker network is configured to run a prometheus metrics server in addition to a Datadog agent that scrapes and pushes metrics to datadog. You must supply a Datadog API key as an environment variable DD_API_KEY when you launch the network if you want to do this. If you don't already have an account, you can create one and receive a two week free trial to play around with this application.

To simply test if prometheus is indeed collecting your metrics, you can visit http://localhost:5555/metrics and you should see something. (5555 is the default value for the STATS_PORT environment variable in the docker compose file.)