add pprof test

This commit is contained in:
TheFox0x7 2024-03-31 22:49:52 +02:00
parent 9a1a91333e
commit fbe3c3c59c
No known key found for this signature in database
GPG key ID: 6CA33903484AF7C2
2 changed files with 36 additions and 0 deletions

View file

@ -7,6 +7,7 @@ DOMAIN = ${IP}
HTTP_PORT = 3000
SSH_LISTEN_PORT = 2222
LFS_START_SERVER = true
ENABLE_PPROF = true
[queue]
TYPE = immediate

View file

@ -0,0 +1,35 @@
# SPDX-License-Identifier: MIT
function test_upload_profiles() {
FORGEJO_URL="http://0.0.0.0:6060"
PROFILECLI_URL="http://0.0.0.0:4040"
endpoints=("/debug/pprof/allocs" "/debug/pprof/block" "/debug/pprof/goroutine" "/debug/pprof/mutex" "/debug/pprof/profile?seconds=5")
for endpoint in "${endpoints[@]}"; do
output=$(basename "$endpoint")
if [[ $endpoint == *"/profile"* ]]; then
output="profile"
fi
output="${output}.pprof"
# Download the content and save it to a file
curl -s "${FORGEJO_URL}${endpoint}" -o "${output}"
./profilecli upload ${output} --url=${PROFILECLI_URL}
rm ${output}
done
}
function test_forgejo_pprof() {
stop
docker run --name test_pyroscope --rm -d -p 4040:4040 docker.io/grafana/pyroscope
log_info "run 7.0.0"
start 7.0.0
test_upload_profiles
stop
docker stop test_pyroscope
}