Datadog and Sentry are among the most popular tools for monitoring your
applications. While their features overlap, they do not offer the same product.
So, which one to choose?
To put it briefly, if you find error tracking and real-time application
performance data crucial for your monitoring stack, then Sentry is the right
tool. If you are building an observability suite and want to start with
something out-of-the-box, Datadog is just the right tool. If you want to learn
more, scroll down to see my side-by-side comparison of Datadog and Sentry.
š What is error tracking, and how does it fit into APM?
Error tracking is a specific way of extracting data about every operation
resulting in a message like ZeroDivisionError: float division by zero.
You can leverage these insights to troubleshoot new issues in the application's
code that slipped past testing.
Error tracking it's often used by or integrated into APM solutions.
Application Performance Monitoring (APM) is a broad term, sheltering a set of
tools and practices for analyzing the performance of services. So if a
successful API call takes more time than usual, an APM solution will help you
start tracking and solve this issue.
Datadog vs. Sentry: side-by-side comparison
I've coded a simple python app made to send an HTTP request to a Django server.
Then raised errors by not running the server, abruptly killing the script, not
importing modules, or dividing by zero.
Based on the collected data, I compared them based on the following criteria:
Application performance monitoring and error tracking features
Ease of integration and onboarding support
Alerting and incident management
Pricing
Third-party reviews and my personal preferences
1. Error Tracking and APM features
Sentry is a dedicated error tracking and performance monitoring service. The UI
offers multiple views for each of the included tools Applications are divided
into projects based on the language or framework. Projects UI offers a
centralized view of the entire service and key performance data. From the Issues
and Performance UIs, you can query data based on different criteria and access
cross-project data, issues influencing multiple services, etc. Each issue view
allows you to navigate along an entire trace and quickly get information about
the issue without ever leaving the tab.
All issues and events are enriched with additional data. Such as a trail of
events leading to the error (breadcrumbs), data about the end-user.
In summary, Sentry offers following features:
Standalone error tracking
Unified application performance monitoring (from a wide support of languages
and frameworks)
Basic issue (incident) management
Cross-platform issue tracking
Custom dashboards
Release (version) impact
Code ownership
Datadog offers APM as an add-on to the existing Pro or Enterprise
Infrastructure monitoring plan. Error tracking, depending on the platform, is a
part of APM and RUM solutions. Captured traces serve not only for workflows,
from generating metrics, logs correlation, trend analysis, and even SecOps,
depending on your setup.
After successfully instrumenting your service, Datadog offers multiple different
views allowing from which you can access and further evaluate the data from the
isolated Error tracking to a saturated view of your entire operation in the
Event explorer.
Datadog has the upper hand in further data processing, since you can corellate
APM data with metrics from synthetic monitoring
of the rest of your infrastructure, ingested logs and security insights.
Datadog, as a platform offers following features:
APM & Code profiling ( + error tracking)
UX Monitoring ( + error tracking)
Incident management
Infrastructure monitoring
Cloud and application security tools
Custom queries, views and dashboards
Log management
š A complete log management tool offers observability far beyond error tracking.
Fill observability gaps with Logtail in 5 minutes.
2. Onboarding and ease of use
With Sentry, it takes about 10 minutes to the instrument and collects
performance data. I started by creating a python project. During the setup, I
got to pre-configure basic alerting and project ownership. Following project
creation, Sentry provided me with an automatically generated code needed for
capturing errors.
After instrumenting my app in a virtualenv environment. I ran my script from
the console with python my_app.py each time, purposefully causing an error in
a different way. All this resulted in registering new errors, creating a
performance view, triggering an alert, and sending me an e-mail.
As for the onboarding support, Sentry offers two dummy projects for backend and
frontend monitoring, guiding you through the process. There's also an
interactive sandbox showcasing how the platform looks in production. Overall,
Sentry has well-written documentation for each feature, from error tracking to
developing your integrations.
By design, you can't run Datadog's APM without Datadog's infrastructure
monitoring agent. This was easily done by copypasting a generated command.
Once again, I was working in a virtualenv.I installed the tracer by running
pip install ddtrace and instrumenting the code.
After running a few checks on the function, all I need to do is to use the UI to
generate your own snippet and run it from the console.
Instrumenting Datadog's APM felt more difficult. Personally, I find the
documentation poorly structured mainly because individual troubleshooting pages,
tips, and guides are tough to navigate since they are not linked together and
require additional effort from the end-user to find them.s
After a successful ddtrace-run flow with the configuration you can see above,
we received the error in the Error Tracking UI like this:
The entire process took more time and leaves a bigger footprint. However, it's
fair to say, with some groundwork, you can leverage the power of the entire
Datadog platform to match Sentry's features, and benefit from additional
features not available in Sentry, like logging for example.
3. Alerting features and incident management
Each new issue created in Sentry might be considered an incident. However,
in a minimal scope. I could acknowledge and resolve issues and set up custom
issue handling, code ownership, and notification workflows.
The alert configuration is a click-based setup allowing you to create alerts
with conditional statements. This might feel a bit limiting, but it's fairly
easy to figure out or even find a workaround if needed, for example, by creating
custom metrics. But that's it; any advanced features like on-call
scheduling, alerting (via phone), or incident
management must be outsourced.
Datadog offers an entire incident management suite. Declaring incidents is
fairly easy and can be done both manually or automatically by setting up
monitors. The alerting setup requires a bit of work but is rather flexible. By
declaring @parameters directly in the message text, you can custom-tailor your
alerts with many variables and rules. Alerts, by default, appear within the UI
and are sent to your e-mail inbox.
While Datadog allows you to handle incidents a bit better, you can't handle
on-call scheduling and advanced escalations.
āļø Want to manage alerts via Slack, get a call or create on-call calendars?
Try Better Uptime and resolve
incidents from Sentry or Datadog, in minutes.
4. Pricing
Sentry offers a fairly generous free subscription. Sentry is also available
in a self-hosted version, though it's a bit more limited compared to the SaaS
edition. Sentry's pricing is quite transparent, and I especially like that it
allows you two visualize your spending in advance. On top of that, Sentry offers
a spike protection feature, which prevents accidental overspending.
To get Datadog's APM, you must get it alongside Infrastructure monitoring,
which effectively increases the bill by at least $15/host per month. On its own,
APM starts at $31/per month per host. RUM monitoring (for frontend error
tracking) is divided between Mobile and Browser subscriptions, starting at
$0.45/month per 1000 sessions.
Sentry is not cheap! It's just that its pricing is easier to navigate, and
you'll need an infrastructure monitoring tool anyway. Since Sentry has a really
specific focus and functionality, you'll need more tools to reach observability.
But if you pick the right tools, Sentry will fit in just fine, and you'll get
your hands on a powerful observability stack within minutes.
5. Third-party reviews and my preferences
ā ļø Due to the disproportionality in the number of reviews both tools receive around the internet, it's fair to say that this should be considered no more than a rough guideline for your decision-making. I've decided to incorporate this part because I deem some arguments mentioned below worth exploring further.
Sentry's users appreciate the ease of deployment, onboarding support, and
the freedom it gives them during setup and maintenance. Most negative reviews
address the UI and how easy it is for Sentry to become noisy. It's also
important to mention the controversy concerning
relicensing Sentry in
2019 and it no longer being āopen-sourceā per se. While I sympathize with some
community members who
felt betrayed, I can also
understand the reasoning behind this decision.
In the case of Datadog, reviews come from those who love that Datadog is a
fully managed and deeply intertwined platform and offers a variety of products
and integrations. Slightly negative reviews mainly express second thoughts about
the product, especially due to really complex pricing policies and poor
onboarding support and documentation.
The unfavorable reviews are quite bitter and rely on the personal experience of
users. They are based on arguments like
additional fees
for custom metrics in the claim that Datadog intentionally makes it harder to
work with third-party tools. While I can't prove nor dismiss any of these
claims, I can understand the reasoning behind complaints concerning pricing,
potential vendor lock-in, and poorly written documentation.
Personally, I enjoyed working with Sentry much more. The small number of jokes
and a really down-to-earth presentation made the entire experience wholesome.
Needless to say, regardless of my bias, I can see myself working with Datadog in
a more pragmatic sense. Mainly due to a really rich integration platform, making
it easier to integrate Datadog anywhere. And in times of need, I can still
consult Reddit or GitHub forums, addressing the issues documentation fails to.
Final Thoughts
Based on my own experience, I think it's fair to say that the decision will all
come down to your preferences, existing stack, and operation model. Big
enterprises might benefit from Datadog's integrated, āall-in-oneā solution and
can allocate the resources needed to make Datadog a powerful and reliable
observability suite.
On the other hand, Sentry does one thing and does it really well and works
equally well for indie developers and big business projects. The major trade-off
is the limited scope, which requires you to deploy Sentry alongside other DevOps
tools.
That being said, if you got all the way here, thank you for reading my article.
If you want to read more, check out my Datadog vs. New
Relic comparison, or other questions and guides on the
Better Stack Community platform.
Article by
Jenda Tovarys
Jenda leads Growth at Better Stack. For the past 5 years, Jenda has been writing about exciting learnings from working with hundreds of developers across the world. When he's not spreading the word about the amazing software built at Better Stack, he enjoys traveling, hiking, reading, and playing tennis.
Are you a developer and love writing and sharing your knowledge with the world? Join our guest
writing program and get paid for writing amazing technical guides. We'll get them to the right
readers that will appreciate them.