Comparison of Monitoring Features: DataDog, New Relic, and Dynatrace

Jaime Hernández
5 min readDec 9, 2023

--

Application monitoring is essential to ensure optimal performance and a smooth user experience. Among the leading monitoring tools in the market, DataDog, New Relic, and Dynatrace stand out, each with its own features in terms of browser agents, service monitoring, backend, and frontend capabilities. Here, we’ll analyze their most relevant aspects in these crucial areas.

Browser Agents (APM)

DataDog
DataDog offers a robust set of tools for monitoring browser performance. Its agents allow tracking and analysis of the end-user experience, providing detailed information on page load times, JS errors, and resource performance.

New Relic
New Relic also excels in APM monitoring, providing deep visibility into real-time user experience. Its browser agents offer precise metrics on load speed, errors, and key transactions, allowing quick identification and resolution of issues.

Dynatrace
Dynatrace stands out for its focus on artificial intelligence and automated monitoring. Its browser agents provide detailed analysis of frontend performance, identifying potential issues and providing data to enhance user experience.

Service Agents

DataDog
DataDog has robust service agents that offer detailed monitoring of applications, providing metrics and traces for distributed applications. Its focus on scalability and ease of use makes it attractive for complex environments.

New Relic
New Relic focuses on providing a comprehensive view of distributed application performance. Its agents provide detailed data on the health and performance of services, enabling in-depth analysis to optimize efficiency.

Dynatrace
Dynatrace excels in self-discovery and continuous monitoring of services. Its agents offer automated and detailed monitoring of services, identifying anomalies and providing information to enhance availability and performance.

Backend and Frontend Monitoring

DataDog
DataDog offers a comprehensive approach to backend and frontend monitoring. Its platform provides detailed metrics, request tracking, and customized visualizations to understand performance in both backend and frontend.

New Relic
New Relic offers a unified perspective on application performance, providing a holistic view of both backend and frontend. Its tools allow correlating data to understand how actions in the backend impact user experience.

Dynatrace
Dynatrace stands out for offering a complete view of technology stack, from backend to frontend. Its comprehensive approach enables identification and resolution of issues in any layer of the application.

In summary, each monitoring platform offers unique strengths in terms of browser agents, service monitoring, and visibility of backend and frontend. The choice largely depends on the specific needs of each company and the depth of analysis required to maintain optimal application performance.

Observability for Java:

Java

DataDog Provides robust support for Java with agents that offer detailed metrics and traceability in Java environments. Provides performance monitoring at the application and Java server level, allowing monitoring of key metrics and identifying bottlenecks. Enables visualization and in-depth analysis of Java application performance.

New Relic Offers strong observability in Java environments, with agents capturing essential metrics and critical transactions. Provides transaction-level performance monitoring, enabling detailed analysis of Java application behavior. Offers tools to identify and resolve performance issues in Java applications.

Dynatrace Stands out for its automated monitoring approach in Java environments, with agents enabling continuous and detailed performance monitoring. Offers self-discovery capability and dependency tracking for Java applications, facilitating the identification of performance issues.

Observability for Python:

Python

DataDog Provides specific agents for Python that collect detailed metrics and offer visibility into Python application performance. Offers monitoring of resources and critical transactions in Python environments, facilitating the identification of bottlenecks and performance issues.

New Relic Offers agents designed specifically for Python applications that enable monitoring of application performance and health. Provides detailed visibility into response time, errors, and critical transactions in Python environments.

Dynatrace Offers agents for Python that facilitate continuous and automated monitoring of application performance. Provides detailed analysis of performance and health of Python applications, enabling quick identification and resolution of issues.

Observability for Node.js:

Node.js

DataDog Offers dedicated agents for Node.js that provide detailed metrics and traceability in Node.js environments. Provides performance monitoring for Node.js applications, allowing the monitoring of metrics and identification of problematic areas.

New Relic Provides specialized agents for Node.js that offer visibility into application performance. Offers detailed analysis of response time, errors, and critical transactions in Node.js environments.

Dynatrace Offers agents designed for Node.js that enable continuous and automated monitoring of application performance. Provides dependency tracking and in-depth performance analysis in Node.js environments. These observability platforms offer specific tools and agents for Java, Python, and Node.js, allowing detailed monitoring and performance analysis in each of these development environments. The choice of platform depends on the specific needs of the application and the depth of analysis required.

Monitoring Queries for Endpoint Response Times:

DataDog Response Time Measurement:

Uses the query for average response time per endpoint in DataDog. Example:

avg:my.endpoint.response.time

New Relic Response Time Measurement:

Utilizes the query for average response time per endpoint in New Relic.

Example:

SELECT average(responseTime) FROM Transaction WHERE endpoint = 'my.endpoint'.

Dynatrace Response Time Measurement:

Employs the query for average response time per service or endpoint in Dynatrace.

Example:

SELECT avg(responseTime) FROM Service WHERE serviceName = 'my.endpoint'.

Identifying Error Issues: DataDog Error Identification: Uses queries that filter HTTP status codes to detect errors.

Example:

sum:my.endpoint.http.status.

New Relic Error Identification:

Utilizes queries that track transactions with error status codes.

Example:

SELECT count() FROM Transaction WHERE endpoint = 'my.endpoint' AND httpResponseCode LIKE '5%'.

Dynatrace Error Identification:

Employs queries that search for errors and exceptions in services or endpoints. Example:

SELECT count() FROM Service WHERE serviceName = 'my.endpoint' AND errorCount > 0.

Reviewing Relevant Logs for Developers:

DataDog Log Analysis:

Uses log queries with specific filters for relevant events.

Example:

service:my-service ERROR.

New Relic Log Analysis:

Provides log queries with the ability to search and filter specific events. Example:

SELECT * FROM Log WHERE service = 'my-service' AND level = 'error'.

Dynatrace Log Analysis:

Employs log queries to identify errors and exceptions in real-time. Example:

SELECT * FROM Log WHERE service = 'my-service' AND logType = 'error'.

Each monitoring platform provides specific queries and filters to measure response times, identify error issues, and review relevant logs for developers. The choice among these queries will depend on the specific monitoring and analysis needs of each development team.

--

--