chore(antithesis): Add two new Pyld properties#1960
Conversation
|
Warning This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
This stack of pull requests is managed by Graphite. Learn more about stacking. |
|
Binary Size Analysis (Agent Data Plane)Baseline: 92cb9bd · Comparison: 490d1fa · diff ✅ Binary size difference within thresholdChanges by Module
Detailed Symbol Changes |
Regression Detector (Agent Data Plane)Run ID: Optimization Goals: ✅ No significant changes detectedFine details of change detection per experiment (5)Experiments configured
Bounds Checks: ✅ Passed (5)
ExplanationA 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 ( |
80c02ec to
2f2246a
Compare
0a357bc to
deb7e08
Compare
d82dd16 to
8696828
Compare
deb7e08 to
1f8a3ea
Compare
8696828 to
7f923d5
Compare
1f8a3ea to
2a839ad
Compare
7f923d5 to
ba11f8a
Compare
2a839ad to
69323dd
Compare
ba11f8a to
7830217
Compare
69323dd to
26b381d
Compare
7830217 to
3ddec3a
Compare
26b381d to
2e26224
Compare
There was a problem hiding this comment.
Pull request overview
Adds two new /api/v2/series intake model properties to the Antithesis intake validator to enforce tag-size limits consistent with intake guidelines.
Changes:
- Introduce constants for per-tag length and per-series total tagset size caps (Pyld23/Pyld24).
- Add two new
MetricSeriesproperty assertions (tag_length,tag_set_size) and execute them during series evaluation. - Document the new properties in the intake README property table.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
test/antithesis/intake/src/series_observation.rs |
Wires the new per-series property checks into the series evaluation pipeline. |
test/antithesis/intake/src/properties/payload/series.rs |
Implements Pyld23 (per-tag byte cap) and Pyld24 (per-series total tag bytes cap). |
test/antithesis/intake/src/properties/payload/constants.rs |
Adds spec-derived constants for the new caps. |
test/antithesis/intake/README.md |
Updates the documented property list to include Pyld23 and Pyld24. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
2e26224 to
6af5693
Compare
3ddec3a to
e676f37
Compare
This commit adds two new properties to the intake model: * Pyld23 -- per-tag byte cap * Pyld24 -- per-series total tagset byte cap Not terribly complicated code and I've set the constants to conform to intake guidelines.
6af5693 to
5943dc3
Compare
e676f37 to
490d1fa
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 490d1faa4b
ℹ️ 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".
| | Pyld23 | MetricSeries | Tag Length | each tag `<= 200` bytes (`MaxTagLength`) | | ||
| | Pyld24 | MetricSeries | Tag Set Size | total tag bytes per series `<= 100 KiB` (`MaxTagSetSize`) | |
There was a problem hiding this comment.
Keep the scratchbook catalog in sync
Adding Pyld23/Pyld24 changes the Antithesis property catalog, but test/antithesis/scratchbook/w-property-intake.md still says the intake covers W1-W22 and calls that the full set; test/antithesis/AGENTS.md says the scratchbook must be kept up to date as Antithesis-related decisions change. This leaves run triage/catalog documentation inconsistent with the assertions now firing.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 490d1faa4b
ℹ️ 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".
| let over = ms | ||
| .tags | ||
| .iter() | ||
| .map(String::len) |
There was a problem hiding this comment.
Count tag length in characters
When a metric tag contains multi-byte Unicode, this measures UTF-8 bytes rather than the tag length Datadog documents as a 200-character limit while allowing Unicode tags (docs). The DogStatsD parser accepts valid UTF-8 tags, so a 200-character Japanese tag can be emitted in-domain but will have observed > 200 here and incorrectly fail Pyld23.tag_length; count characters instead, or make the property explicitly byte-based only if that is the intended invariant.
Useful? React with 👍 / 👎.

Summary
This commit adds two new properties to the intake model:
Not terribly complicated code and I've set the constants to conform to
intake guidelines.
Change Type
How did you test this PR?
References