[CI Visibility] Fix Meta value length.#8749
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 8e01ff862c
ℹ️ 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".
|
|
||
| // MaxMetaValLen the maximum length of metadata value | ||
| internal const int MaxMetaValLen = 25000; | ||
| internal const int MaxMetaValLen = 5000; |
There was a problem hiding this comment.
Reserve room for the truncation suffix
When a meta value is longer than the limit, ProcessMeta first truncates it to MaxMetaValLen and then appends "..."; with this new value, any CI tag/meta value over 5000 ASCII characters is serialized as 5003 characters/bytes, so it still exceeds the backend limit this change is trying to satisfy. The limit needs to account for the suffix (or avoid appending it) before writing the tag value.
Useful? React with 👍 / 👎.
BenchmarksBenchmark execution time: 2026-06-04 17:02:44 Comparing candidate commit 6312633 in PR branch Found 0 performance improvements and 1 performance regressions! Performance is the same for 71 metrics, 0 unstable metrics, 62 known flaky benchmarks, 64 flaky benchmarks without significant changes.
|
andrewlock
left a comment
There was a problem hiding this comment.
The 🤖's comment looks correct, but otherwise LGTM
|
|
||
| // MaxMetaValLen the maximum length of metadata value | ||
| internal const int MaxMetaValLen = 25000; | ||
| internal const int MaxMetaValLen = 5000; |
Execution-Time Benchmarks Report ⏱️Execution-time results for samples comparing This PR (8749) and master. ✅ No regressions detected - check the details below Full Metrics ComparisonFakeDbCommand
HttpMessageHandler
Comparison explanationExecution-time benchmarks measure the whole time it takes to execute a program, and are intended to measure the one-off costs. Cases where the execution time results for the PR are worse than latest master results are highlighted in **red**. The following thresholds were used for comparing the execution times:
Note that these results are based on a single point-in-time result for each branch. For full results, see the dashboard. Graphs show the p99 interval based on the mean and StdDev of the test run, as well as the mean value of the run (shown as a diamond below the graph). Duration chartsFakeDbCommand (.NET Framework 4.8)gantt
title Execution time (ms) FakeDbCommand (.NET Framework 4.8)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8749) - mean (73ms) : 71, 76
master - mean (74ms) : 70, 77
section Bailout
This PR (8749) - mean (77ms) : 75, 78
master - mean (77ms) : 75, 80
section CallTarget+Inlining+NGEN
This PR (8749) - mean (1,110ms) : 1065, 1155
master - mean (1,110ms) : 1055, 1165
FakeDbCommand (.NET Core 3.1)gantt
title Execution time (ms) FakeDbCommand (.NET Core 3.1)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8749) - mean (113ms) : 108, 118
master - mean (114ms) : 109, 118
section Bailout
This PR (8749) - mean (116ms) : 111, 122
master - mean (115ms) : 112, 118
section CallTarget+Inlining+NGEN
This PR (8749) - mean (793ms) : 770, 817
master - mean (796ms) : 768, 824
FakeDbCommand (.NET 6)gantt
title Execution time (ms) FakeDbCommand (.NET 6)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8749) - mean (101ms) : 97, 106
master - mean (104ms) : 97, 111
section Bailout
This PR (8749) - mean (105ms) : 101, 110
master - mean (102ms) : 98, 106
section CallTarget+Inlining+NGEN
This PR (8749) - mean (952ms) : 911, 994
master - mean (945ms) : 907, 984
FakeDbCommand (.NET 8)gantt
title Execution time (ms) FakeDbCommand (.NET 8)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8749) - mean (99ms) : 96, 103
master - mean (100ms) : 96, 105
section Bailout
This PR (8749) - mean (103ms) : 98, 108
master - mean (104ms) : 97, 110
section CallTarget+Inlining+NGEN
This PR (8749) - mean (828ms) : 786, 870
master - mean (822ms) : 787, 857
HttpMessageHandler (.NET Framework 4.8)gantt
title Execution time (ms) HttpMessageHandler (.NET Framework 4.8)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8749) - mean (202ms) : 197, 207
master - mean (197ms) : 190, 204
section Bailout
This PR (8749) - mean (205ms) : 199, 211
master - mean (201ms) : 196, 206
section CallTarget+Inlining+NGEN
This PR (8749) - mean (1,217ms) : 1174, 1260
master - mean (1,202ms) : 1163, 1240
HttpMessageHandler (.NET Core 3.1)gantt
title Execution time (ms) HttpMessageHandler (.NET Core 3.1)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8749) - mean (292ms) : 284, 299
master - mean (287ms) : 279, 295
section Bailout
This PR (8749) - mean (290ms) : 282, 297
master - mean (287ms) : 281, 293
section CallTarget+Inlining+NGEN
This PR (8749) - mean (970ms) : 945, 996
master - mean (965ms) : 943, 987
HttpMessageHandler (.NET 6)gantt
title Execution time (ms) HttpMessageHandler (.NET 6)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8749) - mean (282ms) : 276, 288
master - mean (279ms) : 274, 285
section Bailout
This PR (8749) - mean (282ms) : 276, 289
master - mean (279ms) : 275, 284
section CallTarget+Inlining+NGEN
This PR (8749) - mean (1,165ms) : 1128, 1201
master - mean (1,160ms) : 1117, 1204
HttpMessageHandler (.NET 8)gantt
title Execution time (ms) HttpMessageHandler (.NET 8)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8749) - mean (278ms) : 272, 285
master - mean (278ms) : 270, 285
section Bailout
This PR (8749) - mean (279ms) : 274, 283
master - mean (278ms) : 274, 283
section CallTarget+Inlining+NGEN
This PR (8749) - mean (1,045ms) : 1007, 1083
master - mean (1,038ms) : 987, 1090
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
fixed |
Summary of changes
Truncate CI Visibility metadata/tag string values to 5000 characters
Reason for change
The backend maximum allowed size for a tag value is 5000 characters. Client-side truncation keeps oversized metadata values within that limit before payload submission.
Implementation details
We already have the truncation span processor in place, it's just a matter of changing the max length value to 5000
Test coverage
Other details