-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Split RUM SDK performance impact docs #32685
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?
Split RUM SDK performance impact docs #32685
Conversation
Preview links (active after the
|
aleksandr-gringauz
left a comment
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.
Thanks for fixing this!
rtrieu
left a comment
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.
thanks for this PR! left some feedback and suggestions for your review. i'm going to make a commit to add the ios sdk performance impact page to the left nav.
| 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. | ||
|
|
||
| You can find the source code of the benchmark app here: [Android][3], [iOS][4]. | ||
| You can find the source code of the benchmark app [here][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 find the source code of the benchmark app [here][2]. | |
| See the [benchmark app source code][2]. |
| | Bundle size | 23.6 MB | 22.2 MB | | ||
| | Network usage | 21.88 KB sent, 1.68 KB received | n/a | | ||
|
|
||
| You can read the following [page][1] for more details about these benchmarks. |
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 [page][1] for more details about these benchmarks. | |
| See the [SDK performance details on GitHub][2] for more information. |
|
|
||
| ## Continuous benchmarks | ||
|
|
||
| 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. |
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.
| 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. | |
| Datadog has an internal infrastructure of continuous benchmarking. UI tests run automatically on a benchmark application for every SDK change. This enables Datadog to detect performance regressions early to ensure that they are prevented from reaching production releases. |
|
|
||
| ## Performance impact benchmarks | ||
|
|
||
| To simulate the typical usage of Datadog SDK, it was integrated into the [Beam][3] application and typical user behavior (scrolling the feed, browsing reddits) was simulated. |
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.
| To simulate the typical usage of Datadog SDK, it was integrated into the [Beam][3] application and typical user behavior (scrolling the feed, browsing reddits) was simulated. | |
| To simulate the typical usage of Datadog SDK, it was integrated into the [Beam][1] application and typical user behavior (scrolling the feed, browsing subreddits) was simulated. |
|
|
||
| To simulate the typical usage of Datadog SDK, it was integrated into the [Beam][3] application and typical user behavior (scrolling the feed, browsing reddits) was simulated. | ||
|
|
||
| The SDK features that were used: |
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.
| The SDK features that were used: | |
| The SDK features used: |
|
|
||
| {{< partial name="whats-next/whats-next.html" >}} | ||
|
|
||
| [2]: https://github.com/DataDog/dd-sdk-ios/blob/develop/docs/sdk_performance.md |
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.
| [2]: https://github.com/DataDog/dd-sdk-ios/blob/develop/docs/sdk_performance.md | |
| [1]: https://github.com/awkward/beam |
| {{< partial name="whats-next/whats-next.html" >}} | ||
|
|
||
| [2]: https://github.com/DataDog/dd-sdk-ios/blob/develop/docs/sdk_performance.md | ||
| [4]: https://github.com/DataDog/dd-sdk-ios/tree/develop/BenchmarkTests |
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.
| [4]: https://github.com/DataDog/dd-sdk-ios/tree/develop/BenchmarkTests | |
| [2]: https://github.com/DataDog/dd-sdk-ios/blob/develop/docs/sdk_performance.md |
|
|
||
| [2]: https://github.com/DataDog/dd-sdk-ios/blob/develop/docs/sdk_performance.md | ||
| [4]: https://github.com/DataDog/dd-sdk-ios/tree/develop/BenchmarkTests | ||
| [3]: https://github.com/awkward/beam |
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.
| [3]: https://github.com/awkward/beam | |
| [3]: https://github.com/DataDog/dd-sdk-ios/tree/develop/BenchmarkTests |
|
|
||
| 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. | ||
|
|
||
| You can find the source code of the benchmark app [here][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 find the source code of the benchmark app [here][2]. | |
| See the [benchmark app's source code on GitHub][3]. |
|
|
||
| ## Overview | ||
|
|
||
| When integrating any SDK into your iOS 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. |
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 iOS 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. | |
| When integrating any SDK into your iOS application, understanding its performance impact is crucial for maintaining a smooth user experience. The Datadog RUM SDK is designed with minimal performance overhead. Use these benchmarks to evaluate whether the SDK fits your app's performance budget and plan your integration accordingly. |
What does this PR do? What is the motivation?
The RUM SDK Benchmark Docs used to be nested under the Android section, while it covers both our Android and iOS SDKs. This PR fixes this by splitting the docs in two pages, one that stays under the Android section, and the other that moves to iOS.
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