datadog
dynatrace
September 11, 202515 min read

Datadog vs Dynatrace: Which is Better in 2025? [Hands-On Testing]

Author:

Debanjan ChoudhuryDebanjan Choudhury

Datadog and Dynatrace are popular tools when it comes to monitoring and observability. In this article I have compared Datadog and Dynatrace across different aspects like getting started, infrastructure monitoring, log monitoring, pricing, etc.

💡 This article is my personal take based on the experience I had when integrating Datadog and Dynatrace. Some takeaways are subjective based on my personal preference

Datadog vs Dynatrace: Overview

Here's a comparison of the main features between Datadog and Dynatrace.

FeatureDatadogDynatrace
Infrastructure monitoring
APM
Log monitoring
Real-User monitoring
SLA Monitoring
OpenTelemetry support
Free tier✅ (5 hosts)
On premise
Cloud SIEM
Workflow Automation
AIOps✅ (Watchdog)✅ (Davis AI)
Access control

✅ - Available     ❌ - Not Available

Note: Both platforms support OpenTelemetry, though Dynatrace offers more seamless integration with its AI-powered insights, while Datadog prioritizes its proprietary agents but supports OTel protocols.

Datadog vs Dynatrace: Testing Environment

In this hands-on test, I used a Python application that was connected to a MongoDB database. In order to have a level playing field, I did not want to host them on my own machine. Instead, I opted for t2.micro EC2 instances from AWS. These come with 1 vCPU and 1 GiB of RAM. For storage, I opted for 8 GB.

I created 2 EC2 instances (one for testing Datadog, the other for Dynatrace). Next, I installed MongoDB and had my Python application running in both. After a round of basic testing to see if everything was working fine, it was time to collect some metrics.

Sign up Process

Datadog

Going to the Datadog website, I was prompted to create an account by providing my email and other details. There was no need to provide credit card details. After verifying my email with the security code sent, my account was created, and I was taken to the next page. This asked me about my tech stack. I found this easy to follow, and you get the option to skip this.

Proceeding from here, it took me directly to the Agent Setup page. I'll talk about this process shortly.

The Datadog signup page asking about the stack to monitor
The Datadog signup page asked me about the stack I was going to monitor

Dynatrace

Dynatrace has a similar signup process. I provided my email and other details. Once verified, my account was created. There was no prompt to enter my billing details.

One thing to note about Dynatrace is that unlike Datadog, the account creation isn't instant. It takes a while for the signup process to complete. I was presented with a "Processing your signup" page, and that took about 4 minutes to get done.

Once completed, I was taken to the landing page. But I didn't find the UI very intuitive. Moreover, the Dynatrace Hub takes a very long time to load. Once the Hub was loaded, it showed direct integration with AWS. But that needs IAM role for access and would monitor my entire AWS account. That wasn't my plan. And it took quite some time for me to figure out how to proceed from there. More on that later.

Dynatrace signup loading screen
Dynatrace signup took quite some time to load

Agent Installation

Datadog

As part of the sign-up process, I was taken to the Agent Installation page. I selected Amazon Linux on the left, and it gave me the required command to run.

Datadog agent installation instructions interface
Datadog has easy to follow instructions for setting up the agent

I went to my Datadog EC2 and ran the command. After downloading and installing the necessary packages, the Datadog Agent was up and running on my machine. That was easy.

Terminal showing Datadog agent installation process
Datadog agent installation

Once the Agent had started, I came back to the website to check. As expected, I could see that Datadog had started monitoring 1 host. This showed me all the infrastructure metrics.

Datadog dashboard showing connected agent
Datadog landing page after agent is connected

But Datadog did not start auto capturing the application metrics. I was prompted to install another application-specific Agent. For Python, I had to install the Datadog client ddtrace.

Next, in order to start with the instrumentation, I had to pass additional arguments to my application startup command. The UI provided all the necessary steps to build the final command.

Datadog interface for application-specific agent setup
Datadog application specific agent installation page

Dynatrace

I didn't find the Dynatrace UI to be intuitive or user-friendly. It kept showing role-based monitoring for AWS, but I just needed to monitor the single instance. I knew that I needed to install an agent, but I couldn't find the instructions anywhere. After Googling for answers, I finally ended up on the Agent installation page.

For Dynatrace, you need the OneAgent. Since I am running a Linux instance, I navigated to the corresponding page. I was asked to generate a PaaS token (since I didn't have one already). It then showed me a set of commands that I had to run.

Dynatrace OneAgent installation interface
Dynatrace UI for installing OneAgent

The first command downloads the installer. The second one verifies the signature. I could run those without any issues.

Terminal showing OneAgent download and verification
Downloading and verifying OneAgent

Next, it was time to run the OneAgent. I had to run the command with sudo as it required root privileges. Took a minute, and then it showed that the OneAgent was successfully connected to Dynatrace.

Terminal confirmation of OneAgent connection to Dynatrace
OneAgent connected with Dynatrace

I went to the Dynatrace website to check. The OneAgent tab showed that I had one host connected, and it was being monitored.

Dynatrace dashboard displaying EC2 host monitoring
Dynatrace OneAgent showing a single EC2 host

Unlike Datadog, I didn't have to install anything additional (for now). Dynatrace automatically started monitoring both the Python application, and the MongoDB I was running.

I will talk about the monitoring aspects next.

Infrastructure Monitoring: Both provide detailed views

Datadog

Datadog presented an easy-to-follow dashboard for my EC2 instance. It showed the basics like CPU, Load, and Memory, along with the processes that were running on the instance.

APM isn't a part of this dashboard. That resides as a separate tab.

Datadog EC2 monitoring dashboard with metrics
Datadog dashboard for EC2 monitoring

Dynatrace

Dynatrace provided a single window where all the metrics were present. As I scrolled down the page, I could find all the necessary metrics that one might need to get started with.

Dynatrace EC2 monitoring dashboard with metrics
Dynatrace dashboard for EC2 monitoring

One major differentiator with Datadog is the fact that in Dynatrace I could navigate to the APM from this dashboard itself. The Process analysis section showed all the processes that were running on the EC2 instance.

Dynatrace process analysis view in dashboard
Dynatrace dashboard offers a single view where you can see the Process analysis

On clicking the Python app, I was taken to a detailed view where it not only showed the application metrics but also showed how it was connected to the MongoDB process. I found this rather interesting.

Application Monitoring: Datadog is simpler to start with

Datadog

Datadog has a separate tab for APM. On navigating there, I could see both my Python application and the MongoDB database being monitored.

Clicking on the app opened up a quick view of the Performance metrics. This included Requests and Errors, Latency, and % of time spent across services.

Datadog APM interface showing application performance metrics
APM in Datadog

The app specific service page provided detailed view for the monitored metrics.

Detailed view of Datadog APM metrics
Expanded APM in Datadog

Even the database monitoring for MongoDB showed important metrics, including the database resources being called, along with latency and errors.

Datadog MongoDB monitoring dashboard
APM for MongoDB in Datadog

Although everything had a separate panel, it was detailed enough to check all the necessary metrics thoroughly.

Dynatrace

After checking the infrastructure and process metrics, I wanted to look at the application metrics, along with Logs and Traces. I once again found myself lost in the UI, trying to figure out where to go next. After searching for a while, I came across the documentation for setting up application metrics.

Dynatrace offers two options for instrumentation — using the OneAgent module for Python or using OpenTelemetry. The former required changes to code, and that's not something I was looking for. Hence, I opted for the OpenTelemetry route.

Next, it was time for me to set up the required configuration. Going through the documentation, I had to figure out the OLTP endpoint, and the access token. Generating the access token was tricky as you have to know the access scopes required. I had to go to another document to find it.

With these in place, I had to install the python packages for opentelemetry. After that, I had to restart the Python app with the opentelemetry-instrument command.

Back in the Dynatrace UI, I had to look for the Distributed Traces option. Finally, I could see the traces being generated.

Dynatrace showing distributed traces captured via OpenTelemetry
Traces captured via OTel in Dynatrace

The UI is quite detailed. Clicking on any trace shows the relevant calls, as well as the option to see the logs for the trace.

Setting up the Request tracking for the REST endpoints needed additional configuration.

Dynatrace detailed trace analysis view
Detailed traces in Dynatrace

Logs Monitoring: Easier Setup with Dynatrace

Datadog

By default, the log exporter is disabled in the Datadog Agent. I had to manually make the required changes. The Datadog documentation provided the necessary steps to take.

First, I had to open the datadog.yaml configuration file. This was present in the /etc/datadog-agent directory. I had to use sudo in order to add the following changes.

logs_enabled: true
logs_config:
  force_use_http: true

After this, I had to restart the agent.

But this didn't start capturing the application logs. I had to figure out a way to mention the log file, which for me was present in /tmp/server.log for the Python application.

I navigated to the /etc/datadog-agent/conf.d directory. Here, I created a python.d folder. Inside this folder, I created a conf.yaml file with the following content.

logs:
  - type: file
    path: /tmp/server.log
    service: flaskapp
    source: python

I restarted my application. Using the datadog-agent status command, I could see that the Logs Agent was active and that it was sending logs from the log file.

Terminal output showing Datadog agent sending logs
Datadog agent sending logs

Dynatrace

In contrast to Datadog, Dynatrace started capturing logs by default. In order to set the custom log file, I did not need to make any changes from the EC2 terminal. Rather, every configuration was driven from the Dynatrace UI.

From the Hosts Classic page, I opened the Settings for my EC2 instance. Scrolling down, I found the Log Monitoring option, inside which was the option for custom log sources. Here, I just had to provide the full file path for my server.log file.

Dynatrace interface for configuring custom log sources
Dynatrace UI for setting custom log sources

With this, I was able to see the application logs.

Dynatrace dashboard displaying events and logs
Dynatrace UI showing events and logs

AI Capabilities: Davis AI vs Watchdog

One of the key differentiators between these platforms is their approach to artificial intelligence and automation.

Dynatrace Davis AI

Dynatrace's Davis AI is widely recognized as the industry leader in AIOps. It provides:

  • Automated Root Cause Analysis: Davis AI automatically identifies the root cause of issues without manual investigation
  • Predictive Problem Detection: Identifies anomalies before they impact users
  • Auto-remediation: Can automatically fix known issues based on predefined playbooks
  • Natural Language Insights: Explains complex issues in plain English

Datadog Watchdog

Datadog's Watchdog takes a different approach:

  • Anomaly Detection: Identifies unusual patterns across metrics and logs
  • Alert Correlation: Groups related alerts to reduce noise
  • Suggested Dashboards: Recommends relevant dashboards during incidents
  • Manual Investigation Required: Provides clues but requires more manual analysis

The key difference: Dynatrace aims for full automation while Datadog provides powerful tools for manual investigation. Choose based on whether you prefer AI-driven decisions or human-in-the-loop control.

Real Cost Comparison

After testing both platforms, I wanted to understand the actual costs organizations face in production. The pricing models are quite different, and this can significantly impact your total cost of ownership.

Typical Enterprise Scenario (100 hosts, 50TB logs/month)

Let me break down what you might expect to pay:

Datadog Costs:

  • Infrastructure Monitoring: $15/host = $1,500/month
  • APM: $40/host = $4,000/month
  • Log Management: $0.10/GB ingested = $5,000/month
  • Custom Metrics: Often adds 30-50% to your bill
  • Estimated Total: ~$13,000-15,000/month

Dynatrace Costs:

  • Full-Stack Monitoring: $58/host = $5,800/month
  • Includes APM, logs, RUM, and infrastructure
  • No separate charges for custom metrics
  • Total: ~$5,800/month

For a detailed breakdown of Datadog's pricing complexities and hidden costs, check out this comprehensive guide: Datadog Pricing Main Caveats Explained.

What to Watch Out For

With Datadog:

  • Custom metrics can explode costs (each tag combination creates a new metric)
  • 99th percentile billing means brief spikes can affect your entire month's bill
  • Log ingestion and indexing are charged separately
  • Each module (APM, Infrastructure, Logs) has its own pricing

With Dynatrace:

  • Higher base price per host compared to individual Datadog modules
  • Less flexibility if you only need specific features
  • Additional training might be needed due to the steeper learning curve

Pricing

Datadog

Datadog has two major pricing options:

  • Pay As You Go
  • Create Your Own Plan

You have to manually take into account the price of every single component that you will be monitoring. While it might be intuitive if you have a very limited set of applications, this becomes complicated once that number increases.

Datadog pricing options and tiers
Datadog pricing page

Dynatrace

For Dynatrace, there is the option of opting for full-stack monitoring. But do note that not everything is covered under this, and you might need to opt additional things, or go for a custom plan by talking to the sales team.

Dynatrace pricing options and tiers
Dynatrace pricing page

Documentation: Datadog is better

Both Datadog and Dynatrace have a good amount of official documentation. Between the two, I personally found Datadog to be more straightforward. For Dynatrace, I had to open multiple documents and hop from one to the other to figure out how to do things.

Datadog also has a lot of explainer videos on YouTube that might help you set things up faster.

Datadog vs Dynatrace: Final Verdict

After using both tools and analyzing real-world experiences, here's the bottom line:

Dynatrace wins on:

  • Total cost of ownership (3x cheaper at scale)
  • AI-powered automation (Davis AI is superior)
  • Unified platform approach
  • Enterprise readiness

Datadog wins on:

  • Developer experience and ease of use
  • Ecosystem and integrations
  • Dashboard flexibility
  • Community and documentation

There's no universal "best" choice - it depends on your priorities. If you want powerful automation and have complex enterprise needs, Dynatrace is likely better. If you prefer control, customization, and have a modern cloud-native stack, Datadog might be your choice.

Remember: Both are expensive enterprise tools. If you're looking for cost-effective alternatives, consider OpenTelemetry native solutions like SigNoz that offer similar capabilities at a fraction of the cost with both a cloud offering or self hosted as per your needs.

A Better Alternative to DataDog and Dynatrace - SigNoz

The challenge with both Datadog and Dynatrace is their complex pricing models and potential for bill shock. If you're looking for a more transparent and cost-effective solution, consider SigNoz.

SigNoz unified observability dashboard
SigNoz provides a unified observability platform

SigNoz is a unified observability platform that provides:

  • Full-stack observability: Metrics, traces, and logs in a single platform
  • OpenTelemetry-native: Built on open standards, avoiding vendor lock-in
  • Transparent pricing: No custom metrics charges or hidden fees
  • ClickHouse powered: Handles high-volume data efficiently
  • Advanced features: Distributed tracing, service maps, custom dashboards

Key advantages over Datadog and Dynatrace:

  • No per-host pricing: Scale without worrying about host count
  • Predictable costs: Simple usage-based pricing
  • Open-source option: Self-host for complete control
  • No vendor lock-in: Easy migration with OpenTelemetry

Teams report 70-90% cost savings compared to Datadog while maintaining full observability capabilities.

Getting Started with SigNoz

You can choose between various deployment options in SigNoz. The easiest way to get started with SigNoz is SigNoz cloud. We offer a 30-day free trial account with access to all features.

Those who have data privacy concerns and can't send their data outside their infrastructure can sign up for either enterprise self-hosted or BYOC offering.

Those who have the expertise to manage SigNoz themselves or just want to start with a free self-hosted option can use our community edition.

Was this page helpful?