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