Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions config/_default/menus/main.en.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7689,6 +7689,11 @@ menu:
parent: rum_mobile_ios
identifier: rum_mobile_ios_supported_versions
weight: 110
- name: SDK Performance Impact
url: real_user_monitoring/application_monitoring/ios/sdk_performance_impact
parent: rum_mobile_ios
identifier: rum_mobile_ios_performance_overhead
weight: 111
- name: Flutter
url: real_user_monitoring/application_monitoring/flutter
parent: application_monitoring
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,7 @@ When integrating any SDK into your Android application, understanding its perfor

## Performance impact benchmarks

### Android SDK

To simulate the typical usage of the Datadog SDK, it was integrated into the [Docile-Alligator/Infinity-For-Reddit][5] application and typical user behavior (in other words, scrolling the feed, browsing subreddits) was simulated.
To simulate the typical usage of the Datadog SDK, it was integrated into the [Docile-Alligator/Infinity-For-Reddit][3] application and typical user behavior (in other words, scrolling the feed, browsing subreddits) was simulated.

The following SDK modules were added to the application:

Expand All @@ -44,40 +42,16 @@ Below are the results of the measurements.

You can read the following [page][1] for more details about these benchmarks.

### iOS SDK

To simulate the typical usage of Datadog SDK, it was integrated into the [Beam][6] application and typical user behavior (scrolling the feed, browsing reddits) was simulated.

The SDK features that were used:
1. Basic RUM instrumentation for tracking views, actions, and resources
2. Logging
3. Tracing

Below are the results of the measurements.

| Measurement | with SDK | without SDK |
|-------------------|---------------------------------|-------------|
| Peak CPU Usage | 44% | 40% |
| Peak Memory Usage | 72.4 MB | 67.96 MB |
| App startup time | 0.894 ms | 0.649 ms |
| 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][2] for more details about these benchmarks.

## 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.

You can find the source code of the benchmark app here: [Android][3], [iOS][4].
See the [benchmark app source code][2].

## Further Reading

{{< partial name="whats-next/whats-next.html" >}}

[1]: https://github.com/DataDog/dd-sdk-android/blob/develop/docs/sdk_performance.md
[2]: https://github.com/DataDog/dd-sdk-ios/blob/develop/docs/sdk_performance.md
[3]: https://github.com/DataDog/dd-sdk-android/tree/develop/sample/benchmark
[4]: https://github.com/DataDog/dd-sdk-ios/tree/develop/BenchmarkTests
[5]: https://github.com/Docile-Alligator/Infinity-For-Reddit
[6]: https://github.com/awkward/beam
[2]: https://github.com/DataDog/dd-sdk-android/tree/develop/sample/benchmark
[3]: https://github.com/Docile-Alligator/Infinity-For-Reddit
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
---
title: SDK Performance Impact
description: Learn about how the SDK impacts performance of your application.
aliases:
- /real_user_monitoring/mobile_and_tv_monitoring/ios/sdk_performance_impact
further_reading:
- link: https://github.com/DataDog/dd-sdk-ios
tag: "Source Code"
text: dd-sdk-ios Source code
- link: /real_user_monitoring
tag: Documentation
text: Explore Real User Monitoring
---

## 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 minimal performance overhead. Use these benchmarks to evaluate whether the SDK fits your app's performance budget and plan your integration accordingly.

## Performance impact benchmarks

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.

The SDK features used:
1. Basic RUM instrumentation for tracking views, actions, and resources
2. Logging
3. Tracing

Below are the results of the measurements.

| Measurement | with SDK | without SDK |
|-------------------|---------------------------------|-------------|
| Peak CPU Usage | 44% | 40% |
| Peak Memory Usage | 72.4 MB | 67.96 MB |
| App startup time | 0.894 ms | 0.649 ms |
| Bundle size | 23.6 MB | 22.2 MB |
| Network usage | 21.88 KB sent, 1.68 KB received | n/a |

See the [SDK performance details on GitHub][2] for more information.

## Continuous benchmarks

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.

See the [benchmark app's source code on GitHub][3].

## Further Reading

{{< partial name="whats-next/whats-next.html" >}}

[1]: https://github.com/awkward/beam
[2]: https://github.com/DataDog/dd-sdk-ios/blob/develop/docs/sdk_performance.md
[3]: https://github.com/DataDog/dd-sdk-ios/tree/develop/BenchmarkTests
Loading