Reduce the barrier to adoption
Given the incentives mismatch problem we just discussed, one of the best ways of getting tracing instrumentation into all applications is to ensure that it requires no work whatsoever by the adopting teams, that is, it comes for free, by default. Of course, this is easier said than done. There may be situations when tracing cannot be added without requiring some code changes in the application. For example when I joined Uber, the engineering organization had just started adopting Go as the programming language for the backend services. The practice of threading the context.Context object through the code was not widespread, and the type itself was not even a part of the Go standard library (it was defined in golang.org/x/net/context ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access