Prev Next

Tools / Datadog Interview questions

Explain the execution flow of a RUM session being recorded and ingested?

When a page loads (or a mobile app launches), the RUM SDK initializes and starts a new session, generating a unique session ID that will tag every event produced during that session's lifetime.

As the user interacts with the app - navigating pages, clicking, waiting on network requests - the SDK captures each of these as structured RUM events (view, action, resource, error) locally, buffering them rather than sending each one individually as it happens.

If the backend is also instrumented with Datadog APM (or OpenTelemetry ingested by Datadog), the SDK injects trace context into outgoing network requests, allowing the resulting backend trace to be linked back to the specific RUM session and view that triggered it.

The SDK periodically flushes its buffered events to Datadog's RUM intake over HTTPS, batching them to reduce request overhead rather than making a network call per individual event; if Session Replay is enabled, DOM snapshots and mutations are captured and sent through a related but separate replay pipeline.

Once ingested, RUM events are subject to Datadog's own retention/sampling rules for RUM (which can differ from APM's), and a default cross-product retention filter can additionally guarantee that traces for a small percentage of sessions remain indexed on the APM side, so a given session's user-facing view and its backend trace can both actually be inspected together.

sequenceDiagram
  participant SDK as RUM SDK (browser/mobile)
  participant App as Backend service (APM)
  participant DD as Datadog RUM intake
  SDK->>SDK: Init session, generate session ID
  SDK->>SDK: Capture view/action/resource/error events
  SDK->>App: Network request (trace context injected)
  App-->>SDK: Response
  SDK->>DD: Periodic batched flush of buffered events
  DD->>DD: Apply RUM sampling/retention, cross-product APM link
The RUM SDK links a session to a backend APM trace by:
RUM events are typically sent to Datadog:

Invest now in Acorns!!! 🚀 Join Acorns and get your $5 bonus!
Acorns Logo

Invest now in Acorns!!! 🚀
Join Acorns and get your $5 bonus!

Earn passively and while sleeping

Acorns is a micro-investing app that automatically invests your "spare change" from daily purchases into diversified, expert-built portfolios of ETFs. It is designed for beginners, allowing you to start investing with as little as $5. The service automates saving and investing. Disclosure: I may receive a referral bonus.

Robinhood Logo

Invest now!!! Get Free equity stock (US, UK only)!

Use Robinhood app to invest in stocks. It is safe and secure. Use the Referral link to claim your free stock when you sign up!.

The Robinhood app makes it easy to trade stocks, crypto and more.


Webull Logo

Webull! Receive free stock by signing up using the link: Webull signup.

More Related questions...

What is Real User Monitoring (RUM) in Datadog? What is Datadog Database Monitoring? What is Network Performance Monitoring in Datadog? What is Datadog Serverless Monitoring? Describe the Datadog Cluster Agent? What is Datadog CI Visibility? What is Datadog Error Tracking? What is Continuous Profiler in Datadog? Describe Datadog Incident Management? What is Datadog Cloud Cost Management? What are API keys and application keys in Datadog? What is the Datadog Terraform provider used for? What is an outlier monitor in Datadog? What is a forecast monitor in Datadog? What is the Datadog Service Catalog? Define OpenTelemetry support in Datadog? What is an Agent flare in Datadog? What is Sensitive Data Scanner in Datadog? Describe Datadog Workflow Automation? What is Application Security Management in Datadog? What is the difference between API keys and application keys? How does the Cluster Agent differ from the node-level Datadog Agent? Why do we use monitor mute/downtime instead of deleting a monitor? What is the difference between Error Tracking and standard log-based error monitoring? How does Datadog's Continuous Profiler collect data without high overhead? When should you use an outlier monitor versus a threshold monitor? What is the difference between a process monitor and a network monitor in Datadog? How does Datadog ingest OpenTelemetry data? Why is Metrics without Limits useful for cost control? What happens when Sensitive Data Scanner detects a match? How does Datadog's Cloud Cost Management attribute spend? When should you use APM trace retention filters versus sampling rules? What is the difference between Service Level Indicators and Service Level Objectives? How does Fleet Automation manage Agent upgrades across a fleet? Why is the Service Catalog important for large engineering organizations? What is the difference between mobile RUM and browser RUM? How does log rehydration work from Datadog archives? When should you use dashboards-as-code instead of the UI editor? Explain the execution flow of a RUM session being recorded and ingested? How can you optimize APM costs using retention filters? How do you troubleshoot a Database Monitoring integration reporting no query metrics? Explain the internal working of Cloud Workload Security (CWS)? How can you optimize Kubernetes monitoring using the Cluster Agent's Cluster Checks? Explain the lifecycle of an incident in Datadog Incident Management? Which is better for reducing MTTR: Watchdog RCA or manual root cause analysis, and why? How do you troubleshoot missing spans from an OpenTelemetry-instrumented service? Explain the execution flow of Sensitive Data Scanner across logs and APM? How can you optimize serverless monitoring for Lambda cold starts? Explain the internal working of Datadog's remote configuration feature? How do you troubleshoot inconsistent cost attribution in Cloud Cost Management?
Show more question and Answers...

Golang

Comments & Discussions