diff --git a/etherlink/bin_benchmark_producer/producer.ml b/etherlink/bin_benchmark_producer/producer.ml index b7130b92f253e284e9dadcdfdfecb31c12524cc2..cea024af9cf12bf0776248ebef631c068f6ef942 100644 --- a/etherlink/bin_benchmark_producer/producer.ml +++ b/etherlink/bin_benchmark_producer/producer.ml @@ -23,8 +23,8 @@ let register ~title ~registered ~tx_per_call = Constant.smart_rollup_installer; ] @@ fun () -> - (* max_gas_per_tx must be equivalent to kernel_latest/kernel/src/block.rs max_gas_per_reboot *) - let max_gas_per_tx = 30_000_000 * 4 / 3 in + (* max_gas_per_tx must be equivalent to bin_node/lib_dev/durable_storage.ml maximum_gas_per_transaction *) + let max_gas_per_tx = 30_000_000 in (* da_fee_per_byte must be equivalent to kernel_latest/kernel/src/fees.rs DA_FEE_PER_BYTE *) let da_fee_per_byte = Wei.to_wei_z Z.(of_int 4 * pow (of_int 10) 12) in (* gas_price must be big yumyum value kekw *) diff --git a/etherlink/scripts/benchmark_primitives.sh b/etherlink/scripts/benchmark_primitives.sh new file mode 100755 index 0000000000000000000000000000000000000000..4e9a32ee13c4dff0411e40bb6b96b119eb6ca9d5 --- /dev/null +++ b/etherlink/scripts/benchmark_primitives.sh @@ -0,0 +1,51 @@ +#!/bin/bash + +set -euo pipefail + +usage() { + echo "usage: $0 [--clean]" + exit 1 +} + +if [ $# -eq 3 ]; then + clean_tmp=false +elif [ $# -eq 4 ] && [ "$4" == "--clean" ]; then + clean_tmp=true +else + usage +fi + +cores=$1 +subset=$2 +graph_output_file=$3 + +log=$(mktemp) +tmp_root_dir="" + +cleanup() { + rm -f "$log" + if $clean_tmp && [[ -n "$tmp_root_dir" && -d "$tmp_root_dir" ]]; then + if rm -rf "$tmp_root_dir"; then + echo "Temporary files have been removed" + else + echo "error: failed to delete $tmp_root_dir" >&2 + fi + fi +} + +trap cleanup INT TERM EXIT + +dune exec -- etherlink/bin_benchmark_producer/main.exe --keep-temp -t "$subset" | tee "$log" + +tmp_files_path=$(grep -oE '/[^ ]+/tezt-[0-9]+/[0-9]+' "$log") +last_block=$(grep -oE 'Block [0-9]+' "$log" | awk '{print $2}' | tail -1) + +if [[ -z "$tmp_files_path" || -z "$last_block" ]]; then + echo "error: failed to extract tmp_files_path or last_block from log" + exit 1 +fi + +tmp_root_dir=$(dirname "$tmp_files_path") + +./etherlink/scripts/split_replay.sh 1 "$last_block" "$tmp_files_path/sandbox_evm_node1" "$cores" +./etherlink/scripts/create_graph.sh "$tmp_files_path/sandbox_evm_node1/kernel_logs" "$graph_output_file" diff --git a/etherlink/scripts/split_replay.sh b/etherlink/scripts/split_replay.sh index ecbc921bc20788915c668ce91c6f3a08a9c3c89b..fb0d5de9999f0ab165cae9f812ec5b0cfc18c062 100755 --- a/etherlink/scripts/split_replay.sh +++ b/etherlink/scripts/split_replay.sh @@ -40,7 +40,7 @@ for i in $(seq 0 $((num_splits - 1))); do ./octez-evm-node replay blueprints from "$from" to "$to" \ --data-dir "$data_dir" \ - --profile export & + --profile minimal & pids+=($!)