Datadog: New Java support for its APM and distributed tracing
Datadog, a cloud monitoring provider, has recently added Java support to its APM offerings to provide a comprehensive monitoring platform. In this article, Julie Levine explains why they chose to add Java support and how it improves features like infrastructure metrics, log data, and application traces.
As a product manager for Application Performance Monitoring at Datadog, I work closely with our customers to ensure that Datadog meets their code-level monitoring needs. When my team and I considered adding new language support to Datadog’s APM product, it became apparent that Java would be a crucial language to focus on. After a development process that included regular consultation with those customers, Datadog released Java language support for our APM product in February.
Datadog began as an infrastructure monitoring company for complex cloud environments, and this is still core to our platform today. As our company grew, we learned that most of our customers were using an APM product in conjunction with Datadog’s infrastructure product, but often had difficulty toggling between the two.
In modern cloud environments and modern development teams, the line between writing code and managing infrastructure is blurred, and the same people who write code need to troubleshoot issues in production. Our customers told us that this reality necessitated infrastructure monitoring and APM products that worked better together. Based on this feedback, we decided to build our own APM product within our platform, with the goal of creating a unified product that could better serve our customers’ needs.
We launched our APM product in 2017, which was enthusiastically received by our customers. We also heard from some customers that Java language support was a must-have, especially for many large organizations. Retailers, financial institutions, media companies—for customers in a variety of industries, Java is the language used for the most important aspects of their environments. So we set out to not only build Java support for our APM, but also to make sure this support gave our customers the functionality they needed.
For the developers who use Datadog, errors in their code can mean costly downtime that directly impacts customer experience and revenue-generating operations. With Datadog’s APM, those code-level issues can be easily and immediately correlated with metrics from the underlying infrastructure, allowing customers to create custom dashboards combining valuable data from across their stack.
Java support also includes other Datadog APM features that our customers need, like end-to-end visibility with distributed tracing, detailed performance overviews, and automated, algorithmic alerts. These same features were needed by our Java customers, only more so, since Java is the language of choice for many of these customers’ most critical applications.
I had conversations with one of these customers when developing our Java APM support that centered around troubleshooting—they needed to tie their code-level visualizations to their infrastructure metrics so they could resolve issues faster. They already used Datadog throughout their organization, and support for Java gave them the ability to conduct this simplified troubleshooting in one unified product, vastly reducing complexity. Other customers that I spoke with expressed similar sentiments, and since launching Java support, we have already seen significant adoption from these customers, and others.
While we’ve had success with our APM product and have seen promising customer adoption, we still have work to do. We launched with support for Ruby, Python, and Go applications, and are planning support for more languages in addition to Java. With each new language comes new challenges, but also new customers and new lessons learned. With Java, we accelerated the process of bringing our APM product to larger customers, and we hope to continue that process as time goes on.