github.com/chenbh/concourse/v6@v6.4.2/hack/trace (about) 1 #!/bin/bash 2 3 set -e -u 4 5 cd $(dirname $0)/.. 6 7 container_name="" 8 dlv_flags="" 9 docker_flags="--interactive --privileged --rm --tty" 10 11 usage() { 12 echo "Usage: trace (web|worker) [--listen port]" 13 exit 1 14 } 15 16 while test $# -gt 0; do 17 case "$1" in 18 web) 19 container_name="concourse_web_1" 20 shift 21 ;; 22 worker) 23 container_name="concourse_worker_1" 24 shift 25 ;; 26 --listen) 27 shift 28 dlv_flags=" --headless=true --listen=:$1" 29 docker_flags+=" -p $1:$1" 30 shift 31 ;; 32 *) 33 usage 34 ;; 35 esac 36 done 37 38 if [ -z "$container_name" ]; then 39 usage 40 fi 41 42 trace_pid=$(docker exec $container_name pidof concourse) 43 44 docker build --tag dlv ./hack/dlv 45 46 docker run $docker_flags \ 47 --pid=container:$container_name \ 48 dlv attach $trace_pid $dlv_flags