Take a Proactive Approach to Distributed Tracing with New Relic APM
The evolution of distributed tracing has seen many changes over the years. TNS founder Alex Williams sat down with New Relic senior product manager Vic Soares to discuss where the industry is going and how customers are making the most of distributed tracing in their workflow.
New Relic announced recently that it has made distributed tracing generally available in New Relic APM. “It’s geared for folks that have written applications that rely on services oriented architecture, microservices architecture, to help them understand the path the request takes,” said Soares. Williams then inquired as to the context of modern application development and distributed tracing, as modern software has become more complex over the years. Soares noted that distributed tracing allows users to be able to see how things flow, where errors are, and where issues impacting latency occur.
“I like to think a good engineer has gone from a reactive mode to a proactive mode in some of these situations. An engineer that’s gone into proactive mode is looking into how their code is executing. An example that we saw here is we went from looking at traces and saying,’Oh, here’s where latency is happening, here’s where we can optimize say making n number of calls to a system we can reduce it to one, or less queries to a database, that kind of statement,’ then when you start peeling back layers of the onion you get some interesting findings,” said Soares, adding, “For any request that timed out, we were able to send a cancel request to the systems that we called. There’s optimizations you can make that you can’t without seeing the full call path that you can trace.”
New Relic has also introduced a concept in their development cycle called the “steel thread.” “Rather than in one sprint, getting one component of the system complete, what we do is we prototype the entire system end-to-end and we produce a feature where we say we accept the data, we store the data, we process it, visualize it and show it on a webpage. It can be the most simple thing but it proves that end-to-end concept of ‘Okay, so we’re building this feature,’ We’re not going to pre-optimize any area of it, we’re going to do the minimum it takes to provide some kind of value. We provide that value, and then we grow from there. With distributed tracing feature, we laid the groundwork for a platform that allows us to then grow into other areas. We could have waited to ship distributed tracing with all the things we want to do, but instead, we shipped a steel thread, a minimal experience that provides customers with value and allows us to grow.”
In this Edition:
1:52: The announcement of distributed tracing now being generally available in New Relic APM.
6:40: What are some of the advancements you think are going to be made in distributed tracing over the next year?
11:12: How do you think of distributed tracing capabilities in terms of the developer experience?
15:41: What are some ways companies can get started with distributed tracing?
19:55: How do these concepts fit into your thinking about teams and how teams are working together to develop more complex application architectures?
23:39: Understanding what to instrument and implement in one’s distributed tracing solution.