DataDog vs. Scout: which is right for you?

October 21 Bullet_white By Derek Bullet_white Comments Comments

You're probably confused where DataDog and Scout overlap. You're not alone! They've each offered similar products since their inception, and come on, they both have dogs in their logos!

Here's a timeline to clear things up:

  • Both Scout (2009) and DataDog (2010) started around the same time and focused on system-level monitoring (server resource usage, custom metrics via StatsD, etc).
  • In late 2015, Scout launched a dedicated Application Performance Management (APM) product. DataDog launched their own flavor of APM nine months later.
  • In the summer of 2017, Scout's original server monitoring product was acquired by Pingdom, becoming Pingdom Server Monitor. Scout now focuses on application monitoring.

DataDog offers both infrastructure and application monitoring. Scout offers a focused APM product, so their offerings overlap on application monitoring.

Both DataDog's and Scout's APM offerings are solid, but they are aimed at different teams. How are they different, and what's the best fit for you?

Does your code or your infrastructure trigger more problems?

Let's start with the slogans.

DataDog:

Datadog is bringing sanity to DevOps teams with our Infrastructure & Application Performance Monitoring platform.

Scout:

App monitoring that developers love.

Scout is developer-centric: this makes Scout a great tool if many of your time-consuming performance problems are triggered by product code written by your engineering team. DataDog is DevOps-centric: it's an extensive platform for charting just about any type of metric, from many different services, in a variety of different ways.

DevOps engineers write code, but it's typically infrastructure code and orchestration code. They are far less likely to modify the functionality of a web endpoint on their own.

Let's take a look at three areas of the DataDog and Scout APM products so you can see the difference.

1. The Transaction Trace

The soul of app monitoring is the transaction trace: all the metrics and analysis an APM platform delivers originates from data collected in a trace. A transaction trace is a single web request or execution of a single background job.

The screenshot below shows a transaction trace for the same web endpoint in DataDog and Scout:

transaction trace

Highlights of the developer "special sauce" in the Scout trace:

  • Scout provides backtraces to method calls and database queries. These aren't available in DataDog, which makes sense: a DevOps engineer is unlikely to make a change to product code. A developer, however, needs this backtrace to fix an issue.
  • Scout injects the actual code into the trace, including the git blame metadata on the developer that wrote the code. This is critical to identify the best person for the fix (usually the developer that wrote it).
  • Scout's profiler, ScoutProf, breaks down time spent in custom code without instrumentation. This eliminates the painful step of custom instrumentation. This code is unlikely to be familar to a DevOps team - it's custom product code.
  • Scout identifies factors that can trigger longer web requests, like SQL queries returning lots of rows or N+1 queries. Fixing these frequently requires code changes.

2. Daily Digest

Both DataDog and Scout provide a Daily Digest of your app's health via email. How this is displayed looks quite a bit different:

Highlights of the developer "special sauce" in the Scout trace:

  • Scout starts from named web endpoints - like PhotosController#index - then drills into factors - like slow database calls - that trigger problems.
  • Scout identifies developers associated with slow code and when the code was committed.

3. Agent

Scout is installed by a developer - it's typically a one-line Git commit to the product code base. DataDog requires a separate agent install, which would typically be managed via Chef/Puppet/Ansible/etc.

Why don't you just tell me which to use?

First, there's no reason you can't use both: it's easy to pull Scout's APM metrics into DataDog for your ops team via the Scout API. This can give an ops team the high-level health view and engineerings teams the code-level visibility they need.

What would I do? Try DataDog and Scout at the same time (they don't conflict), then ask: "which tool helps our team solve performance issues faster?"

Get notified of new posts.

Once a month, we'll deliver a finely-curated selection of optimization tips to your inbox.

Comments

comments powered by Disqus