milvus/tests/scripts/export_pprof_goroutine.sh
zhuwenxing b5de0160d3
[skip e2e]Add script to export goroutine (#25109)
Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2023-06-25 17:50:43 +08:00

29 lines
746 B
Bash

#!/bin/bash
# Exit immediately for non zero status
set -e
ns_name=$1
instance_name=$2
log_dir=${3:-"k8s_logs"}
# export goroutine of all milvus pods
array=($(kubectl get pod -n ${ns_name} -l "app.kubernetes.io/instance=${instance_name}, app.kubernetes.io/name=milvus"| awk 'NR == 1 {next} {print $1}'))
echo ${array[@]}
if [ ! -d $log_dir/goroutine ];
then
mkdir -p $log_dir/goroutine
fi
echo "export goroutine start"
for pod in ${array[*]}
do
echo "export goroutine for pod $pod "
ip=($(kubectl get pod ${pod} -n ${ns_name} -o jsonpath='{.status.podIP}'))
echo $ip
curl "http://${ip}:9091/debug/pprof/goroutine?debug=10" -o ./$log_dir/goroutine/$pod.log || echo "export goroutine for pod $pod failed"
done
echo "export goroutine done"