In Java applications, concurrency issues can be difficult to reproduce and debug. Because work is scheduled nondeterministically across threads, the conditions that have led to an error in one execution of the program may not trigger the same issue the next time around. Exceptions that are silently handled—also known as swallowed exceptions—can also be challenging to debug because they typically do not leave any trace in the logs.
Seagence is a tool that helps developers detect and debug these types of code-level issues in production by analyzing how application requests are processed in real time. We’re pleased to announce that Seagence integrates with Datadog and offers a software license in the Datadog Marketplace so that developers can easily track defects as Datadog events and visualize the root cause in out-of-the-box (OOTB) dashboards. In this post, we’ll explore how you can use the Seagence license and integration to:
Detect defects in Java applications
Seagence’s Java agent is lightweight and does not require you to instrument any code to get started. Once you download the agent and connect it to your application, Seagence will automatically analyze how requests are executed in real time. Once Seagence is integrated with Datadog, it will generate an event (which it refers to as a defect) in Datadog whenever it detects a problem in your application.
The OOTB Seagence dashboard helps you visualize trends in these detected defects. In the dashboard, you can see a timeline that can help you distinguish trends in your application. For example, if a particular application starts to exhibit more defects over time, you may want to investigate further before it negatively impacts your end user experience.
Seagence’s findings provide additional context around any logs and application performance data that Datadog is already collecting from your applications. You can clone and customize the Seagence dashboard to include key Datadog-collected metrics from your applications, for example, or overlay Seagence events on timeseries graphs within your other Datadog dashboards.
In the following screenshot, you can see that Seagence recently detected two defects (shown as vertical red bars overlaid on the graph) shortly before a slight rise in application latency. To investigate, you can click to inspect these defects in more detail.
Get deep visibility into Java errors and exceptions
In addition to viewing Seagence defects in the OOTB dashboard, you can also explore these findings in the Datadog Events Explorer. Each event includes information about the root cause of a defect. For example, let’s say you’re a web developer working on an ecommerce site, and you notice that Seagence has detected that a defect due to an IllegalArgumentException
error occurred on the /cart/add endpoint, as shown in the following screenshot. In this case, this exception did not generate an error in the application because it got swallowed and returned a successful HTTP response (as indicated by the seagence:http-status-code-200
tag), but Seagence was still able to detect the defect. Proactively investigating and debugging these well-hidden types of exceptions can help you address issues before they degrade your end user experience.
In the details of the event above, you can see that Seagence has captured a stack trace that includes details about the root cause of the exception. You can use this information to start fixing the code. Or, you can continue troubleshooting by clicking on a link to navigate to SeagenceWeb, where you can inspect more detailed debugging information.
The Seagence integration also includes a preconfigured monitor that can automatically notify you about Seagence’s findings in real time. To enable this out-of-the-box monitor in Datadog, navigate to the Assets tab of the Seagence integration tile and find Recommended Monitors > Recommended Monitors > Seagence detected a defect. You can enable this monitor and specify the individuals, channels, or teams that should be kept in the loop about any issues that Seagence detects. You can also use Datadog Workflow Automation to kick off an automated remediation process if an alert is triggered. You can easily escalate this alert into an incident if needed as well, and use Datadog Incident Management to automatically execute specific remediation processes when the monitor is triggered and collaborate with other team members to continue investigating this issue.
Debug Java code-level issues with Seagence and Datadog
The Seagence integration enables you to proactively detect and debug code-level issues in your Java applications before they affect your users. Once you set up Seagence’s integration and purchase a license through the Datadog Marketplace, you can start detecting and debugging code-level issues in your applications right away with preconfigured dashboards and monitors. You can get started by purchasing a Seagence software license through the Datadog Marketplace and consulting our documentation for details about setting up the integration.
The ability to develop and promote third-party tools in the Datadog Marketplace that extend the capabilities of Datadog is one of the benefits of membership in the Datadog Partner Network. You can learn more about the Datadog Marketplace in our blog post, and you can contact us at marketplace@datadog.com if you’re interested in developing an integration or application.