Skip to content

Merge develop into feature/heatmaps#3415

Merged
jonathanmos merged 285 commits into
feature/heatmapsfrom
develop
May 5, 2026
Merged

Merge develop into feature/heatmaps#3415
jonathanmos merged 285 commits into
feature/heatmapsfrom
develop

Conversation

@jonathanmos

@jonathanmos jonathanmos commented May 5, 2026

Copy link
Copy Markdown
Member

What does this PR do?

Bring feature/heatmaps branch up-to-date with changes in develop

Motivation

What inspired you to submit this pull request?

Additional Notes

Anything else we should know when reviewing?

Review checklist (to be filled by reviewers)

  • Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
  • Make sure you discussed the feature or bugfix with the maintaining team in an Issue
  • Make sure each commit and the PR mention the Issue number (cf the CONTRIBUTING doc)

hamorillo and others added 30 commits March 4, 2026 09:49
[RUM-14471] Add predicate to filter Activities for TTID reporting
…auto-subscribe

RUM-14471: Auto-forward TTID to next activity for interstitial pattern
…nContentActivity resume

Apply the same CountDownLatch/ActivityLifecycleCallbacks pattern used in other startup
tests to eliminate the race condition where MainContentActivity reaches RESUMED before
the test begins asserting RUM events.
….7.0_to_develop

Backmerge `release 3.7.0` to `develop`
…flaky-test

[RUM-14471] Fix flaky AppStartupActivityPredicateTest
RUM-13454: Reverting deprecated classes back to preserve backward compatibility
…ure/release-3.7.1-develop

# Conflicts:
#	buildSrc/src/main/kotlin/com/datadog/gradle/config/AndroidConfig.kt
…evelop

Merging `Release 3.7.1` into `develop`
…d-trip tests

Root cause: 11 test files used assertThat(result).isEqualTo(result) instead of
actually comparing the deserialized result against the original input, making
the tests tautological (always passing regardless of correctness).

Changes:
- Replace self-referential assertions with JSON string comparison
- assertThat(result.toJson().toString()).isEqualTo(json) validates
  that JSON survives a full round-trip through fromJson()/toJson()

Tests: 11 test files fixed across 4 modules (core, rum, logs, trace)
Verified: core (PASS), logs (PASS), trace (PASS), rum (BLOCKED by pre-existing compile error)

Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
…ed-internal-logger-utils

RUM-14720[Guild]: Migrating to unified `InternalLoggerUtils`
…ion-skill

Add Claude skill: android-sdk-event-inspection
Extend FixedWindowCallback instead of using try-catch overrides, matching
the pattern established in PR #2800. Add compileOnly dependency on
dd-sdk-android-rum to access FixedWindowCallback.
Move FixedWindowCallback from dd-sdk-android-rum to dd-sdk-android-internal
(package com.datadog.android.internal.utils) so it can be reused by
session-replay without depending on the whole RUM module.
…d-basic-ai-tooling

RUM-14903: Add basic AI dev tooling
…le-verification-metadata

Add Play SDK console verification token to new modules
…callback-null-menu-crash-v2

Fix RecorderWindowCallback crash on null menu parameter

Co-authored-by: nguyexua <[email protected]>
0xnm and others added 23 commits April 24, 2026 09:03
…enovate/assertj

chore(deps): update dependency org.assertj:assertj-core to v3.27.7 [security]
RUM-15139: Use rebased sessionReplaySampleRate for deterministic Session Replay sampling
Update DatadogInterceptorWithoutRumTest to verify the new
reportNetworkingLibraryType(LEGACY_OKHTTP) interaction on rumMonitor
— it is now emitted from DatadogInterceptor.onSdkInstanceReady, so
verifyNoMoreInteractions was failing. Also normalise an import order
in DatadogInterceptorTest picked up by detekt.

Ref: RUM-15682
…eature-operations-apis

RUM-15914: Drop word feature from operations APIs
…ongThreadException

Make sure RumAppStartupDetector.destroy is called on main thread
…legacy-telemetry

RUM-15682: Support legacy okhttp network telemetry
…sponseInfo

Add request to HttpResponseInfo.kt
…ders-common-instrumentation

RUM-14784: Network headers common instrumentation
…etry

Add telemetry to trackResourceHeaders instrumentation
Fix evaluation intake endpoint path

Co-authored-by: typotter <[email protected]>
@jonathanmos
jonathanmos marked this pull request as ready for review May 5, 2026 08:39
@jonathanmos
jonathanmos requested review from a team as code owners May 5, 2026 08:39
@jonathanmos
jonathanmos merged commit 917611f into feature/heatmaps May 5, 2026
34 checks passed

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 59711b65aa

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

.applyAnnotations(annotations)
.also {
it.addRequestAnnotation(requestInfo)
it.addRequestAnnotation(buildResourceId(requestInfo, generateUuid = true))

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Preserve Cronet UUIDs for resource matching

When RUM is enabled without a distributed tracing state (for example RUM-only Cronet instrumentation or untraced hosts), startResource creates a ResourceId with a fresh UUID from the request info, but this code only stores a ResourceId annotation on the Cronet request rather than a UUID tag the later CronetHttpRequestInfo can return. The finish listener then calls stopResource with a key-only ResourceId, so two in-flight Cronet requests with the same method/url/body signature both match that stop event and can be finalized with the same response/timing.

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.