github.com/pyroscope-io/pyroscope@v0.37.3-0.20230725203016-5f6947968bd0/examples/golang-pull/static/README.md (about)

     1  # Pyroscope pull with static targets
     2  
     3  This example demonstrates how Pyroscope can be used to scrape pprof profiles from remote static targets.
     4  
     5  ### 1. Run Pyroscope server and demo application in docker containers
     6  
     7  ```shell
     8  docker-compose up -d
     9  ```
    10  
    11  As a sample application we use slightly modified Jaeger [Hot R.O.D.](https://github.com/jaegertracing/jaeger/tree/master/examples/hotrod) demo –
    12  the only difference is that we enabled built-in Go `pprof` HTTP endpoints. You can find the modified code in the [hotrod-goland](https://github.com/pyroscope-io/hotrod-golang) repository.
    13  
    14  Note that we apply configuration defined in `server.yml`:
    15  
    16  <details>
    17      <summary>server.yml</summary>
    18  
    19  ```yaml
    20  ---
    21  log-level: debug
    22  scrape-configs:
    23    - job-name: testing
    24      enabled-profiles: [cpu, mem]
    25      static-configs:
    26        - application: hotrod
    27          targets:
    28            - hotrod:6060
    29          labels:
    30            env: dev
    31  ```
    32  
    33  </details>
    34  
    35  ### 2. Observe profiling data
    36  
    37  Profiling is more fun when the application does some work. Let's order some rides [in our Hot R.O.D. app](http://localhost:8080).
    38  
    39  Now that everything is set up, you can browse profiling data via [Pyroscope UI](http://localhost:4040).