@@ -38,6 +38,9 @@ measure_seconds="${PHASE2_MEASURE_SECONDS:-180}"
3838capture_enabled=" ${PHASE2_CAPTURE_ENABLED:- 0} "
3939capture_snaplen=" ${PHASE2_CAPTURE_SNAPLEN:- 128} "
4040protocol_trace_enabled=" ${PHASE2_PROTOCOL_TRACE_ENABLED:- $capture_enabled } "
41+ protocol_trace_max_events=" ${PHASE2_PROTOCOL_TRACE_MAX_EVENTS:- 500000} "
42+ protocol_trace_packet_allowlist=" ${PHASE2_PROTOCOL_TRACE_PACKET_ALLOWLIST-bundle_delimiter,entity_destroy,spawn_entity} "
43+ protocol_trace_aggregate_packet_allowlist=" ${PHASE2_PROTOCOL_TRACE_AGGREGATE_PACKET_ALLOWLIST-entity_metadata} "
4144spark_profile_mode=" ${PHASE2_SPARK_PROFILE_MODE:- none} "
4245ab_factor=" ${PHASE2_AB_FACTOR:- scenario-config} "
4346
@@ -61,7 +64,7 @@ if [[ "$ab_factor" == legacy-text-component-cache && "$scenario" != block-active
6164 exit 64
6265fi
6366for value in " $server_port " " $item_count " " $warmup_seconds " " $settle_seconds " \
64- " $measure_seconds " " $capture_snaplen " ; do
67+ " $measure_seconds " " $capture_snaplen " " $protocol_trace_max_events " ; do
6568 [[ " $value " =~ ^[0-9]+$ ]] || { echo " Numeric input is invalid: $value " >&2 ; exit 64; }
6669done
6770(( server_port >= 1 && server_port <= 65535 )) \
98101 || { echo " PHASE2_CAPTURE_ENABLED must be 0 or 1" >&2 ; exit 64; }
99102[[ " $protocol_trace_enabled " == 0 || " $protocol_trace_enabled " == 1 ]] \
100103 || { echo " PHASE2_PROTOCOL_TRACE_ENABLED must be 0 or 1" >&2 ; exit 64; }
104+ (( protocol_trace_max_events >= 1 )) \
105+ || { echo " PHASE2_PROTOCOL_TRACE_MAX_EVENTS must be positive" >&2 ; exit 64; }
106+ for allowlist in " $protocol_trace_packet_allowlist " " $protocol_trace_aggregate_packet_allowlist " ; do
107+ [[ -z " $allowlist " || " $allowlist " =~ ^[A-Za-z0-9_-]+ (,[A-Za-z0-9_-]+)* $ ]] \
108+ || { echo " Protocol trace allowlist is invalid: $allowlist " >&2 ; exit 64; }
109+ done
101110case " $spark_profile_mode " in
102111 none|cpu|cpu-all|alloc) ;;
103112 * ) echo " PHASE2_SPARK_PROFILE_MODE must be none, cpu, cpu-all, or alloc" >&2 ; exit 64 ;;
642651
643652protocol_trace_environment=(" PHASE2_PROTOCOL_TRACE_FILE=" )
644653if [[ " $protocol_trace_enabled " == 1 ]]; then
645- protocol_trace_environment=(" PHASE2_PROTOCOL_TRACE_FILE=$protocol_trace_path " )
654+ protocol_trace_environment=(
655+ " PHASE2_PROTOCOL_TRACE_FILE=$protocol_trace_path "
656+ " PHASE2_PROTOCOL_TRACE_MAX_EVENTS=$protocol_trace_max_events "
657+ " PHASE2_PROTOCOL_TRACE_PACKET_ALLOWLIST=$protocol_trace_packet_allowlist "
658+ " PHASE2_PROTOCOL_TRACE_AGGREGATE_PACKET_ALLOWLIST=$protocol_trace_aggregate_packet_allowlist "
659+ )
646660fi
647661env \
648662 " PHASE2_MC_PROTOCOL_MODULE=$client_root /node-minecraft-protocol" \
0 commit comments