www.datadoghq.com Open in urlscan Pro
108.138.26.34  Public Scan

Submitted URL: https://groove.grvlnk3.com/url/42jonxaj01f1jdyp4pf4rx/aHR0cHM6Ly93d3cuZGF0YWRvZ2hxLmNvbS9jYXNlLXN0dWRpZXMvZWEtZGljZS8jZ3Jvb...
Effective URL: https://www.datadoghq.com/case-studies/ea-dice/
Submission: On March 04 via manual from PL — Scanned from PL

Form analysis 3 forms found in the DOM

<form novalidate="" class="ais-SearchBox-form" action="" role="search"><input type="search" placeholder="Search" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" required="" maxlength="512"
    class="ais-SearchBox-input"><button type="submit" title="Submit your search query." class="ais-SearchBox-submit"><svg class="ais-SearchBox-submitIcon" xmlns="http://www.w3.org/2000/svg" width="10" height="10" viewBox="0 0 40 40"
      aria-hidden="true">
      <path
        d="M26.804 29.01c-2.832 2.34-6.465 3.746-10.426 3.746C7.333 32.756 0 25.424 0 16.378 0 7.333 7.333 0 16.378 0c9.046 0 16.378 7.333 16.378 16.378 0 3.96-1.406 7.594-3.746 10.426l10.534 10.534c.607.607.61 1.59-.004 2.202-.61.61-1.597.61-2.202.004L26.804 29.01zm-10.426.627c7.323 0 13.26-5.936 13.26-13.26 0-7.32-5.937-13.257-13.26-13.257C9.056 3.12 3.12 9.056 3.12 16.378c0 7.323 5.936 13.26 13.258 13.26z">
      </path>
    </svg></button><button type="reset" title="Clear the search query." class="ais-SearchBox-reset" hidden=""><i class="icon-x text-gray"></i><span class="text-primary">Cancel</span></button></form>

<form id="mktoForm_2029" novalidate="novalidate" style="font-family: Helvetica, Arial, sans-serif; font-size: 13px; color: rgb(51, 51, 51); width: 301px;" class="mktoForm mktoHasWidth mktoLayoutLeft">
  <style type="text/css">
    .mktoForm .mktoButtonWrap.mktoShadow .mktoButton {
      color: #000;
      background: #fff;
      border: 1px solid #5e9cd3;
      padding: 0.4em 1em;
      font-size: 1em;
      box-shadow: 3px 3px 10px 0px #ccc;
      background-color: #b2d0eb;
      background-image: -webkit-gradient(linear, left top, left bottom, from(#b2d0eb), to(#9ec5e8));
      background-image: -webkit-linear-gradient(top, #b2d0eb, #9ec5e8);
      background-image: -moz-linear-gradient(top, #b2d0eb, #9ec5e8);
      background-image: linear-gradient(to bottom, #b2d0eb, #9ec5e8);
    }

    .mktoForm .mktoButtonWrap.mktoShadow .mktoButton:hover {
      border: 1px solid #106eb4;
    }

    .mktoForm .mktoButtonWrap.mktoShadow .mktoButton:focus {
      outline: none;
      border: 1px solid #106eb4;
    }

    .mktoForm .mktoButtonWrap.mktoShadow .mktoButton:active {
      box-shadow: inset 3px 3px 10px 0px #aaa;
    }
  </style>
  <div class="mktoFormRow">
    <div class="mktoFieldDescriptor mktoFormCol" style="margin-bottom: 10px;">
      <div class="mktoOffset" style="width: 10px;"></div>
      <div class="mktoFieldWrap mktoRequiredField"><label for="FirstName" id="LblFirstName" class="mktoLabel mktoHasWidth" style="width: 100px;">
          <div class="mktoAsterix">*</div>First Name*
        </label>
        <div class="mktoGutter mktoHasWidth" style="width: 10px;"></div><input id="FirstName" name="FirstName" maxlength="255" aria-labelledby="LblFirstName InstructFirstName" type="text" class="mktoField mktoTextField mktoHasWidth mktoRequired"
          aria-required="true" style="width: 300px;"><span id="InstructFirstName" tabindex="-1" class="mktoInstruction"></span>
        <div class="mktoClear"></div>
      </div>
      <div class="mktoClear"></div>
    </div>
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow">
    <div class="mktoFieldDescriptor mktoFormCol" style="margin-bottom: 10px;">
      <div class="mktoOffset" style="width: 10px;"></div>
      <div class="mktoFieldWrap mktoRequiredField"><label for="LastName" id="LblLastName" class="mktoLabel mktoHasWidth" style="width: 100px;">
          <div class="mktoAsterix">*</div>Last Name*
        </label>
        <div class="mktoGutter mktoHasWidth" style="width: 10px;"></div><input id="LastName" name="LastName" maxlength="255" aria-labelledby="LblLastName InstructLastName" type="text" class="mktoField mktoTextField mktoHasWidth mktoRequired"
          aria-required="true" style="width: 300px;"><span id="InstructLastName" tabindex="-1" class="mktoInstruction"></span>
        <div class="mktoClear"></div>
      </div>
      <div class="mktoClear"></div>
    </div>
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow">
    <div class="mktoFieldDescriptor mktoFormCol" style="margin-bottom: 10px;">
      <div class="mktoOffset" style="width: 10px;"></div>
      <div class="mktoFieldWrap mktoRequiredField"><label for="Email" id="LblEmail" class="mktoLabel mktoHasWidth" style="width: 100px;">
          <div class="mktoAsterix">*</div>Business Email*
        </label>
        <div class="mktoGutter mktoHasWidth" style="width: 10px;"></div><input id="Email" name="Email" maxlength="255" aria-labelledby="LblEmail InstructEmail" type="email" class="mktoField mktoEmailField mktoHasWidth mktoRequired"
          aria-required="true" style="width: 300px;"><span id="InstructEmail" tabindex="-1" class="mktoInstruction"></span>
        <div class="mktoClear"></div>
      </div>
      <div class="mktoClear"></div>
    </div>
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow">
    <div class="mktoFieldDescriptor mktoFormCol" style="margin-bottom: 10px;">
      <div class="mktoOffset" style="width: 10px;"></div>
      <div class="mktoFieldWrap mktoRequiredField"><label for="Company" id="LblCompany" class="mktoLabel mktoHasWidth" style="width: 100px;">
          <div class="mktoAsterix">*</div>Company*
        </label>
        <div class="mktoGutter mktoHasWidth" style="width: 10px;"></div><input id="Company" name="Company" maxlength="255" aria-labelledby="LblCompany InstructCompany" type="text" class="mktoField mktoTextField mktoHasWidth mktoRequired"
          aria-required="true" style="width: 300px;"><span id="InstructCompany" tabindex="-1" class="mktoInstruction"></span>
        <div class="mktoClear"></div>
      </div>
      <div class="mktoClear"></div>
    </div>
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow">
    <div class="mktoFieldDescriptor mktoFormCol" style="margin-bottom: 10px;">
      <div class="mktoOffset" style="width: 10px;"></div>
      <div class="mktoFieldWrap mktoRequiredField"><label for="Title" id="LblTitle" class="mktoLabel mktoHasWidth" style="width: 100px;">
          <div class="mktoAsterix">*</div>Job Title*
        </label>
        <div class="mktoGutter mktoHasWidth" style="width: 10px;"></div><input id="Title" name="Title" maxlength="255" aria-labelledby="LblTitle InstructTitle" type="text" class="mktoField mktoTextField mktoHasWidth mktoRequired" aria-required="true"
          style="width: 300px;"><span id="InstructTitle" tabindex="-1" class="mktoInstruction"></span>
        <div class="mktoClear"></div>
      </div>
      <div class="mktoClear"></div>
    </div>
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow">
    <div class="mktoFieldDescriptor mktoFormCol" style="margin-bottom: 10px;">
      <div class="mktoOffset" style="width: 10px;"></div>
      <div class="mktoFieldWrap"><label for="Phone" id="LblPhone" class="mktoLabel mktoHasWidth" style="width: 100px;">
          <div class="mktoAsterix">*</div>Phone Number
        </label>
        <div class="mktoGutter mktoHasWidth" style="width: 10px;"></div><input id="Phone" name="Phone" maxlength="255" aria-labelledby="LblPhone InstructPhone" type="tel" class="mktoField mktoTelField mktoHasWidth" style="width: 300px;"><span
          id="InstructPhone" tabindex="-1" class="mktoInstruction"></span>
        <div class="mktoClear"></div>
      </div>
      <div class="mktoClear"></div>
    </div>
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow">
    <div class="mktoFieldDescriptor mktoFormCol" style="margin-bottom: 10px;">
      <div class="mktoOffset" style="width: 10px;"></div>
      <div class="mktoFieldWrap"><label for="utmsource" id="Lblutmsource" class="mktoLabel mktoHasWidth" style="width: 100px;">
          <div class="mktoAsterix">*</div>How are you currently monitoring your infrastructure and applications?
        </label>
        <div class="mktoGutter mktoHasWidth" style="width: 10px;"></div><textarea id="utmsource" name="utmsource" rows="2" aria-labelledby="Lblutmsource Instructutmsource" class="mktoField mktoHasWidth" maxlength="255"
          style="width: 300px;"></textarea><span id="Instructutmsource" tabindex="-1" class="mktoInstruction"></span>
        <div class="mktoClear"></div>
      </div>
      <div class="mktoClear"></div>
    </div>
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow"><input type="hidden" name="LeadSource" class="mktoField mktoFieldDescriptor mktoFormCol" value="Direct Traffic" style="margin-bottom: 10px;">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow"><input type="hidden" name="Lead_Source_Campaign__c" class="mktoField mktoFieldDescriptor mktoFormCol" value="DirectTraffic" style="margin-bottom: 10px;">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow"><input type="hidden" name="Prospecting__c" class="mktoField mktoFieldDescriptor mktoFormCol" value="DirectTraffic-DemoRequest" style="margin-bottom: 10px;">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow"><input type="hidden" name="Most_Recent_Lead_Source__c" class="mktoField mktoFieldDescriptor mktoFormCol" value="Direct Traffic" style="margin-bottom: 10px;">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow"><input type="hidden" name="Most_Recent_Lead_Source_Campaign__c" class="mktoField mktoFieldDescriptor mktoFormCol" value="DirectTraffic" style="margin-bottom: 10px;">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow"><input type="hidden" name="Most_Recent_Lead_Source_Details__c" class="mktoField mktoFieldDescriptor mktoFormCol" value="DirectTraffic-DemoRequest" style="margin-bottom: 10px;">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow"><input type="hidden" name="GCLID__c" class="mktoField mktoFieldDescriptor mktoFormCol" value="" style="margin-bottom: 10px;">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow"><input type="hidden" name="UTM_CampaignID__c" class="mktoField mktoFieldDescriptor mktoFormCol" value="" style="margin-bottom: 10px;">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow"><input type="hidden" name="UTM_AdGroupID__c" class="mktoField mktoFieldDescriptor mktoFormCol" value="" style="margin-bottom: 10px;">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow"><input type="hidden" name="UTMContent" class="mktoField mktoFieldDescriptor mktoFormCol" value="" style="margin-bottom: 10px;">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow"><input type="hidden" name="Facebook_Click_ID__c" class="mktoField mktoFieldDescriptor mktoFormCol" value="" style="margin-bottom: 10px;">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow"><input type="hidden" name="Bing_ClickID__c" class="mktoField mktoFieldDescriptor mktoFormCol" value="" style="margin-bottom: 10px;">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow">
    <div class="mktoFormCol" style="margin-bottom: 10px;">
      <div class="mktoOffset mktoHasWidth" style="width: 10px;"></div>
      <div class="mktoFieldWrap">
        <div class="mktoHtmlText mktoHasWidth" style="width: 260px;">
          <p style="text-align: left;"><span style="color: #555555; font-size: 9px;">By submitting this form, you agree to the&nbsp;<span
                style="text-decoration: underline;"><a href="https://www.datadoghq.com/legal/privacy/" style="color: #555555; text-decoration: underline;" target="_blank" class="mchNoDecorate">Privacy Policy</a></span>&nbsp;and&nbsp;<span
                style="text-decoration: underline;"><a href="https://www.datadoghq.com/legal/cookies/" style="color: #555555; text-decoration: underline;" target="_blank" class="mchNoDecorate">Cookie Policy.</a></span></span></p>
        </div>
        <div class="mktoClear"></div>
      </div>
      <div class="mktoClear"></div>
    </div>
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow"><input type="hidden" name="sourceUTM" class="mktoField mktoFieldDescriptor mktoFormCol" value="inbound" style="margin-bottom: 10px;">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow"><input type="hidden" name="mediumUTM" class="mktoField mktoFieldDescriptor mktoFormCol" value="direct" style="margin-bottom: 10px;">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow"><input type="hidden" name="campaignUTM" class="mktoField mktoFieldDescriptor mktoFormCol" value="directtraffic" style="margin-bottom: 10px;">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoButtonRow"><span class="mktoButtonWrap mktoShadow" style="margin-left: 120px;"><button type="submit" class="mktoButton">Request a Demo</button></span></div><input type="hidden" name="formid" class="mktoField mktoFieldDescriptor"
    value="2029"><input type="hidden" name="munchkinId" class="mktoField mktoFieldDescriptor" value="875-UVY-685">
</form>

<form novalidate="novalidate" style="font-family: Helvetica, Arial, sans-serif; font-size: 13px; color: rgb(51, 51, 51); visibility: hidden; position: absolute; top: -500px; left: -1000px; width: 1600px;" class="mktoForm mktoHasWidth mktoLayoutLeft">
</form>

Text Content

Read the 2023 State of Cloud Security Study! Read the 2023 Cloud Security Study!
 * Product
   
   Infrastructure
   
    * Infrastructure Monitoring
    * Network Performance Monitoring
    * Network Device Monitoring
    * Container Monitoring
    * Serverless
    * Cloud Cost Management
    * Cloudcraft
   
   Logs
   
    * Log Management
    * Sensitive Data Scanner
    * Audit Trail
    * Observability Pipelines
   
   Applications
   
    * Application Performance Monitoring
    * Universal Service Monitoring
    * Continuous Profiler
    * Database Monitoring
    * Data Streams Monitoring
    * Service Catalog
    * Dynamic Instrumentation
   
   Security
   
    * Software Composition Analysis
    * Application Security Management
    * Cloud Security Management
    * Cloud SIEM
   
   Digital Experience
   
    * Browser Real User Monitoring
    * Mobile Real User Monitoring
    * Synthetic Monitoring
    * Session Replay
    * Error Tracking
   
   Software Delivery
   
    * CI Pipeline Visibility
    * Test Visibility & Intelligent Test Runner
    * Continuous Testing
   
   Platform Capabilities
   
    * Bits AI
    * Workflow Automation
    * CoScreen
    * Dashboards
    * Watchdog
    * Alerts
    * Incident Management
    * Integrations
    * IDE Plugins
    * API
    * Case Management
 * Customers
 * Pricing
 * Solutions
   
   Industry
   
    * Financial Services
    * Manufacturing & Logistics
    * Healthcare/Life Sciences
    * Retail/E-Commerce
    * Government
    * Education
    * Media & Entertainment
    * Technology
    * Gaming
   
   Technology
   
    * Amazon Web Services Monitoring
    * Azure Monitoring
    * Google Cloud Platform Monitoring
    * Kubernetes Monitoring
    * Red Hat OpenShift
    * Pivotal Platform
    * OpenAI
   
   Use-case
   
    * Cloud Migration
    * Monitoring Consolidation
    * DevOps
    * Shift-Left Testing
    * Digital Experience Monitoring
    * Security Analytics
    * Compliance for CIS Benchmarks
    * Hybrid Cloud Monitoring
    * IoT Monitoring
    * Machine Learning
    * Real-Time BI
    * On-Premises Monitoring
    * Log Analysis & Correlation
 * Docs

White modal up arrow

Looking for Datadog logos?

You can find the logo assets on our press page.

Download Media Assets
 * About
   * Contact
   * Partners
   * Latest News
   * Leadership
   * Careers
   * Analyst Reports
   * Investor Relations
   * Awards
   * ESG Report
 * Blog
   * The Monitor
   * Engineering
   * Pup Culture
   * Security Labs
 * Login
 * 
 * GET STARTED FREE Free Trial


Toggle navigation

 * 
 * Product
   
     Infrastructure
   
   * Infrastructure Monitoring
   * Network Performance Monitoring
   * Network Device Monitoring
   * Container Monitoring
   * Serverless
   * Cloud Cost Management
   * Cloudcraft
   
     Logs
   
   * Log Management
   * Sensitive Data Scanner
   * Audit Trail
   * Observability Pipelines
   
     Applications
   
   * Application Performance Monitoring
   * Universal Service Monitoring
   * Continuous Profiler
   * Database Monitoring
   * Data Streams Monitoring
   * Service Catalog
   * Dynamic Instrumentation
   
     Security
   
   * Software Composition Analysis
   * Application Security Management
   * Cloud Security Management
   * Cloud SIEM
   
     Digital Experience
   
   * Browser Real User Monitoring
   * Mobile Real User Monitoring
   * Synthetic Monitoring
   * Session Replay
   * Error Tracking
   
     Software Delivery
   
   * CI Pipeline Visibility
   * Test Visibility & Intelligent Test Runner
   * Continuous Testing
   
     Platform Capabilities
   
   * Bits AI
   * Workflow Automation
   * CoScreen
   * Dashboards
   * Watchdog
   * Alerts
   * Incident Management
   * Integrations
   * IDE Plugins
   * API
   * Case Management
 * Customers
 * Pricing
 * Solutions
   
     Industry
   
   * Financial Services
   * Manufacturing & Logistics
   * Healthcare/Life Sciences
   * Retail/E-Commerce
   * Government
   * Education
   * Media & Entertainment
   * Technology
   * Gaming
   
     Technology
   
   * Amazon Web Services Monitoring
   * Azure Monitoring
   * Google Cloud Platform Monitoring
   * Kubernetes Monitoring
   * Red Hat OpenShift
   * Pivotal Platform
   * OpenAI
   
     Use-case
   
   * Cloud Migration
   * Monitoring Consolidation
   * DevOps
   * Shift-Left Testing
   * Digital Experience Monitoring
   * Security Analytics
   * Compliance for CIS Benchmarks
   * Hybrid Cloud Monitoring
   * IoT Monitoring
   * Machine Learning
   * Real-Time BI
   * On-Premises Monitoring
   * Log Analysis & Correlation
 * About
   * Contact
   * Partners
   * Latest News
   * Leadership
   * Careers
   * Analyst Reports
   * Investor Relations
   * Awards
   * ESG Report
 * Blog
   * The Monitor
   * Engineering
   * Pup Culture
   * Security Labs
 * Docs
 * Login
 * Get Started Free

Cancel


CASE STUDY


GAME SERVER MONITORING

Learn how EA Dice uses Datadog to monitor game servers and stress test beta
launches

download pdf

Game Server Monitoring
 * About EA DICE
 * Key Results
 * Challenge
 * Why Datadog?
 * Battlefield V Open Beta: Lifelines Don’t Apply to Game Servers
 * Game Server Monitoring Challenges Facing the Team
 * DICE’s Requirements for a Central Logging Solution
 * Datadog Log Management and the Battlefield V Beta
 * Logging Without Limits™ to the Rescue
 * Changing the Culture of Observability




ABOUT EA DICE

EA Digital Illusions CE AB (EA DICE) is a video game development company based
in Stockholm, Sweden. The company was founded in 1992 and has been a subsidiary
of Electronic Arts since 2006. Its releases include the Battlefield, Mirror’s
Edge, and Star Wars Battlefront series. The Battlefield series alone has been
played by over 50 million people around the world. The latest PlayStation 4
version of Battlefield V sold 110,653 copies in Japan during its first week of
release.

--------------------------------------------------------------------------------


KEY RESULTS

12B LOG EVENTS

DICE is able to cost-effectively ingest and index high volumes of logs each day
with Datadog.

10M PLAYERS AT ONCE

Battlefield has a global fan base that eagerly waits for every release, so DICE
must be able to handle traffic peaks in the first 48 hours post-launch.

 USER ADOPTION

Datadog’s easy-to-use UI, coupled with its intuitive search syntax and short
learning curve, has helped increase user adoption among DICE’s engineers.

--------------------------------------------------------------------------------


CHALLENGE

EA DICE was preparing for the scale of traffic they expected following
Battlefield V’s beta launch. They wanted to plan the launch to ensure stability
and low latency and be confident that their customers could enjoy the new game
with no interruptions.



--------------------------------------------------------------------------------


WHY DATADOG?

DICE has long used Datadog to collect and monitor custom metrics. To prepare for
this launch event, they adopted Datadog Log Management so they could seamlessly
correlate infrastructure health with logs across their tech stack. Datadog’s
scalable Log Management solution allowed DICE to send millions of logs per
minute while prioritizing high-value ones. This was done cost-effectively,
without any additional overhead for running and maintaining a separate logging
system.

--------------------------------------------------------------------------------


BATTLEFIELD V OPEN BETA: LIFELINES DON’T APPLY TO GAME SERVERS

David Rohr was monitoring the beta launch of Battlefield V with increasing
intensity. This was a stress test in more ways than one. As a veteran of the
gaming industry, Rohr knew that the beta launch of a new game is always a
critical event. In the case of a AAA title like Battlefield, one of DICE’s most
successful releases of all time, the beta is often more stressful than the main
launch. Millions of dollars of investment and multiple years of work by hundreds
of people went into creating a game that’s visually stunning with incredible
audio and sound effects—the production quality matches that of a big-budget
Hollywood film. The pressure to launch successfully is intense.

Battlefield has a global fan base that eagerly waits for every release. Every
feature, every level, every nuance of the game attracts discussion and debate.
The game itself is a virtual battlefield, where 64 players compete in teams to
fight for control over key locations using tactics, strategy, and situational
awareness. AAA titles such as Battlefield have an aggressive launch period,
since traffic peaks in the first 48 hours post-launch, often with upwards of 10
million users, which is why the stages preceding the main launch typically
involve a lot of load testing.


GAME SERVER MONITORING CHALLENGES FACING THE TEAM

As the lead engineer for the game server team, Rohr has a ringside view of the
action. His team is directly responsible for the player experience. Their first
challenge was preparing for the scale and peak traffic in the hours following
the game’s beta launch. The alpha release is usually designed to ensure that the
game functions as desired; the beta, on the other hand, is specifically intended
for load testing. If DICE does their homework correctly, the load pattern during
the beta should help to stress test the game, ensuring that the main launch,
which follows the beta, is boring and uneventful from an engineering standpoint.

The second challenge was finding and fixing issues that affected the performance
of the game and the experience for the players during the beta. This included
technical aspects like server stability, latency levels, and matchmaking (having
a minimum number of players in each squad, on opposite sides, to initiate a
game) as well as gameplay – weapon balancing, progression, and other aspects
that need to be optimized to make the game as fun as possible. With the high
number of concurrent players, the publicity and media attention of a
high-profile AAA release, and the sky-high expectations from avid fans of the
series, it was the perfect storm for the DICE engineering team. However DICE had
just begun using Datadog’s Log Management platform—the ideal observability
solution to diagnose and deal with these challenges.


DICE’S REQUIREMENTS FOR A CENTRAL LOGGING SOLUTION

DICE was a longstanding customer of Datadog, having started with Infrastructure
Monitoring in 2013. Their primary focus was on making great games;
infrastructure monitoring and custom metrics were tools that helped the DICE
engineers make their games better.

The game server team was continually on the lookout for a central log management
solution to complement their infrastructure monitoring with Datadog, and they
had evaluated a number of logging solutions. From the outset, they were only
interested in a solution that could provide insight into their logs without
their team needing to run and maintain the logging system or incur any other
overhead. A second requirement was finding a cost-effective logging solution for
game server monitoring due to the large volume of logs. Finally, they wanted a
logging solution that integrated with everything in their tech stack.

DICE’s infrastructure is 100% on the cloud and completely Linux-based. They run
everything using orchestration services such as Mesos and Apache Aurora. The
game server architecture uses Amazon EC2 instances with custom dynamic scaling
extensions to AWS. It depends on myriad backend services and microservices,
including connections to MySQL, Cassandra, Redis, Amazon RDS, and Amazon S3
storage services.


DATADOG LOG MANAGEMENT AND THE BATTLEFIELD V BETA

When Datadog announced its Log Management solution in March 2018, the DICE
engineering team quickly started a trial, during the closed alpha of Battlefield
V. To set up log collection, they just had to add two lines of code to the same
Datadog Agent that they were already running. Rohr quickly realized the benefit
of having metrics and logs in the same monitoring platform: “The unification and
seamless correlation helped my team find issues that we never would have found
without Datadog logs; being able to get more insight into our game’s performance
or diagnose issues that needed more details to troubleshoot was of tremendous
value”. Having seen the value during the alpha, it was a simple decision to
continue using Datadog Log Management for the beta of Battlefield V.

A crucial aspect of Datadog’s architecture is that logs are parsed on ingestion,
not at query time, so users can search through billions of logs and quickly find
the logs that matter to them. The ability to search on the fly meant that DICE’s
engineers finally had the ability to become more proactive with their
troubleshooting using logs, rather than reacting to issues only when they
surfaced via other indicators. According to Rohr, “If my team needed even more
context, they could easily just add that to their logs and we would instantly
have searchable data. This meant that we could solve many issues long before
they caused any issues to the players.”

During the beta, DICE anticipated that log volumes would exceed 12 billion log
events per day. The cost of indexing such a high volume of logs would have been
prohibitive with traditional logging tools. And even if the tools they had tried
previously could handle the influx cost-effectively, DICE’s engineers had found
that those tools had a steep learning curve and lacked correlation capabilities,
leading to poor user adoption. However Datadog had an answer to DICE’s log
management woes.

> “ Initially you have to prepare for the worst case with a AAA title beta
> launch. It’s easier when you have a monitoring solution that can scale with
> you; it helps my team to be better prepared for the worst to happen on day
> one.”
> 
> David Rohr
> Lead Engineer, DICE


LOGGING WITHOUT LIMITS™ TO THE RESCUE

Datadog’s solution decouples log ingestion and log indexing, thereby enabling
DICE to collect all their logs and bring them into Datadog, without any fear of
incurring an expensive log management bill. DICE’s engineers did not have to
filter their logs upfront or remove any of the log content since neither the
size of the log files nor the daily peak ingested volume affected their indexing
costs with Datadog. This incentivized DICE’s engineers to add more context or
metadata to their logs that could help them when they were troubleshooting
incidents.

Many high-volume logs, such as NGINX logs, debug logs, or browser logs,
fluctuate in value depending on the circumstances. Logging without Limits™
provided the DICE engineers with a simple solution for such logs; using
exclusion filters in the Datadog UI, they could easily enable or disable
indexing for specific types of log data without needing to redeploy their game
servers. During the beta, for instance, debug logs were initially excluded since
their exceedingly high volume created a lot of noise but not much value.
However, when they encountered a matchmaking issue, the game server team found
it tough to test or replicate the issue with bots. The engineers turned to logs
to find an answer to the matchmaking problem. By flipping the switch and
indexing debug logs during the middle of the beta, they were able to analyze and
identify the root cause of the problem, and implement a fix within a couple of
hours. This ability to dynamically choose whether to index a log (or not) using
exclusion filters further solidified Datadog’s value.

The DICE engineering team also loved the tightly coupled integrations between
metrics and logs. They had been using tags extensively to categorize their
metrics; the ability to use the same tags for logs made the platform efficient
for troubleshooting and enabled seamless correlation between metrics and logs.
That meant less context switching and manual work for the game server team: they
could search through millions of logs and quickly find the specific logs that
caused a spike in a metric or just the ones that were related to a matchmaking
issue. And Datadog’s easy-to-use UI, which allows for intuitive search and
filtering with tags and facets instead of a complex query language, helped to
increase user adoption.

DICE’s engineers were able to resolve a number of bugs and scaling challenges
during the beta of Battlefield V by using Datadog and the power of Logging
without Limits™. This ultimately paved the way for a successful general release
three months later in November 2018.


CHANGING THE CULTURE OF OBSERVABILITY

According to Rohr, “Our older tools for gathering and searching logs were very
rudimentary. It usually started with being reactive to an issue, and then trying
to find a specific server that had more information, which usually meant
downloading full logs and doing advanced ‘grep’ searches.” This method was
cumbersome and time-consuming, which meant that people avoided having contact
with logs in production outside of specific issues. As a result, only a few
people in the organization actually knew how to access and use the log data.
“Logs were used mainly as a local debug tool by developers,” he says. “Once the
servers hit production, most of the data was quite hidden from developers, which
meant that they didn’t pay a lot of attention to the content in the logs and
couldn’t really correlate issues.”

Once the developers had access to searchable logs within Datadog, a new world
opened up where they could easily search and find anomalies. This led to a
natural shift in their logging behavior: developers started to clean up log
files and remove irrelevant fields. More importantly, they started adding and
enriching their log files with contextual data and fields that would make a big
difference at the time of troubleshooting. This led to a change in the culture
of observability at DICE—now logs are often their first source to evaluate how
games are performing, especially when millions of players are involved in a
game. It has made their troubleshooting workflow more efficient—some of the
issues that would have taken weeks of searching are now identified and resolved
within a matter of hours. With the successful launch and general release of
Battlefield V, Datadog Log Management has become an indispensable tool for the
DICE engineering team, and is now an integral part of their monitoring and
troubleshooting workflow for other titles such as Star Wars Battlefront II.

> “ Datadog log management helps us see things that we didn’t even know were
> broken. It helps us identify issues, see how severe they are, how often they
> occur and then fix them effectively. These are crucial learnings for us from
> an observability standpoint because we are always striving to make our systems
> and our teams better.”
> 
> David Rohr
> Lead Engineer, DICE




RESOURCES

guide

Log Management & Analytics Product Brief

Log Management
Data-driven
Performance
Log Analytics

testimonial

TERMINALFOUR

Resolving client issues faster with Datadog Log Management

Logs
Observability
Logs
Logging
Cloud
Collaboration
Correlate
Datadog
Devops
Incident
Response
Monitoring
Observability
Performance
SaaS
Visualization
Log Management
Log Analytics
Unified

BLOG

Generate metrics from your logs to view historical trends and track SLOs

feature
log management

View All Related Resources


Free Trial

Download mobile app




Product


Features Infrastructure Monitoring Container Monitoring NPM NDM Serverless Cloud
Cost Management Cloudcraft Log Management Sensitive Data Scanner APM Error
Tracking Continuous Profiler Data Streams Monitoring Database Monitoring CI
Pipeline Visibility Test Visibility & Intelligent Test Runner Service Catalog
Dynamic Instrumentation Universal Service Monitoring
Browser Real User Monitoring Mobile Real User Monitoring Synthetic Monitoring
Continuous Testing Session Replay Software Composition Analysis Application
Security Management Cloud Security Management Cloud SIEM Bits AI Workflow
Automation CoScreen Dashboards Watchdog Alerts Incident Management Integrations
API Case Management


Resources


Pricing Documentation Support Learning Center Certification Open Source
Resources Webinars Security Privacy Center Knowledge Center Learning Resources


About


Contact Us Partners Press Leadership Careers
Legal Investor Relations Analyst Reports ESG Report Vendor Help


Blog


The Monitor Engineering
Pup Culture Security Labs



Icon/world Created with Sketch.  日本語

© Datadog 2024 Terms  |  Privacy  | 
Cookie Preferences

REQUEST A PERSONALIZED DEMO WITH A DATADOG ENGINEER

×
*
First Name*




*
Last Name*




*
Business Email*




*
Company*




*
Job Title*




*
Phone Number




*
How are you currently monitoring your infrastructure and applications?

















By submitting this form, you agree to the Privacy Policy and Cookie Policy.







Request a Demo

Get Started with Datadog




WE VALUE YOUR PRIVACY
We use cookies and similar technologies ("Cookies") to provide and improve our
services and for marketing, as outlined in our Privacy Policy and Cookie Policy.
By clicking "Accept All," you agree that you consent to our use of Cookies.
MANAGE CHOICES ACCEPT ALL REJECT ALL
Privacy Policy
Powered by: