-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbench.sh
executable file
·42 lines (34 loc) · 1.23 KB
/
bench.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#!/bin/sh
set -x
sysctl -w kernel.core_pattern="/data/cores/core.%e.%p"
export DATE=""
DATE=$(date +'%d')
export SNAPSHOT_BLOCK=""
if [ -z "$OPSIAN_OPTS" ]
then
export OPSIAN_OPTS="apiKey=$OPS_KEY,applicationVersion=1,debugLogPath=/data/£{ARGV_0}-£{PID}-debug.log,agentId=£{ARGV_0}-snapshot"
fi
export OCAMLRUNPARAM='v=0x400'
if [ -f /data/block ]
then
SNAPSHOT_BLOCK=$(cat /data/block)
fi
while true
do
echo "Benchmark run @ $(date)"
# Download a new snapshot once per day
NEW_DATE=$(date +'%d')
if [ "$DATE" -ne "$NEW_DATE" ] || [ ! -f /data/snapshot ]
then
SNAPSHOT_LINE=$(curl -s https://snapshots-tezos.giganode.io | grep 'href="https://snapshots-tezos.giganode.io/snapshots/mainnet' | grep rolling | head -n 1)
SNAPSHOT_URL=$(echo "$SNAPSHOT_LINE" | sed 's/.*href="//;s/".*//')
SNAPSHOT_BLOCK=$(echo "$SNAPSHOT_LINE" | sed 's/.*_//;s/\.rolling.*//')
rm -f /data/snapshot
echo "$SNAPSHOT_BLOCK" > /data/block
wget "$SNAPSHOT_URL" -O /data/snapshot || true
fi
DATE=$NEW_DATE
rm -rf /data/tezos-node-mainnet
./tezos-node config init --data-dir /data/tezos-node-mainnet --network mainnet
time ./tezos-node snapshot --data-dir /data/tezos-node-mainnet import --block "$SNAPSHOT_BLOCK" /data/snapshot
done