Skip to content

chore(antithesis): Differential comparison between ADP and Datadog Agent context egress - #1891

Merged
blt merged 1 commit into
mainfrom
blt/diffeq_--_only_context
Jul 7, 2026
Merged

chore(antithesis): Differential comparison between ADP and Datadog Agent context egress#1891
blt merged 1 commit into
mainfrom
blt/diffeq_--_only_context

Conversation

@blt

@blt blt commented Jun 18, 2026

Copy link
Copy Markdown
Contributor

Summary

This commit introduces a 'differential' scenario to the antithesis scenario bank.
The approach here is to continuously compute the symmetric difference between
the set of ADP and Datadog Agent context egress sets, more details inline in the
scenario README. This does not yet assert that the counts are accurate, merely
that both SUTs egress the same contexts at some point. This commit was big enough,
I figured I'd add that sort of thing in a later line of work.

Change Type

  • Bug fix
  • New feature
  • Non-functional (chore, refactoring, docs)
  • Performance

How did you test this PR?

References

@dd-octo-sts dd-octo-sts Bot added the area/test All things testing: unit/integration, correctness, SMP regression, etc. label Jun 18, 2026
@datadog-datadog-prod-us1-2

This comment has been minimized.

@pr-commenter

pr-commenter Bot commented Jun 18, 2026

Copy link
Copy Markdown

Binary Size Analysis (Agent Data Plane)

Baseline: 92cb9bd · Comparison: 1b94f06 · diff
Analysis Configuration: stripped binaries · Pass/Fail Threshold: +5%
Sizes: 41.68 MiB (baseline) vs 41.68 MiB (comparison)
Size Change: +0 B (+0.00%)

✅ Binary size difference within threshold

Changes by Module
Module File Size Symbols
anon.c332a4a573d0a9a1bf7c71b0a1f57672.1.llvm.12523433973039676265 -130 B 1
anon.c332a4a573d0a9a1bf7c71b0a1f57672.1.llvm.2395351858007373644 +129 B 1
anon.c332a4a573d0a9a1bf7c71b0a1f57672.4.llvm.12523433973039676265 -115 B 1
anon.c332a4a573d0a9a1bf7c71b0a1f57672.4.llvm.2395351858007373644 +114 B 1
anon.c332a4a573d0a9a1bf7c71b0a1f57672.3.llvm.12523433973039676265 -109 B 1
anon.c332a4a573d0a9a1bf7c71b0a1f57672.3.llvm.2395351858007373644 +108 B 1
anon.c332a4a573d0a9a1bf7c71b0a1f57672.0.llvm.12523433973039676265 -97 B 1
anon.c332a4a573d0a9a1bf7c71b0a1f57672.0.llvm.2395351858007373644 +96 B 1
anon.c332a4a573d0a9a1bf7c71b0a1f57672.2.llvm.12523433973039676265 -95 B 1
anon.c332a4a573d0a9a1bf7c71b0a1f57672.2.llvm.2395351858007373644 +94 B 1
[Unmapped] +5 B 1
Detailed Symbol Changes
    FILE SIZE        VM SIZE    
 --------------  -------------- 
  [NEW]    +129  [NEW]     +40    anon.c332a4a573d0a9a1bf7c71b0a1f57672.1.llvm.2395351858007373644
  [NEW]    +114  [NEW]     +25    anon.c332a4a573d0a9a1bf7c71b0a1f57672.4.llvm.2395351858007373644
  [NEW]    +108  [NEW]     +19    anon.c332a4a573d0a9a1bf7c71b0a1f57672.3.llvm.2395351858007373644
  [NEW]     +96  [NEW]      +7    anon.c332a4a573d0a9a1bf7c71b0a1f57672.0.llvm.2395351858007373644
  [NEW]     +94  [NEW]      +5    anon.c332a4a573d0a9a1bf7c71b0a1f57672.2.llvm.2395351858007373644
  +0.1%      +5  [ = ]       0    [Unmapped]
  [DEL]     -95  [DEL]      -5    anon.c332a4a573d0a9a1bf7c71b0a1f57672.2.llvm.12523433973039676265
  [DEL]     -97  [DEL]      -7    anon.c332a4a573d0a9a1bf7c71b0a1f57672.0.llvm.12523433973039676265
  [DEL]    -109  [DEL]     -19    anon.c332a4a573d0a9a1bf7c71b0a1f57672.3.llvm.12523433973039676265
  [DEL]    -115  [DEL]     -25    anon.c332a4a573d0a9a1bf7c71b0a1f57672.4.llvm.12523433973039676265
  [DEL]    -130  [DEL]     -40    anon.c332a4a573d0a9a1bf7c71b0a1f57672.1.llvm.12523433973039676265
  [ = ]       0  [ = ]       0    TOTAL

@blt
blt force-pushed the blt/diffeq_--_only_context branch from 87401a9 to 790b0a1 Compare June 18, 2026 21:33
@blt
blt force-pushed the blt/move_antithesis_deploy_to_scenarios_general branch from 8eb47bd to f4e1e05 Compare June 18, 2026 21:34
@blt
blt force-pushed the blt/diffeq_--_only_context branch from 790b0a1 to cda6b84 Compare June 18, 2026 21:34
@pr-commenter

pr-commenter Bot commented Jun 18, 2026

Copy link
Copy Markdown

Regression Detector (Agent Data Plane)

Run ID: bbfd4ade-a7ec-4b3f-94dc-386f703c83a1
Baseline: 92cb9bda · Comparison: 1b94f062 · diff

Optimization Goals: ✅ No significant changes detected

Fine details of change detection per experiment (5)

Experiments configured erratic: true are tagged (ignored) and skipped when determining which experiments regressed or improved. Experiments which are detected as erratic at runtime are tagged (erratic) to flag that the run's sample dispersion was high, but their regression / improvement signal still counts.

experiment goal Δ mean % links
quality_gates_rss_dsd_medium memory ⚪ +0.34 metrics profiles logs
quality_gates_rss_dsd_low memory ⚪ +0.17 metrics profiles logs
quality_gates_rss_dsd_ultraheavy memory ⚪ -0.03 metrics profiles logs
quality_gates_rss_dsd_heavy memory ⚪ -0.04 metrics profiles logs
quality_gates_rss_idle memory ⚪ -0.05 metrics profiles logs
Bounds Checks: ✅ Passed (5)
experiment check replicates observed links
quality_gates_rss_dsd_heavy memory_usage 10/10 ✅ 132 MiB ≤ 140 MiB metrics profiles logs
quality_gates_rss_dsd_low memory_usage 10/10 ✅ 43.1 MiB ≤ 50 MiB metrics profiles logs
quality_gates_rss_dsd_medium memory_usage 10/10 ✅ 64.8 MiB ≤ 75 MiB metrics profiles logs
quality_gates_rss_dsd_ultraheavy memory_usage 10/10 ✅ 191 MiB ≤ 200 MiB metrics profiles logs
quality_gates_rss_idle memory_usage 10/10 ✅ 29.1 MiB ≤ 40 MiB metrics profiles logs
Explanation

A change is flagged as a regression when |Δ mean %| > 5.00% in the regressing direction for its optimization goal AND SMP marks the experiment as a regression (is_regression: true). Improvements use the matching criteria for the improving direction. Experiments configured erratic: true (tagged (ignored)) are skipped outright; experiments detected as erratic at runtime (tagged (erratic)) still count, since that flag describes sample dispersion rather than directional certainty. The Δ mean % cell is colored accordingly: 🟢 = improvement, 🔴 = regression, ⚪ = neutral. Reduction in CPU or memory is an improvement; reduction in ingress throughput is a regression.

@blt
blt changed the base branch from blt/move_antithesis_deploy_to_scenarios_general to graphite-base/1891 June 18, 2026 22:58
@blt
blt force-pushed the graphite-base/1891 branch from f4e1e05 to 03f2c03 Compare June 18, 2026 22:58
@blt
blt force-pushed the blt/diffeq_--_only_context branch from cda6b84 to b0895d9 Compare June 18, 2026 22:58
@blt
blt changed the base branch from graphite-base/1891 to blt/refactor_antithesis_intake_http June 18, 2026 22:58
@blt
blt force-pushed the blt/diffeq_--_only_context branch 2 times, most recently from 82c6e40 to f0e828a Compare June 18, 2026 23:27
@blt
blt force-pushed the blt/refactor_antithesis_intake_http branch from 03f2c03 to cb55618 Compare June 18, 2026 23:27
@blt
blt changed the base branch from blt/refactor_antithesis_intake_http to graphite-base/1891 June 18, 2026 23:39
@blt
blt force-pushed the blt/diffeq_--_only_context branch from f0e828a to a76a3d1 Compare June 18, 2026 23:40
@blt
blt changed the base branch from graphite-base/1891 to blt/antithesis_intake_datadog_endpoints June 18, 2026 23:40
@blt
blt force-pushed the blt/diffeq_--_only_context branch from a76a3d1 to db3a661 Compare June 22, 2026 18:48
@blt
blt force-pushed the blt/antithesis_intake_datadog_endpoints branch 2 times, most recently from a20bc37 to d7c3986 Compare June 22, 2026 19:05
@blt
blt force-pushed the blt/diffeq_--_only_context branch 2 times, most recently from 6b700ac to 32a0637 Compare June 22, 2026 20:58
@blt
blt force-pushed the blt/antithesis_intake_datadog_endpoints branch from d7c3986 to ac2e0a0 Compare June 22, 2026 20:58
@blt
blt force-pushed the blt/diffeq_--_only_context branch from 32a0637 to c88e400 Compare June 22, 2026 23:27
@blt
blt force-pushed the blt/antithesis_intake_datadog_endpoints branch from ac2e0a0 to 8077839 Compare June 22, 2026 23:27
@blt
blt force-pushed the blt/diffeq_--_only_context branch from 8d4a9ef to 2291f5a Compare June 26, 2026 16:12
@blt
blt force-pushed the blt/chore_antithesis_adjust_how_host_tags_are_checked_transmitted branch from 55ba0bc to e04ff3e Compare June 26, 2026 17:27
@blt
blt force-pushed the blt/diffeq_--_only_context branch from 2291f5a to 0146358 Compare June 26, 2026 17:27
@blt
blt changed the base branch from blt/chore_antithesis_adjust_how_host_tags_are_checked_transmitted to graphite-base/1891 June 26, 2026 18:12
@blt
blt force-pushed the blt/diffeq_--_only_context branch from 0146358 to 66b9e71 Compare June 26, 2026 21:12
@blt
blt force-pushed the graphite-base/1891 branch from e04ff3e to e839e5a Compare June 26, 2026 21:12
@blt
blt changed the base branch from graphite-base/1891 to blt/chore_antithesis_generate_configs_for_scenario_purposes June 26, 2026 21:12
@blt
blt changed the base branch from blt/chore_antithesis_generate_configs_for_scenario_purposes to graphite-base/1891 June 30, 2026 01:17
@blt
blt force-pushed the blt/diffeq_--_only_context branch from 66b9e71 to ce908ea Compare June 30, 2026 01:17
Comment thread bin/correctness/stele/src/metrics.rs Outdated

Copilot AI 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.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@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: ec4e0fba14

ℹ️ 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".

Comment thread test/antithesis/scenarios/differential/agent-entrypoint.sh Outdated
Comment thread test/antithesis/scenarios/differential/docker-compose.yaml Outdated
Comment thread Makefile Outdated

Copilot AI 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.

Pull request overview

Copilot reviewed 41 out of 42 changed files in this pull request and generated 4 comments.

Comment thread test/antithesis/intake/src/capture.rs Outdated
Comment thread test/antithesis/intake/README.md Outdated
Comment thread test/antithesis/scenarios/differential/README.md Outdated
Comment thread test/antithesis/scenarios/differential/README.md

Copilot AI 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.

Pull request overview

Copilot reviewed 41 out of 42 changed files in this pull request and generated 6 comments.

Comment thread test/antithesis/intake/src/bin/intake.rs
Comment thread test/antithesis/intake/src/http/datadog/metrics.rs
Comment thread test/antithesis/intake/README.md Outdated
Comment thread test/antithesis/intake/README.md Outdated
Comment thread test/antithesis/scenarios/differential/README.md Outdated
Comment thread test/antithesis/scenarios/differential/README.md

Copilot AI 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.

Pull request overview

Copilot reviewed 41 out of 42 changed files in this pull request and generated 4 comments.

Comment thread test/antithesis/intake/src/bin/intake.rs
Comment thread test/antithesis/intake/src/http/datadog/metrics.rs
Comment thread test/antithesis/scenarios/differential/README.md
Comment thread test/antithesis/scenarios/differential/README.md

@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: 76a96d20e4

ℹ️ 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".

Copilot AI 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.

Pull request overview

Copilot reviewed 41 out of 42 changed files in this pull request and generated 2 comments.

Comment thread test/antithesis/intake/src/capture.rs
Comment thread test/antithesis/intake/src/bin/intake.rs
This draft PR introduces a new differential equivalence scenario focused
only on context totals for now. There's enough change in here that I will
pull alterations down-stack, more to come later.
Comment thread Makefile
Comment on lines 22 to +218
@@ -38,7 +41,7 @@ endif
export ADP_STANDALONE_IPC_CERT_FILE := /tmp/adp-ipc-cert.pem

# macOS integration-test settings.
MACOS_TEST_AGENT_VERSION ?= 7.80.4
MACOS_TEST_AGENT_VERSION ?= 7.80.3
MACOS_TEST_AGENT_DMG_DIR ?= /tmp/saluki-dda-dmg-cache
MACOS_TEST_AGENT_DMG_URL ?= https://s3.amazonaws.com/dd-agent/datadog-agent-$(MACOS_TEST_AGENT_VERSION)-1.$(shell uname -m).dmg
MACOS_TEST_AGENT_INSTALL_DIR ?= /tmp/saluki-dda/datadog-agent
@@ -201,6 +204,7 @@ build-datadog-agent-image: build-adp-image ## Builds the converged Datadog Agent
@docker build \
--tag saluki-images/datadog-agent:testing-devel \
--tag local.dev/saluki-images/datadog-agent:testing-devel \
--build-arg "DD_AGENT_VERSION=$(DATADOG_AGENT_VERSION)-full" \
--build-arg ADP_IMAGE=saluki-images/agent-data-plane:testing-devel \
--file ./docker/Dockerfile.datadog-agent \
.
@@ -211,6 +215,7 @@ build-datadog-agent-image-release: build-adp-image-release ## Builds the converg
@docker build \
--tag saluki-images/datadog-agent:testing-release \
--tag local.dev/saluki-images/datadog-agent:testing-release \
--build-arg "DD_AGENT_VERSION=$(DATADOG_AGENT_VERSION)-full" \

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

While I don't think this change is wrong, per se -- and in some ways, it's better than the status quo -- we've been moving to have our dependency update stuff actually update the references directly so we can phase out needing .datadog-agent-version at all which is somewhat disconnected/lossy... so I don't want to propagate its usage unless there's a particular reason.

(The unsaid part here is that DD_AGENT_VERSION should already default to <version>-full in docker/Dockerfile.datadog-agent where <version> is the value in .datadog-agent-version... so I'm confused on why this was needed at all.)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Ah, this would just be confusion on my part then. Will repair.

blt commented Jul 7, 2026

Copy link
Copy Markdown
Contributor Author

Merge activity

  • Jul 7, 12:33 PM UTC: @blt merged this pull request with Graphite.

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

Labels

area/test All things testing: unit/integration, correctness, SMP regression, etc.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants