Reject histogram bucket count length changes#18865
Conversation
|
🚀 Dogfood this PR with:
curl -fsSL https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.sh | bash -s -- 18865Or
iex "& { $(irm https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.ps1) } 18865" |
There was a problem hiding this comment.
Pull request overview
Rejects histogram points whose bucket-count length changes within a dimension series, preventing chart calculation failures while preserving valid telemetry.
Changes:
- Validates bucket-count length before storing histogram points.
- Adds regression coverage for rejecting incompatible points.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
DimensionScope.cs |
Rejects incompatible histogram bucket lengths. |
MetricsTests.cs |
Tests acceptance and rejection counts and retained data. |
This comment has been minimized.
This comment has been minimized.
|
Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt. |
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Tests selector (audit mode)The full test matrix and all jobs still run in audit mode. The tests and jobs below are what selective CI would run under enforcement. 7 / 100 test projects · 4 jobs, from 2 changed files. Selected test projects (7 / 100)
Selected jobs (4)
How these were chosen — grouped by what changed🔧 📦 affected project 🧪 Job reasons
Selection computed for commit |
|
Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt. |
Description
Malformed histogram telemetry can contain different bucket-count lengths for points in the same instrument and dimension series. The dashboard previously stored both points, then failed while calculating chart data because cumulative histogram values could not be compared across different bucket layouts.
Reject histogram data points when their bucket-count length changes within a series. The valid points already stored for the series remain available, so viewing the instrument no longer fails because of the rejected point.
Add a telemetry repository regression test that sends two individually valid histogram points with different bucket layouts and verifies that only the first point is accepted and stored.
Validation
Fixes # (issue)
Checklist
<remarks />and<code />elements on your triple slash comments?