Skip to content

Commit c39b196

Browse files
committed
Keep formal packet traces within evidence bounds
1 parent 230f547 commit c39b196

1 file changed

Lines changed: 16 additions & 2 deletions

File tree

tools/perf/run-phase2-runtime-once.sh

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,9 @@ measure_seconds="${PHASE2_MEASURE_SECONDS:-180}"
3838
capture_enabled="${PHASE2_CAPTURE_ENABLED:-0}"
3939
capture_snaplen="${PHASE2_CAPTURE_SNAPLEN:-128}"
4040
protocol_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}"
4144
spark_profile_mode="${PHASE2_SPARK_PROFILE_MODE:-none}"
4245
ab_factor="${PHASE2_AB_FACTOR:-scenario-config}"
4346

@@ -61,7 +64,7 @@ if [[ "$ab_factor" == legacy-text-component-cache && "$scenario" != block-active
6164
exit 64
6265
fi
6366
for 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; }
6669
done
6770
(( server_port >= 1 && server_port <= 65535 )) \
@@ -98,6 +101,12 @@ fi
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
101110
case "$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 ;;
@@ -642,7 +651,12 @@ fi
642651

643652
protocol_trace_environment=("PHASE2_PROTOCOL_TRACE_FILE=")
644653
if [[ "$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+
)
646660
fi
647661
env \
648662
"PHASE2_MC_PROTOCOL_MODULE=$client_root/node-minecraft-protocol" \

0 commit comments

Comments
 (0)