github.com/grafana/pyroscope@v1.18.0/examples/tracing/python/docker-compose.yaml (about)

     1  services:
     2    pyroscope:
     3      image: grafana/pyroscope
     4      ports:
     5        - "4040:4040"
     6  
     7    us-east:
     8      ports:
     9        - "5000"
    10      hostname: us-east
    11      environment: &env
    12        OTLP_URL: tempo:4318
    13        OTLP_INSECURE: 1
    14        DEBUG_LOGGER: 1
    15        OTEL_TRACES_EXPORTER: otlp
    16        OTEL_EXPORTER_OTLP_ENDPOINT: http://tempo:4317
    17        OTEL_SERVICE_NAME: rideshare.python.push.app
    18        OTEL_METRICS_EXPORTER: none
    19        OTEL_TRACES_SAMPLER: always_on
    20        OTEL_PROPAGATORS: tracecontext
    21        PYROSCOPE_LABELS: hostname=us-east
    22        REGION: us-east
    23        PYROSCOPE_SERVER_ADDRESS: http://pyroscope:4040
    24        PYTHONUNBUFFERED: 1  # Python-specific: Ensures logging output isn't buffered
    25      build:
    26        context: .
    27  
    28    eu-north:
    29      ports:
    30        - "5000"
    31      hostname: eu-north
    32      environment:
    33        <<: *env
    34        REGION: eu-north
    35        PYROSCOPE_LABELS: hostname=eu-north
    36      build:
    37        context: .
    38  
    39    ap-south:
    40      ports:
    41        - "5000"
    42      hostname: ap-south
    43      environment:
    44        <<: *env
    45        REGION: ap-south
    46        PYROSCOPE_LABELS: hostname=ap-south
    47      build:
    48        context: .
    49  
    50    load-generator:
    51      environment: *env
    52      build:
    53        context: ../../language-sdk-instrumentation/golang-push/rideshare
    54        dockerfile: Dockerfile.load-generator
    55      command:
    56        - ./loadgen
    57        - http://ap-south:5000
    58        - http://eu-north:5000
    59        - http://us-east:5000
    60  
    61    grafana:
    62      image: grafana/grafana:latest
    63      environment:
    64        - GF_PLUGINS_PREINSTALL_SYNC=grafana-pyroscope-app
    65        - GF_AUTH_ANONYMOUS_ENABLED=true
    66        - GF_AUTH_ANONYMOUS_ORG_ROLE=Admin
    67        - GF_AUTH_DISABLE_LOGIN_FORM=true
    68        - GF_FEATURE_TOGGLES_ENABLE=traceToProfiles tracesEmbeddedFlameGraph
    69      volumes:
    70        - ./grafana-provisioning:/etc/grafana/provisioning
    71      ports:
    72        - "3000:3000"
    73  
    74    tempo:
    75      image: grafana/tempo:latest
    76      command: [ "-config.file=/etc/tempo.yml" ]
    77      volumes:
    78        - ./tempo/tempo.yml:/etc/tempo.yml
    79      ports:
    80        - "14268:14268"  # jaeger ingest
    81        - "3200:3200"   # tempo
    82        - "9095:9095" # tempo grpc
    83        - "4317:4317"  # otlp grpc
    84        - "4318:4318"  # otlp http
    85        - "9411:9411"   # zipkin