You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
|
|
# <20><>ȡ sledgert <20><><EFBFBD>̵<EFBFBD> PID
|
|
|
|
|
SLEDGERT_PID=$(pgrep sledgert)
|
|
|
|
|
|
|
|
|
|
if [ -z "$SLEDGERT_PID" ]; then
|
|
|
|
|
echo "sledgert process not found!"
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
# <20><><EFBFBD><EFBFBD> perf <20><><EFBFBD><EFBFBD>
|
|
|
|
|
sudo perf record -e cycles,instructions,cache-misses -p $SLEDGERT_PID -o perf.data &
|
|
|
|
|
PERF_PID=$!
|
|
|
|
|
|
|
|
|
|
# ȷ<><C8B7> perf <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
sleep 0.1
|
|
|
|
|
|
|
|
|
|
# <20><>¼<EFBFBD><C2BC>ʼʱ<CABC>䣨<EFBFBD><E4A3A8><EFBFBD>룩
|
|
|
|
|
start=$(date +%s%N)
|
|
|
|
|
|
|
|
|
|
# <20><><EFBFBD><EFBFBD> HTTP <20><><EFBFBD><EFBFBD>
|
|
|
|
|
echo "10" | http :10000
|
|
|
|
|
|
|
|
|
|
# <20><>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>ʱ<EFBFBD>䣨<EFBFBD><E4A3A8><EFBFBD>룩
|
|
|
|
|
end=$(date +%s%N)
|
|
|
|
|
|
|
|
|
|
# <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>룩
|
|
|
|
|
elapsed=$((end - start))
|
|
|
|
|
|
|
|
|
|
# ת<><D7AA>Ϊ<CEAA><CEA2>
|
|
|
|
|
elapsed_us=$((elapsed / 1000))
|
|
|
|
|
echo "Elapsed time: ${elapsed_us} ?s"
|
|
|
|
|
|
|
|
|
|
# ת<><D7AA>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>
|
|
|
|
|
elapsed_ms=$((elapsed / 1000000))
|
|
|
|
|
echo "Elapsed time: ${elapsed_ms} ms"
|
|
|
|
|
|
|
|
|
|
# ֹͣ perf <20><><EFBFBD><EFBFBD>
|
|
|
|
|
sudo pkill -INT -P $PERF_PID
|
|
|
|
|
|
|
|
|
|
# <20>ȴ<EFBFBD> perf д<><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
wait $PERF_PID
|
|
|
|
|
|
|
|
|
|
# <20><>ʾ perf <20><><EFBFBD><EFBFBD>
|
|
|
|
|
sudo perf report -i perf.data
|