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