-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
base: master
Are you sure you want to change the base?
RUM-10726: Add more info about mobile sdk benchmarking #30301
Conversation
📝 Documentation Team Review RequiredThis 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. |
Preview links (active after the
|
79a07c1
to
d09bbb1
Compare
d09bbb1
to
c9089fa
Compare
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. |
There was a problem hiding this 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 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- name: Performance overhead | |
- name: SDK Performance Impact |
@@ -0,0 +1,32 @@ | |||
--- | |||
title: Performance overhead |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- /real_user_monitoring/mobile_and_tv_monitoring/performance_overhead/android |
--- | ||
title: Performance overhead | ||
description: Learn about how SDK impacts performance of your application. | ||
aliases: |
There was a problem hiding this comment.
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.
aliases: |
@@ -0,0 +1,32 @@ | |||
--- | |||
title: Performance overhead | |||
description: Learn about how SDK impacts performance of your application. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
## Performance overhead measurements | |
## Overview |
--- | ||
|
||
## Performance overhead measurements | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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]. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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]. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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]. |
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:
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