In the previous exercises, we added a lot of manual instrumentation to our application. One may get the impression that it always takes so much work to instrument code for distributed tracing. In reality, things are a lot better thanks to a large amount of already-created, open source, vendor-neutral instrumentation for popular frameworks that exists in the OpenTracing project under its community contributions organization: https://github.com/opentracing-contrib/meta. In this exercise, we will explore some of those modules to minimize the amount of manual, boiler-plate instrumentation in the Hello application.
Due to its "no magic" design principle, with Go it is a bit tougher to get away from explicit code instrumentation, compared to other languages. In this exercise, we will focus our attention on the HTTP server and client instrumentation. We will be using one of the contributed libraries, github.com/opentracing-contrib...