Repository navigation
fix(perf): use N/A for missing benchmark fields to fix BigQuery schema validation - #1065
Conversation
There was a problem hiding this comment.
Code Review
This pull request updates benchmark reporting in both microbenchmarks and subsystem benchmarks to use "N/A" as a default placeholder value instead of empty strings when benchmark metadata, extra info, stats, or percentile values are missing or empty. The feedback suggests simplifying the checks for None and empty strings to the more idiomatic Python expression val not in (None, "") across both modified files to improve readability.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #1065 +/- ##
=======================================
Coverage 90.25% 90.25%
=======================================
Files 16 16
Lines 3755 3755
=======================================
Hits 3389 3389
Misses 366 366 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
Does |
We could use a "" NullMarker, but if any fields in future contain a legitimate "", they would be parsed as NULL, making it impossible to distinguish between the two. So handling it at python layer might be better? WDYT? |
This PR fixes a bug where missing fields in benchmarks (such as
batch_sizeadded by the cat_ranges microbenchmarks) were serialized as empty strings instead of"N/A". This caused BigQuery schema validation to fail forINT64columns. BigQuery expects missing numerical fields to be marked asN/Aper the table configurationnullMarker: "N/A".