github.com/grafana/pyroscope@v1.18.0/tools/grafana-phlare (about)

     1  #!/usr/bin/env bash
     2  
     3  DOCKER_ARGS="--net=host"
     4  
     5  if [[ $OSTYPE == 'darwin'* ]]; then
     6      PHLARE_URL=${PHLARE_URL:-http://docker.for.mac.localhost:4040}
     7      DOCKER_ARGS=""
     8  else
     9      PHLARE_URL=${PHLARE_URL:-http://localhost:4040}
    10  fi
    11  
    12  PYRO_URL=$PHLARE_URL/pyroscope
    13  PROMETHEUS_URL=$PHLARE_URL/prometheus
    14  
    15  datasource_provisioning="$(mktemp "${TMPDIR:-/tmp}/phlare-provisioning-XXXXXX")"
    16  chmod 0644 "${datasource_provisioning}"
    17  trap 'rm -f "${datasource_provisioning}"' EXIT
    18  cat > "${datasource_provisioning}" <<EOF
    19  apiVersion: 1
    20  datasources:
    21    - name: Prometheus
    22      type: prometheus
    23      url: ${PROMETHEUS_URL}
    24    - name: Pyroscope
    25      type: phlare
    26      url: ${PHLARE_URL}
    27      jsonData:
    28        httpHeaderName1: "X-Scope-OrgID"
    29      secureJsonData:
    30        httpHeaderValue1: "anonymous"
    31  EOF
    32  
    33  docker run $DOCKER_ARGS --rm \
    34    --name phlare-grafana \
    35    -v "${datasource_provisioning}:/etc/grafana/provisioning/datasources/phlare.yaml:ro" \
    36    -v "$(pwd)"/grafana/phlare-datasource/dist:/var/lib/grafana/plugins/phlare-datasource \
    37    -v "$(pwd)"/grafana/flamegraph/dist:/var/lib/grafana/plugins/flamegraph \
    38    -e GF_PLUGINS_PREINSTALL_SYNC=grafana-pyroscope-app \
    39    -e GF_PLUGINS_PREINSTALL_SYNC=pyroscope-datasource,pyroscope-panel \
    40    -e GF_DEFAULT_APP_MODE=development \
    41    -e GF_AUTH_ANONYMOUS_ENABLED=true \
    42    -e GF_AUTH_ANONYMOUS_ORG_ROLE=Admin \
    43    -t -i -p 3000:3000 grafana/grafana:main