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.
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
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.)