Skip to content

[WIP] antithesis sdk assertions in SUT#1785

Draft
blt wants to merge 1 commit into
blt/dogstatsd-load-generationfrom
blt/antithesis_sdk_assertions_in_SUT
Draft

[WIP] antithesis sdk assertions in SUT#1785
blt wants to merge 1 commit into
blt/dogstatsd-load-generationfrom
blt/antithesis_sdk_assertions_in_SUT

Conversation

@blt
Copy link
Copy Markdown
Contributor

@blt blt commented Jun 1, 2026

Summary

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 area/core Core functionality, event model, etc. area/io General I/O and networking. area/config Configuration. area/components Sources, transforms, and destinations. area/memory Memory bounds and memory management. source/dogstatsd DogStatsD source. transform/aggregate Aggregate transform. area/test All things testing: unit/integration, correctness, SMP regression, etc. encoder/datadog-metrics Datadog Metrics encoder. labels Jun 1, 2026
Copy link
Copy Markdown
Contributor Author

blt commented Jun 1, 2026

@datadog-datadog-prod-us1
Copy link
Copy Markdown

datadog-datadog-prod-us1 Bot commented Jun 1, 2026

Pipelines

Fix all issues with BitsAI

⚠️ Warnings

🚦 1 Pipeline job failed

Semantic PR Title Check | Check For Semantic PR Title   View in Datadog   GitHub Actions

🛟 This job is unlikely to succeed on retry. Please review your pipeline configuration. No release type found in pull request title '[WIP] antithesis sdk assertions in SUT'.

Useful? React with 👍 / 👎

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: b7e82dd | Docs | Datadog PR Page | Give us feedback!

@blt blt force-pushed the blt/antithesis_sdk_assertions_in_SUT branch from 00e3ec9 to ecd3b63 Compare June 1, 2026 15:33
@blt blt force-pushed the blt/dogstatsd-load-generation branch from a31a487 to abbf74a Compare June 1, 2026 15:33
@pr-commenter
Copy link
Copy Markdown

pr-commenter Bot commented Jun 1, 2026

Binary Size Analysis (Agent Data Plane)

Baseline: 3ebd597 · Comparison: b7e82dd · diff
Analysis Configuration: stripped binaries · Pass/Fail Threshold: +5%
Sizes: 37.93 MiB (baseline) vs 37.86 MiB (comparison)
Size Change: -69.73 KiB (-0.18%)

✅ Binary size difference within threshold

Changes by Module
Module File Size Symbols
figment -21.30 KiB 137
alloc +13.38 KiB 355
prost -12.60 KiB 56
[sections] +8.70 KiB 6
axum -7.09 KiB 167
core +5.44 KiB 1683
tokio -3.86 KiB 921
rustls -3.76 KiB 123
anyhow -3.53 KiB 478
smallvec -3.52 KiB 45
agent_data_plane::components::tag_filterlist +3.37 KiB 10
serde_json -3.26 KiB 31
regex_automata -3.16 KiB 47
serde_core +2.94 KiB 61
anon.acbd287db64895e155c57ba7daeb669a.166.llvm.16512133253778547288 -2.88 KiB 1
anon.d79fab06779a07988ddcf6c4bb681b9d.2.llvm.17162878208440994959 +2.88 KiB 1
anon.36eead261da73468b10600f578de22ed.87.llvm.14046994766694184360 -2.83 KiB 1
anon.3e6c6f3a3fcef07ee51038163cc1c845.1.llvm.669144115502905245 +2.82 KiB 1
[Unmapped] +2.67 KiB 1
tower_layer -2.61 KiB 4
Detailed Symbol Changes
    FILE SIZE        VM SIZE    
 --------------  -------------- 
  +0.9% +9.96Ki  +0.9% +9.96Ki    [section .gcc_except_table]
  [NEW] +5.31Ki  [NEW] +5.22Ki    serde_core::de::MapAccess::next_value::h6c7e2bd7b276bd2a
  [NEW] +3.39Ki  [NEW] +3.16Ki    agent_data_plane::components::tag_filterlist::_::_<impl serde_core::de::Deserialize for agent_data_plane::components::tag_filterlist::MetricTagFilterEntry>::deserialize::h5a46a876d4478d47
  [NEW] +2.88Ki  [NEW]     +74    anon.d79fab06779a07988ddcf6c4bb681b9d.2.llvm.17162878208440994959
  [NEW] +2.82Ki  [NEW]      +2    anon.3e6c6f3a3fcef07ee51038163cc1c845.1.llvm.669144115502905245
  [NEW] +2.74Ki  [NEW]     +61    core::ptr::drop_in_place<std::sync::poison::PoisonError<std::sync::poison::rwlock::RwLockReadGuard<quick_cache::shard::CacheShard<stringtheory::MetaString,core::option::Option<saluki_components::transforms::dogstatsd_mapper::CachedMapResult>,saluki_common::cache::weight::WrappedWeighter<saluki_common::cache::weight::ItemCountWeighter>,foldhash::quality::RandomState,saluki_common::cache::expiry::ExpiryCapableLifecycle<stringtheory::MetaString>,alloc::sync::Arc<quick_cache::sync_placeholder::Placeholder<core::option::Option<saluki_components::transforms::dogstatsd_mapper::CachedMapResult>>>>>>>::hd6eb7be372a46dca
   +49% +2.67Ki  [ = ]       0    [Unmapped]
  [NEW] +2.49Ki  [NEW]     +47    _<http_body_util::combinators::map_err::MapErr<B,F> as http_body::Body>::size_hint::hfe272595dc249f50
  [NEW] +2.18Ki  [NEW]    +315    core::ptr::drop_in_place<tokio::sync::mpsc::bounded::Permit<saluki_components::sources::otlp::OtlpResource>>::hecf5df15bb464562
  [NEW] +2.17Ki  [NEW]    +129    core::ptr::drop_in_place<std::sync::poison::PoisonError<std::sync::poison::rwlock::RwLockWriteGuard<quick_cache::shard::CacheShard<stringtheory::MetaString,core::option::Option<saluki_components::transforms::dogstatsd_mapper::CachedMapResult>,saluki_common::cache::weight::WrappedWeighter<saluki_common::cache::weight::ItemCountWeighter>,foldhash::quality::RandomState,saluki_common::cache::expiry::ExpiryCapableLifecycle<stringtheory::MetaString>,alloc::sync::Arc<quick_cache::sync_placeholder::Placeholder<core::option::Option<saluki_components::transforms::dogstatsd_mapper::CachedMapResult>>>>>>>::h187385bb185312b1
  [DEL] -2.17Ki  [DEL]    -129    core::ptr::drop_in_place<std::sync::poison::PoisonError<std::sync::poison::rwlock::RwLockWriteGuard<quick_cache::shard::CacheShard<alloc::string::String,saluki_components::sources::otlp::metrics::cache::NumberCounter,saluki_common::cache::weight::WrappedWeighter<saluki_common::cache::weight::ItemCountWeighter>,foldhash::quality::RandomState,saluki_common::cache::expiry::ExpiryCapableLifecycle<alloc::string::String>,alloc::sync::Arc<quick_cache::sync_placeholder::Placeholder<saluki_components::sources::otlp::metrics::cache::NumberCounter>>>>>>::ha2722d2910c84a77
  [DEL] -2.18Ki  [DEL]    -315    core::ptr::drop_in_place<tokio::sync::mpsc::bounded::Permit<saluki_core::data_model::event::Event>>::hf0c0974b63562887
  [DEL] -2.48Ki  [DEL]     -47    _<http_body_util::combinators::map_err::MapErr<B,F> as http_body::Body>::size_hint::h40a081afa3634bb0
  [DEL] -2.68Ki  [DEL] -2.53Ki    _<figment::value::magic::RelativePathBuf as figment::value::magic::Magic>::deserialize_from::h9b1a391a2d93154a
  [DEL] -2.73Ki  [DEL]     -61    core::ptr::drop_in_place<std::sync::poison::PoisonError<std::sync::poison::rwlock::RwLockReadGuard<quick_cache::shard::CacheShard<alloc::string::String,saluki_components::sources::otlp::metrics::cache::Extrema,saluki_common::cache::weight::WrappedWeighter<saluki_common::cache::weight::ItemCountWeighter>,foldhash::quality::RandomState,saluki_common::cache::expiry::ExpiryCapableLifecycle<alloc::string::String>,alloc::sync::Arc<quick_cache::sync_placeholder::Placeholder<saluki_components::sources::otlp::metrics::cache::Extrema>>>>>>::hbb3a44cc0e7b09fd
  [DEL] -2.83Ki  [DEL]      -2    anon.36eead261da73468b10600f578de22ed.87.llvm.14046994766694184360
  [DEL] -2.88Ki  [DEL]     -74    anon.acbd287db64895e155c57ba7daeb669a.166.llvm.16512133253778547288
  [DEL] -3.37Ki  [DEL] -3.15Ki    serde_json::value::de::_<impl serde_core::de::Deserializer for serde_json::map::Map<alloc::string::String,serde_json::value::Value>>::deserialize_any::ha280bb6fa79ef472
  [DEL] -3.43Ki  [DEL] -2.28Ki    _<serde_core::de::impls::<impl serde_core::de::Deserialize for core::time::Duration>::deserialize::DurationVisitor as serde_core::de::Visitor>::visit_map::hf0339d22e1400932
  [DEL] -5.04Ki  [DEL] -4.88Ki    _<figment::value::de::ConfiguredValueDe<I> as serde_core::de::Deserializer>::deserialize_struct::h9ff3f08909cfa845
  -0.7% -76.6Ki  -1.0% -84.2Ki    [11438 Others]
  -0.2% -69.7Ki  -0.2% -78.7Ki    TOTAL

@pr-commenter
Copy link
Copy Markdown

pr-commenter Bot commented Jun 1, 2026

Regression Detector (Agent Data Plane)

Run ID: e52c8bed-3612-4d3c-9e91-93d0b101aad2
Baseline: 3ebd5976 · Comparison: b7e82dd3 · diff

Optimization Goals: ✅ No significant changes detected

Fine details of change detection per experiment (35)

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
otlp_ingest_logs_5mb_memory (ignored) memory ⚪ +1.58 metrics profiles logs
otlp_ingest_logs_5mb_cpu (ignored) cpu ⚪ +1.47 metrics profiles logs
dsd_uds_10mb_3k_contexts_cpu (erratic) cpu ⚪ +1.37 metrics profiles logs
otlp_ingest_traces_ottl_filtering_5mb_cpu (erratic) cpu ⚪ +0.67 metrics profiles logs
dsd_uds_100mb_3k_contexts_cpu (erratic) cpu ⚪ +0.53 metrics profiles logs
dsd_uds_500mb_3k_contexts_cpu (erratic) cpu ⚪ +0.38 metrics profiles logs
dsd_uds_512kb_3k_contexts_memory memory ⚪ +0.29 metrics profiles logs
otlp_ingest_traces_5mb_cpu (erratic) cpu ⚪ +0.21 metrics profiles logs
quality_gates_rss_dsd_ultraheavy memory ⚪ +0.11 metrics profiles logs
quality_gates_rss_dsd_medium memory ⚪ +0.08 metrics profiles logs
dsd_uds_500mb_3k_contexts_throughput throughput ⚪ -0.04 metrics profiles logs
otlp_ingest_traces_ottl_filtering_5mb_throughput throughput ⚪ -0.04 metrics profiles logs
otlp_ingest_traces_ottl_transform_5mb_memory memory ⚪ +0.03 metrics profiles logs
dsd_uds_10mb_3k_contexts_throughput throughput ⚪ -0.02 metrics profiles logs
quality_gates_rss_dsd_low memory ⚪ +0.01 metrics profiles logs
otlp_ingest_metrics_5mb_throughput throughput ⚪ -0.00 metrics profiles logs
dsd_uds_512kb_3k_contexts_throughput throughput ⚪ -0.00 metrics profiles logs
dsd_uds_1mb_3k_contexts_throughput throughput ⚪ +0.00 metrics profiles logs
dsd_uds_100mb_3k_contexts_throughput throughput ⚪ +0.00 metrics profiles logs
dsd_uds_500mb_3k_contexts_memory memory ⚪ -0.01 metrics profiles logs
otlp_ingest_logs_5mb_throughput (ignored) throughput ⚪ +0.01 metrics profiles logs
otlp_ingest_traces_5mb_memory memory ⚪ -0.01 metrics profiles logs
otlp_ingest_traces_5mb_throughput throughput ⚪ +0.02 metrics profiles logs
otlp_ingest_traces_ottl_filtering_5mb_memory memory ⚪ -0.11 metrics profiles logs
otlp_ingest_traces_ottl_transform_5mb_throughput throughput ⚪ +0.12 metrics profiles logs
quality_gates_rss_dsd_heavy memory ⚪ -0.19 metrics profiles logs
dsd_uds_100mb_3k_contexts_memory memory ⚪ -0.30 metrics profiles logs
quality_gates_rss_idle memory ⚪ -0.35 metrics profiles logs
dsd_uds_1mb_3k_contexts_memory memory ⚪ -0.48 metrics profiles logs
dsd_uds_10mb_3k_contexts_memory memory ⚪ -0.48 metrics profiles logs
dsd_uds_512kb_3k_contexts_cpu (erratic) cpu ⚪ -0.79 metrics profiles logs
otlp_ingest_metrics_5mb_cpu (erratic) cpu ⚪ -0.80 metrics profiles logs
otlp_ingest_metrics_5mb_memory memory ⚪ -1.78 metrics profiles logs
dsd_uds_1mb_3k_contexts_cpu (erratic) cpu ⚪ -1.78 metrics profiles logs
otlp_ingest_traces_ottl_transform_5mb_cpu (erratic) cpu ⚪ -2.44 metrics profiles logs
Bounds Checks: ✅ Passed (5)
experiment check replicates observed links
quality_gates_rss_dsd_heavy memory_usage 10/10 ✅ 124 MiB ≤ 140 MiB metrics profiles logs
quality_gates_rss_dsd_low memory_usage 10/10 ✅ 39.8 MiB ≤ 50 MiB metrics profiles logs
quality_gates_rss_dsd_medium memory_usage 10/10 ✅ 62.2 MiB ≤ 75 MiB metrics profiles logs
quality_gates_rss_dsd_ultraheavy memory_usage 10/10 ✅ 183 MiB ≤ 200 MiB metrics profiles logs
quality_gates_rss_idle memory_usage 10/10 ✅ 26.8 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 force-pushed the blt/antithesis_sdk_assertions_in_SUT branch from ecd3b63 to bf19619 Compare June 1, 2026 18:17
@blt blt force-pushed the blt/dogstatsd-load-generation branch from abbf74a to bb12c83 Compare June 1, 2026 18:17
@blt blt force-pushed the blt/antithesis_sdk_assertions_in_SUT branch from bf19619 to b7e82dd Compare June 2, 2026 00:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/components Sources, transforms, and destinations. area/config Configuration. area/core Core functionality, event model, etc. area/io General I/O and networking. area/memory Memory bounds and memory management. area/test All things testing: unit/integration, correctness, SMP regression, etc. encoder/datadog-metrics Datadog Metrics encoder. source/dogstatsd DogStatsD source. transform/aggregate Aggregate transform.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant