Today at New Relic’s FutureStack conference in New York City, we’re previewing exciting new capabilities in application tracing designed to help customers understand the end-to-end performance of their distributed systems. With distributed tracing woven into the New Relic Digital Intelligence Platform, customers will be able to track individual user requests end-to-end from the mobile or browser client all the way through the complex web of services that fulfill a request. As teams develop smaller, more interconnected application services, distributed tracing is becoming increasingly critical to easily view and understand performance across these microservices.

As the application monoliths break down, new challenges emerge

To cope with the urgency of faster development cycles and better scalability, software engineering teams across industries are breaking apart monolithic applications and traditional three-tier architectures in favor of collections of smaller services built upon an increasingly diverse array of languages, frameworks, and dynamic infrastructure designed for the specific task at hand. But while these trends support greater agility and speed, they can can also spawn new challenges.

Imagine, for example, that fictitious retailer Seldonia gets a call from a customer complaining that one of its account pages is loading slowly. The engineer assigned to the ticket studies the application logs and quickly realizes that a downstream application service call is the source of the issue, but which one? There are up to eight services involved, depending on the user’s attributes, and any one of them could be the root of the issue. Each downstream service is maintained by different teams and may be deployed on-premise or to different cloud providers.

Which service is the bottleneck? Which team is responsible? Is the issue in the application code, a slow database query, or the infrastructure?

Thus begins the complex and arduous process of troubleshooting a distributed system. But with New Relic, it doesn’t have to be that hard.

Distributed tracing connects the dots in your systems end-to-end

New Relic has already delivered several important capabilities that help customers track performance in distributed systems. Our Health Map solution, released earlier this year, helps application teams decode the overall health and interdependencies for applications and the dynamic infrastructure that support them. With Service Maps, customers get an aggregate view of how the services in their application architecture fit together. And Transaction Traces leverage robust, code-level auto-instrumentation to help you uncover slow-performing transactions from an aggregate level down to the individual line of code to discern the cause of troublesome application endpoints.

Using the deep instrumentation and analytics capabilities of our Digital Intelligence Platform, distributed tracing represents the next step toward a deeper understanding of the end-to-end journey of a user request and the opportunities for optimization and troubleshooting. The waterfall view (shown below) is designed to provide a quick understanding of an entire request from the time the user first interacts with your application to the individual services and queries within the request:

trace waterfall chart

[click to enlarge]

This waterfall screenshot highlights a few application services (in red) that exhibited errors in this request and may require troubleshooting. Our applied intelligence engine has also noticed that eight of the slow-performing segments are coming from the same infrastructure host, likely an area worthy of deeper investigation.

While individual traces provide useful granular detail, a view of traces over time can be helpful to understand overall system performance and health:

trace scatter plot

[click to enlarge]

With each data point representing the duration of an end-to-end trace plotted over time, the screenshot above shows a view intended to give application teams the insight to identify performance outliers and trends with end-to-end application context for each user request.

Compatible with OpenTracing

Instrumenting the complex web of services powering your application can be challenging. New Relic provides unparalleled out-of-the-box support for seven languages, hundreds of popular frameworks, and instrumentation APIs to help customers understand every piece of their transactions. However, there may be situations where adding vendor-specific instrumentation isn’t ideal and where an open, vendor-neutral instrumentation standard would be the better fit. So New Relic is proud to support the OpenTracing standard to give our customers confidence that any piece of code instrumented using this open standard can be easily and immediately viewable within New Relic’s intuitive visualizations.

Let the journey begin

The software development trend toward microservices and service-oriented architecture will likely spur new requirements for understanding application performance, and meeting those requirements will demand a monitoring platform with deep and broad capabilities. New Relic is excited to help define a new standard for gaining visibility into distributed systems. With support for open standards, deep instrumentation from mobile to application to infrastructure, and a comprehensive intelligence engine, New Relic possesses powerful capabilities to lead organizations into these new complexities with confidence.

Of course, deploying those capabilities toward the most useful distributed tracing solutions requires feedback from customers. I hope you’ll join us in this journey by signing up for updates on the progress of this preview at newrelic.com/tracing.

 

Forward-Looking Statements
This post contains “forward-looking” statements, as that term is defined under the federal securities laws, including but not limited to claims regarding the future availablity of an integration of Distributed Tracing with Alignment to OpenTracing Standard in the New Relic Digital Intelligence Platform and any features or benefits related thereto. The achievement or success of the matters covered by such forward-looking statements are based on New Relic’s current assumptions, expectations, and beliefs and are subject to substantial risks, uncertainties, assumptions, and changes in circumstances that may cause New Relic’s actual results, performance, or achievements to differ materially from those expressed or implied in any forward-looking statement. Further information on factors that could affect New Relic’s financial and other results and the forward-looking statements in this post is included in the filings we make with the SEC from time to time, including in New Relic’s most recent Form 10-Q, particularly under the captions “Risk Factors” and “Management’s Discussion and Analysis of Financial Condition and Results of Operations.” Copies of these documents may be obtained by visiting New Relic’s Investor Relations website at http://ir.newrelic.com or the SECs website at www.sec.gov. New Relic assumes no obligation and does not intend to update these forward-looking statements, except as required by law.

Victor spent the first 14 years of his career writing software for various organizations before moving into project management and leadership roles where he could work more closely with end-users and customers. His experience in enterprise software development, implementation consulting, and post-sales support help him to understand the challenges of running complex systems. At New Relic, Victor is the product manager responsible for Service maps and Health map, features that help customers understand the relationship between systems. Victor lives and works in Portland, Oregon, where he enjoys cycling, hiking, soccer, basketball, and adventuring with his family in the Pacific Northwest.

View posts by .

Interested in writing for New Relic Blog? Send us a pitch!