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
53 changes: 53 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,56 @@
# 3.6.0 / 2026-01-27

* [FEATURE] New feature - Profiling. See [docs](https://docs.datadoghq.com/real_user_monitoring/correlate_with_other_telemetry/profiling/) for more details.
- Create profiling module. See [#2893](https://github.com/DataDog/dd-sdk-android/pull/2893)
- Integrate Perfetto `ProfilingManager` API. See [#2902](https://github.com/DataDog/dd-sdk-android/pull/2902)
- Create Profiling Event schema. See [#2912](https://github.com/DataDog/dd-sdk-android/pull/2912)
- Implement Profiling writer and request factory. See [#2915](https://github.com/DataDog/dd-sdk-android/pull/2915)
- Implement Profiling Feature. See [#2918](https://github.com/DataDog/dd-sdk-android/pull/2918)
- Send TTID event to Profiling feature to stop profiling. See [#2933](https://github.com/DataDog/dd-sdk-android/pull/2933)
- Defer `requestProfiling` to next app launch. See [#2950](https://github.com/DataDog/dd-sdk-android/pull/2950)
- Add file size in profiling telemetry & fix unit test. See [#2964](https://github.com/DataDog/dd-sdk-android/pull/2964)
- Rename `ProfilingEvent` to `ProfileEvent`. See [#2969](https://github.com/DataDog/dd-sdk-android/pull/2969)
- Add missing `ProfileEvent` tags. See [#2992](https://github.com/DataDog/dd-sdk-android/pull/2992)
- Attach RUM information on profiling event. See [#3017](https://github.com/DataDog/dd-sdk-android/pull/3017)
- Add profiling status in RUM vital event. See [#3021](https://github.com/DataDog/dd-sdk-android/pull/3021)
- Handle multi SDK instance in profiling. See [#3026](https://github.com/DataDog/dd-sdk-android/pull/3026)
- Fix RUM context bundling for `ProfileEvent`. See [#3036](https://github.com/DataDog/dd-sdk-android/pull/3036)
- Reduce Profiling max duration to 10 seconds. See [#3040](https://github.com/DataDog/dd-sdk-android/pull/3040)
- Add build ID in profiling event tags. See [#3046](https://github.com/DataDog/dd-sdk-android/pull/3046)
- Add `Profiling.profileNextAppStartup` API. See [#3045](https://github.com/DataDog/dd-sdk-android/pull/3045)
- Fix `null` build ID in profile event tags. See [#3059](https://github.com/DataDog/dd-sdk-android/pull/3059)=
- Add `ProfilingFragment` into Sample Application. See [#3074](https://github.com/DataDog/dd-sdk-android/pull/3074)
- Rebuild profiling request for every profiling start. See [#3076](https://github.com/DataDog/dd-sdk-android/pull/3076)
- Initialize Profiler only once for multiple start calls. See [#3081](https://github.com/DataDog/dd-sdk-android/pull/3081)
- Expose Profiling start/stop as public API. See [#3092](https://github.com/DataDog/dd-sdk-android/pull/3092)
- Address concurrency and app start detection issues in Profiling. See [#3117](https://github.com/DataDog/dd-sdk-android/pull/3117)
- Remove `profileNextAppStartup` API. See [#3121](https://github.com/DataDog/dd-sdk-android/pull/3121)
- Add sample rate for App launch profiling. See [#3109](https://github.com/DataDog/dd-sdk-android/pull/3109)
- Set profiling sampling rate to 15%, improve profiling logic. See [#3127](https://github.com/DataDog/dd-sdk-android/pull/3127)
- Add `operation:launch` tag for profiling. See [#3133](https://github.com/DataDog/dd-sdk-android/pull/3133)
- Update Profiling App launch telemetry. See [#3134](https://github.com/DataDog/dd-sdk-android/pull/3134)
- Add experimental annotation on Profiling APIs & Bug fix. See [#3143](https://github.com/DataDog/dd-sdk-android/pull/3143)
- Update Profiler sampling frequency to 201Hz. See [#3148](https://github.com/DataDog/dd-sdk-android/pull/3148)
- Remove custom profiling from public API. See [#3152](https://github.com/DataDog/dd-sdk-android/pull/3152)
* [FEATURE] Flags compatibility with OpenFeature
- Scaffold OpenFeature provider module. See [#2996](https://github.com/DataDog/dd-sdk-android/pull/2996)
- Add OpenFeature type conversion utilities. See [#3103](https://github.com/DataDog/dd-sdk-android/pull/3103)
- OpenFeature Provider implementation powered by Datadog Flags. See [#2998](https://github.com/DataDog/dd-sdk-android/pull/2998)
- Add OpenFeature Flags to test app. See [#3130](https://github.com/DataDog/dd-sdk-android/pull/3130)
* [BUGFIX] Mark fatal ANR as processed before RUM events are written. See [#3129](https://github.com/DataDog/dd-sdk-android/pull/3129)
* [IMPROVEMENT] Flags: State change notification for flags client (for OpenFeature). See [#3042](https://github.com/DataDog/dd-sdk-android/pull/3042)
* [IMPROVEMENT] Flags: Resolve map of primitives. See [#3044](https://github.com/DataDog/dd-sdk-android/pull/3044)
* [IMRPOVEMENT] Flags: Add support for global flags via `EvaluationContext.EMPTY`. See [#3104](https://github.com/DataDog/dd-sdk-android/pull/3104)
* [IMPROVEMENT] Flags: Add `STATIC` resolution reason. See [#3131](https://github.com/DataDog/dd-sdk-android/pull/3131)
* [IMPROVEMENT] Add `setVersion` method to the configuration. See [#3137](https://github.com/DataDog/dd-sdk-android/pull/3137)
* [MAINTENANCE] Update Kotlin AST parser dependency version. See [#3112](https://github.com/DataDog/dd-sdk-android/pull/3112)
* [MAINTENANCE] Skip profiling schema files in session replay module. See [#3119](https://github.com/DataDog/dd-sdk-android/pull/3119)
* [MAINTENANCE] Refactor publishing on CI to use a single job. See [#3122](https://github.com/DataDog/dd-sdk-android/pull/3122)
* [MAINTENANCE] Use a single gradle command for `customDetektRules`. See [#3123](https://github.com/DataDog/dd-sdk-android/pull/3123)
* [MAINTENANCE] Drop `Rum` prefix for the generated `Vital` models. See [#3125](https://github.com/DataDog/dd-sdk-android/pull/3125)
* [MAINTENANCE] Move `:tools:benchmark` tests to the correct package. See [#3150](https://github.com/DataDog/dd-sdk-android/pull/3150)
* [DOCS] Use Kotlin DSL for buildscript snippets in `README` files. See [#3138](https://github.com/DataDog/dd-sdk-android/pull/3138)

# 3.5.0 / 2026-01-08

* [FEATURE] RUM Debug Widget. See [#2943](https://github.com/DataDog/dd-sdk-android/pull/2943)
Expand Down
2 changes: 0 additions & 2 deletions features/dd-sdk-android-profiling/api/apiSurface
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,6 @@ class com.datadog.android.profiling.DdProfilingContentProvider : android.content
annotation com.datadog.android.profiling.ExperimentalProfilingApi
object com.datadog.android.profiling.Profiling
fun enable(ProfilingConfiguration = ProfilingConfiguration.DEFAULT, com.datadog.android.api.SdkCore = Datadog.getInstance())
fun start(android.content.Context, com.datadog.android.api.SdkCore = Datadog.getInstance())
fun stop(com.datadog.android.api.SdkCore = Datadog.getInstance())
data class com.datadog.android.profiling.ProfilingConfiguration
class Builder
fun setApplicationLaunchSampleRate(Float): Builder
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,6 @@ public final class com/datadog/android/profiling/Profiling {
public static final fun enable (Lcom/datadog/android/profiling/ProfilingConfiguration;)V
public static final fun enable (Lcom/datadog/android/profiling/ProfilingConfiguration;Lcom/datadog/android/api/SdkCore;)V
public static synthetic fun enable$default (Lcom/datadog/android/profiling/ProfilingConfiguration;Lcom/datadog/android/api/SdkCore;ILjava/lang/Object;)V
public final fun start (Landroid/content/Context;Lcom/datadog/android/api/SdkCore;)V
public static synthetic fun start$default (Lcom/datadog/android/profiling/Profiling;Landroid/content/Context;Lcom/datadog/android/api/SdkCore;ILjava/lang/Object;)V
public final fun stop (Lcom/datadog/android/api/SdkCore;)V
public static synthetic fun stop$default (Lcom/datadog/android/profiling/Profiling;Lcom/datadog/android/api/SdkCore;ILjava/lang/Object;)V
}

public final class com/datadog/android/profiling/ProfilingConfiguration {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ object Profiling {
* @param sdkCore SDK instance to start profiling with. If not provided, default SDK instance.
*/
@RequiresApi(Build.VERSION_CODES.VANILLA_ICE_CREAM)
fun start(context: Context, sdkCore: SdkCore = Datadog.getInstance()) {
internal fun start(context: Context, sdkCore: SdkCore = Datadog.getInstance()) {
start(context, setOf(sdkCore.name))
}

Expand All @@ -84,7 +84,7 @@ object Profiling {
*
* @param sdkCore SDK instance to stop profiling. If not provided, default SDK instance.
*/
fun stop(sdkCore: SdkCore = Datadog.getInstance()) {
internal fun stop(sdkCore: SdkCore = Datadog.getInstance()) {
profiler.stop(sdkCore.name)
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,6 @@ internal class HomeFragment :
R.id.navigation_crash -> R.id.fragment_crash
R.id.navigation_traces -> R.id.fragment_trace
R.id.navigation_otel_traces -> R.id.fragment_otel_traces
R.id.navigation_profiling -> R.id.fragment_profiling
R.id.navigation_vitals -> R.id.fragment_vitals
R.id.navigation_webview -> R.id.fragment_webview
R.id.navigation_data_list -> R.id.fragment_data_list
Expand Down

This file was deleted.

Loading
Loading