Chapter 10 – Tracing Network Calls
- Reusing existing instrumentation should be the first choice, especially if you don’t have a lot of experience in both tracing and the gRPC stack. As you saw throughout this chapter, there are multiple details related to retries, the order of execution, and other tiny details that are hard to account for.
Custom gRPC instrumentation makes sense if existing instrumentation does not satisfy your needs. For example, in our streaming experiments, we could optimize two layers of instrumentation (individual messages and gRPC calls) by merging them into one. We could also correlate requests, responses, and span events better if we knew the message types in the interceptor.
Note that even custom instrumentations benefit from following semantic conventions and relying on common tooling and documentation.
- In such an application, we should expect to see a very long span that describes a connection between the client and server...