Diffinery

codician/diffinerypublic

Open-source, agent-first GitHub and GitHub Actions alternative that runs on your own Cloudflare account: git hosting, pull requests, code review and drop-in GitHub Actions YAML on Workers, Durable Objects, R2 and Containers.

Repo latency during uploads

took 3m 1s Raw logs
Set up job
Diffinery runner: job latency (Repo latency during uploads) for codician/diffinery@5c5937fde7afRunner: image diffinery-runner:0ab022e0ba2c8e3fc4b10dbe, in mrs04, WEUR, container 0f793b79d7b42c71fc4c08cff7af3897fb9675f1da6417b46d8e4fc9759362f2Runner size: small (0.5 of a vCPU, 4 GiB of memory, 8 GB of disk), asked for by runs-onHost: AMD EPYC (family 25, model 17), 1 vCPUs, 2550 MHzWorkspace: /workspace/diffineryHost: 1% of the vCPUs' time went to other work on the host (steal)Job completed with conclusion: successResources: 0.1 of 0.5 vCPUs busy on average (0.1 at the 95th percentile), peak memory 0.2 GiB of 4.1 GiB, peak disk 1.1 GB of 7.7 GB
Time git ls-remote and a REST call every half second for 3 minutes3m 0s
##[group]Run end=$(( $(date +%s) + 180 )): > lat.txtwhile [ "$(date +%s)" -lt "$end" ]; do  t=$(date +%s.%N)  a=$(curl -s -o /dev/null -w '%{time_total}' -u "x-access-token:${GH_TOKEN}" "${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}.git/info/refs?service=git-upload-pack")  b=$(curl -s -o /dev/null -w '%{time_total}' -H "Authorization: Bearer $GH_TOKEN" "$GITHUB_API_URL/repos/$GITHUB_REPOSITORY/branches/main")  echo "$(printf '%.0f' "$t") $a $b" >> lat.txt  sleep 0.5donestart=$(head -1 lat.txt | cut -d' ' -f1)awk -v s="$start" '{ b=int(($1-s)/30)*30; n[b]++; g[b]+=$2; r[b]+=$3; if ($2>gm[b]) gm[b]=$2; if ($3>rm[b]) rm[b]=$3 }  END { for (k in n) printf "t+%3ds: %3d samples, git refs avg %.2fs max %.2fs, REST avg %.2fs max %.2fs\n", k, n[k], g[k]/n[k], gm[k], r[k]/n[k], rm[k] }' lat.txt | sort -t+ -k2 -nenv:  GH_TOKEN: ***##[endgroup]t+  0s:  12 samples, git refs avg 0.70s max 3.23s, REST avg 1.68s max 7.12st+ 30s:  12 samples, git refs avg 0.51s max 1.77s, REST avg 1.09s max 4.11st+ 60s:  28 samples, git refs avg 0.21s max 0.48s, REST avg 0.31s max 0.95st+ 90s:  29 samples, git refs avg 0.24s max 0.90s, REST avg 0.31s max 1.08st+120s:  26 samples, git refs avg 0.27s max 1.27s, REST avg 0.31s max 1.15st+150s:  29 samples, git refs avg 0.21s max 0.50s, REST avg 0.30s max 0.82s