Add Android/Robolectric visibility to Test Optimization spans#11852
Conversation
This comment has been minimized.
This comment has been minimized.
🟢 Java Benchmark SLOs — All performance SLOs passed
PR vs. master results
Commit: Load and DaCapo benchmarks can be triggered manually in the GitLab pipeline. Results will appear in the Benchmarking Platform UI after completion. |
4d4dc9e to
1b228ee
Compare
There was a problem hiding this comment.
More details
PR adds Android/Robolectric test visibility by instrumenting TestEnvironment.setUpApplicationState() to capture SDK metadata (API level, release, codename, Robolectric version) and emit a new IsAndroidEmulated boolean metric. All defensive null checks are in place, parameter ordering to the TEST_EVENT_FINISHED metric matches the enum exactly, and the Robolectric JAR version extraction regex is correctly implemented. Test validation includes both @RunWith(RobolectricTestRunner.class) and @RunWith(AndroidJUnit4.class) runners with expected API 34 artifacts.
📊 Validated against 7 scenarios · Open Bits AI session
🤖 Datadog Autotest · Commit 30cee80 · What is Autotest? · Any feedback? Reach out in #autotest
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 30cee80829
ℹ️ 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".
30cee80 to
729666d
Compare
|
/merge |
|
View all feedbacks in Devflow UI.
The expected merge time in
|
0d23385
into
master
Automated integration-authoring pass on rxjava-3.0, produced against the draft skill in #11927 (which was in-tree on the target checkout at generation time — using the skill-loading precedence fix from the 2026-07-13 HTTP cycle correction). Reference for #11927 reviewers to see concrete output the current skill draft produces. Not intended to be merged as-is. Base: master @ 05671ce (rebased from original bd134f3; the original branch inherited a stash-merge revert of #11852 during eval branch setup that dropped DD_TRACE_ROBOLECTRIC_ENABLED from metadata plus 172 unrelated files. This rebased version cherry-picks ONLY the rxjava-3.0 module output onto current master, preserving all unrelated upstream changes.) Cost: \$43.23, wall time ~3.5h, reviewer approved with 0 todos remaining. Diff scope: dd-java-agent/instrumentation/rxjava/rxjava-3.0/ only. Metadata: no change (all rxjava3 entries already present on master).
…skill Automated integration-authoring pass on reactor-core-3.1, produced against the draft skill in #11927. Reference for #11927 reviewers to see concrete output the current skill draft produces. Not intended to be merged as-is. Base: master @ 05671ce (rebased from original 2e1d2b9; the original branch inherited a stash-merge revert of #11852 during eval branch setup that dropped DD_TRACE_ROBOLECTRIC_ENABLED from metadata plus 172 unrelated files. This rebased version cherry-picks ONLY the reactor-core-3.1 module output onto current master, preserving all unrelated upstream changes.) Cost: \$13, reviewer approved with 0 todos remaining. Diff scope: dd-java-agent/instrumentation/reactor-core-3.1/ only. Metadata: no change (all reactor entries already present on master). Note: the toolkit reorganized the package layout from 'datadog.trace.instrumentation.reactor.core' (master) to 'datadog.trace.instrumentation.reactorcore' (eval). This is a regen-preservation Rule #2 concern; documented for reviewer consideration.
What Does This Do
test.android.api_leveltest.android.releasetest.android.codenametest.android.robolectric.versionis_android_emulatedboolean field on thetest_event_finishedtelemetry metric.GradleDaemonSmokeTesttest to validate the new instrumentation and tagging. It covers both@RunWith(RobolectricTestRunner.class)and@RunWith(AndroidJUnit4.class).Motivation
With Android tests already being supported OOTB, these changes provide better visibility for customers using the Robolectric framework.
Additional Notes
test-environment-trigger: skip
Contributor Checklist
type:and (comp:orinst:) labels in addition to any other useful labelsclose,fix, or any linking keywords when referencing an issueUse
solvesinstead, and assign the PR milestone to the issue/merge. You can also:/merge --commit-message "..."/merge -c/merge -f --reason "reason"; please use this judiciously, as some checks do not run at the PR-level (note: the PR still needs to be mergeable, this will only skip the pre-merge build)Jira ticket: SDTEST-3887 [SDTEST-3888] [SDTEST-3889]