Skip to content

RUM-10726: Add more info about mobile sdk benchmarking #30301

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

aleksandr-gringauz
Copy link

@aleksandr-gringauz aleksandr-gringauz commented Jul 7, 2025

What does this PR do? What is the motivation?

We want to add some more info about how we benchmark our SDKs.

Merge instructions

Merge readiness:

  • Ready for merge

For Datadog employees:

Your branch name MUST follow the <name>/<description> convention and include the forward slash (/). Without this format, your pull request will not pass CI, the GitLab pipeline will not run, and you won't get a branch preview. Getting a branch preview makes it easier for us to check any issues with your PR, such as broken links.

If your branch doesn't follow this format, rename it or create a new branch and PR.

[6/5/2025] Merge queue has been disabled on the documentation repo. If you have write access to the repo, the PR has been reviewed by a Documentation team member, and all of the required checks have passed, you can use the Squash and Merge button to merge the PR. If you don't have write access, or you need help, reach out in the #documentation channel in Slack.

Additional notes

@aleksandr-gringauz aleksandr-gringauz added the WORK IN PROGRESS No review needed, it's a wip ;) label Jul 7, 2025
Copy link
Contributor

github-actions bot commented Jul 7, 2025

📝 Documentation Team Review Required

This pull request requires approval from the @DataDog/documentation team before it can be merged.

Please ensure your changes follow our documentation guidelines and wait for a team member to review and approve your changes.

@aleksandr-gringauz aleksandr-gringauz force-pushed the aleksandr-gringauz/RUM-10726/add-info-about-benchmarking branch 2 times, most recently from 79a07c1 to d09bbb1 Compare July 7, 2025 12:12
@github-actions github-actions bot added the Architecture Everything related to the Doc backend label Jul 7, 2025
@aleksandr-gringauz aleksandr-gringauz force-pushed the aleksandr-gringauz/RUM-10726/add-info-about-benchmarking branch from d09bbb1 to c9089fa Compare July 8, 2025 15:44
@aleksandr-gringauz aleksandr-gringauz marked this pull request as ready for review July 8, 2025 15:57
@aleksandr-gringauz aleksandr-gringauz requested a review from a team as a code owner July 8, 2025 15:57
@aleksandr-gringauz aleksandr-gringauz removed the WORK IN PROGRESS No review needed, it's a wip ;) label Jul 8, 2025
@aliciascott aliciascott assigned aliciascott and rtrieu and unassigned aliciascott Jul 8, 2025
@aliciascott
Copy link
Contributor

Hi @aleksandr-gringauz , I started reviewing this one, however, I would feel more comfortable if our RUM docs writer reviewed this since it's in her area, and she will have more context here, and is back from PTO tomorrow.
I've created a card for @rtrieu to take a look!

@aliciascott aliciascott added the editorial review Waiting on a more in-depth review label Jul 8, 2025
Copy link
Contributor

@rtrieu rtrieu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @aleksandr-gringauz, thank you for this PR! I like where this is going. Is there anything actionable users can do to monitor or improve performance that we can add to this doc? Also can rename the file performance_overhead.md to sdk_performance_impact? I'm thinking it's slightly more user friendly, but let me know if you think otherwise or have other suggestions.

@@ -7524,6 +7524,11 @@ menu:
parent: rum_mobile_android
identifier: rum_mobile_android_troubleshooting
weight: 110
- name: Performance overhead
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- name: Performance overhead
- name: SDK Performance Impact

@@ -0,0 +1,32 @@
---
title: Performance overhead
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
title: Performance overhead
title: SDK Performance Impact

title: Performance overhead
description: Learn about how SDK impacts performance of your application.
aliases:
- /real_user_monitoring/mobile_and_tv_monitoring/performance_overhead/android
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- /real_user_monitoring/mobile_and_tv_monitoring/performance_overhead/android

---
title: Performance overhead
description: Learn about how SDK impacts performance of your application.
aliases:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This parameter is really for previously existing pages that have been moved.

Suggested change
aliases:

@@ -0,0 +1,32 @@
---
title: Performance overhead
description: Learn about how SDK impacts performance of your application.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
description: Learn about how SDK impacts performance of your application.
description: Learn about how the SDK impacts performance of your application.


## Continuous benchmarks

We also have an internal infrastructure of continuous benchmarking. There is an internal set of ui tests that run on a special benchmark application for every change made to the sdk. This way we are able to detect performance regression early and don't allow the corresponding changes to be included in the following release.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
We also have an internal infrastructure of continuous benchmarking. There is an internal set of ui tests that run on a special benchmark application for every change made to the sdk. This way we are able to detect performance regression early and don't allow the corresponding changes to be included in the following release.
Datadog has an internal infrastructure of continuous benchmarking. There is an internal set of UI tests that run on a special benchmark application for every change made to the SDK. This way Datadog is able to detect performance regression early to ensure that they are prevented from reaching production releases.

text: Explore Real User Monitoring
---

## Performance overhead measurements
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
## Performance overhead measurements
## Overview

---

## Performance overhead measurements

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
When integrating any SDK into your Android application, understanding its performance impact is crucial for maintaining a smooth user experience. The Datadog RUM SDK is designed with performance in mind and provides transparent measurements to help you make informed decisions.


## Performance overhead measurements

You can read the following pages with detailed explanation of how we measure performance overhead of the SDK: [Android][1], [iOS][2].
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
You can read the following pages with detailed explanation of how we measure performance overhead of the SDK: [Android][1], [iOS][2].
You can read the following pages with detailed explanation of how we measure performance overhead of the SDK: [Android][1], [iOS][2]. These resources include specific metrics, benchmarks, and real-world performance data to help you understand exactly how the SDK affects your app's performance.

@@ -36,8 +36,13 @@ To minimize the total upload volume, Datadog employs a highly optimized wire for
## Application size
Datadog's SDK follows strict standards and aims to minimize the inclusion of third-party dependencies. This approach ensures that the SDK leverages as much native framework code as possible. On Android, the binary size produced by Datadog's own code in the AAR package is 480 kB. See more information on the application size impact [here][1]. On iOS, the size of exported `*.ipa` file will be higher by approximately 200 kB.

## Benchmarks
For more detailed description of how Session Replay performance overhead was measured you can visit the following pages: [Android][2], [iOS][3].
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
For more detailed description of how Session Replay performance overhead was measured you can visit the following pages: [Android][2], [iOS][3].
For a more detailed description of how Session Replay performance overhead was measured, see the following pages: [Android][2], [iOS][3].

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Architecture Everything related to the Doc backend editorial review Waiting on a more in-depth review
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants