2626 matrix :
2727 include :
2828 - scenario : dropped-items
29- scene_size : 2048
29+ scene_size : 512
3030 - scenario : block-active
3131 scene_size : 1024
3232 env :
@@ -388,6 +388,8 @@ jobs:
388388 COMPARE_MEASURE_SECONDS=10 \
389389 COMPARE_PROTOCOL_TRACE_ENABLED=1 \
390390 COMPARE_PROTOCOL_TRACE_MAX_EVENTS=500000 \
391+ COMPARE_PROTOCOL_TRACE_PACKET_ALLOWLIST=bundle_delimiter,entity_destroy,spawn_entity \
392+ COMPARE_PROTOCOL_TRACE_AGGREGATE_PACKET_ALLOWLIST=entity_metadata \
391393 bash tools/perf/run-upstream-runtime-once.sh
392394
393395 python3 - \
@@ -435,6 +437,20 @@ jobs:
435437 raise SystemExit("preflight artifact SHA mismatch")
436438 if manifest.get("canonicalConfigSha256") != config_sha:
437439 raise SystemExit("preflight canonical config SHA mismatch")
440+ expected_packet_allowlist = [
441+ "bundle_delimiter", "entity_destroy", "spawn_entity"
442+ ]
443+ expected_aggregate_packet_allowlist = ["entity_metadata"]
444+ if manifest.get("protocolTracePacketAllowlist") != expected_packet_allowlist:
445+ raise SystemExit("preflight manifest protocol packet allowlist mismatch")
446+ if (manifest.get("protocolTraceAggregatePacketAllowlist")
447+ != expected_aggregate_packet_allowlist):
448+ raise SystemExit("preflight manifest aggregate packet allowlist mismatch")
449+ if trace.get("input", {}).get("capturePacketAllowlist") != expected_packet_allowlist:
450+ raise SystemExit("preflight analysis protocol packet allowlist mismatch")
451+ if (trace.get("input", {}).get("aggregatePacketAllowlist")
452+ != expected_aggregate_packet_allowlist):
453+ raise SystemExit("preflight analysis aggregate packet allowlist mismatch")
438454 for field, expected in expected_cpu.items():
439455 if manifest.get(field) != expected:
440456 raise SystemExit(
@@ -460,6 +476,16 @@ jobs:
460476 if not isinstance(metadata_observations, int) or metadata_observations <= 0:
461477 raise SystemExit(
462478 f"preflight observed no entity metadata: {metadata_observations!r}")
479+ aggregated_metadata = trace.get("counts", {}).get(
480+ "byPacketAggregated", {}).get("entity_metadata", 0)
481+ window_aggregated = trace.get("traceCoverage", {}).get(
482+ "windowAggregatedEventCount")
483+ if (aggregated_metadata != metadata_observations
484+ or window_aggregated != metadata_observations):
485+ raise SystemExit(
486+ "preflight aggregate metadata count mismatch: "
487+ f"combined={metadata_observations!r}, "
488+ f"aggregate={aggregated_metadata!r}, window={window_aggregated!r}")
463489 if scenario == "dropped-items" and spawn_observations < scene_size:
464490 raise SystemExit(
465491 f"dropped-item preflight observed only {spawn_observations} spawns for {scene_size} items")
0 commit comments