github.com/pyroscope-io/pyroscope@v0.37.3-0.20230725203016-5f6947968bd0/benchmark/docker-compose.yml (about) 1 version: '3.9' 2 services: 3 pyrobench: 4 build: 5 context: ../ 6 dockerfile: benchmark/Dockerfile 7 env_file: 8 - config.env 9 depends_on: 10 - 'pushgateway' 11 - 'pyroscope' 12 - 'pyroscope-main' 13 volumes: 14 - ./report:/report 15 - ./queries.yml:/queries.yml 16 - ./pyrobench-entrypoint.sh:/entrypoint.sh 17 entrypoint: 18 - /entrypoint.sh 19 20 pyroscope: 21 build: 22 context: ../ 23 dockerfile: Dockerfile 24 env_file: 25 - config.env 26 command: 27 - server 28 volumes: 29 - ./server.yml:/tmp/server.yml.example 30 - ./server-entrypoint.sh:/entrypoint.sh 31 - data-pyroscope:/var/lib/pyroscope 32 entrypoint: 33 - /entrypoint.sh 34 deploy: 35 resources: 36 limits: 37 cpus: '${PYROSCOPE_CPUS-1}' 38 memory: '${PYROSCOPE_MEMORY-4096MB}' 39 40 pyroscope-main: 41 image: pyroscope/pyroscope-dev:main 42 env_file: 43 - config.env 44 command: 45 - server 46 volumes: 47 - ./server.yml:/tmp/server.yml.example 48 - ./server-entrypoint.sh:/entrypoint.sh 49 - data-pyroscope-main:/var/lib/pyroscope 50 entrypoint: 51 - /entrypoint.sh 52 deploy: 53 resources: 54 limits: 55 cpus: '${PYROSCOPE_CPUS-1}' 56 memory: '${PYROSCOPE_MEMORY-4096MB}' 57 58 prometheus: 59 image: prom/prometheus:v2.27.1 60 volumes: 61 - ./prometheus:/etc/prometheus/ 62 - data-prometheus:/prometheus 63 64 pushgateway: 65 image: prom/pushgateway:v1.4.1 66 67 grafana: 68 image: grafana/grafana:7.5.7 69 volumes: 70 - ./grafana/grafana.ini:/etc/grafana/grafana.ini 71 - ./grafana/datasources:/etc/grafana/provisioning/datasources 72 - ./grafana/dashboards/main.yml:/etc/grafana/provisioning/dashboards/main.yml 73 - ./../monitoring/gen/benchmark-pr.json:/etc/grafana/provisioning/dashboards/benchmark-pr.json:ro 74 environment: 75 GF_RENDERING_SERVER_URL: http://renderer:8081/render 76 GF_RENDERING_CALLBACK_URL: http://grafana:3000/ 77 GF_LOG_FILTERS: rendering:debug 78 79 renderer: 80 image: grafana/grafana-image-renderer:latest 81 82 volumes: 83 data-prometheus: 84 driver: local 85 # these volumes are used to store data between runs (it might be useful if you want to compare runs) 86 # sometimes you might not want to keep the data 87 # in that case run `docker-compose down -v` to delete it 88 data-pyroscope: 89 driver: local 90 data-pyroscope-main: 91 driver: local