From edade44748bc0b1a45190a3117d40cf47da8a5ca Mon Sep 17 00:00:00 2001
From: royalcat <k.adamovich20@gmail.com>
Date: Fri, 5 Apr 2024 11:23:54 +0300
Subject: [PATCH] pyroscope

---
 docker-compose.yaml      | 12 +++++++++++-
 grafana/datasources.yaml |  9 +++++++++
 pyroscope/config.yaml    |  6 ++++++
 3 files changed, 26 insertions(+), 1 deletion(-)
 create mode 100644 pyroscope/config.yaml

diff --git a/docker-compose.yaml b/docker-compose.yaml
index 52abdaf..0fb3e5e 100644
--- a/docker-compose.yaml
+++ b/docker-compose.yaml
@@ -1,6 +1,15 @@
 version: "3"
 
 services:
+  pyroscope:
+    image: grafana/pyroscope:v1.5.0
+    expose:
+      - 4040
+    ports:
+      - "4040:4040"
+    volumes:
+      - ./pyroscope/pyroscope.yml:/etc/pyroscope.yml
+
   otel-collector:
     image: otel/opentelemetry-collector-contrib:0.97.0
     restart: always
@@ -56,10 +65,11 @@ services:
 
   grafana:
     image: grafana/grafana:10.4.1
-    depends_on:
+    links:
       - loki
       - prometheus
       - tempo
+      - pyroscope
     environment:
       GF_SERVER_ROOT_URL: ${GRAFANA_URL}
       GF_SERVER_SERVE_FROM_SUB_PATH: "false"
diff --git a/grafana/datasources.yaml b/grafana/datasources.yaml
index 219e8e9..df8758e 100644
--- a/grafana/datasources.yaml
+++ b/grafana/datasources.yaml
@@ -29,3 +29,12 @@ datasources:
     editable: false
     jsonData:
       httpMethod: GET
+  - name: Pyroscope
+    type: pyroscope
+    access: proxy
+    orgId: 1
+    url: http://pyroscope:3200
+    basicAuth: false
+    isDefault: false
+    version: 1
+    editable: false
diff --git a/pyroscope/config.yaml b/pyroscope/config.yaml
new file mode 100644
index 0000000..4741c7b
--- /dev/null
+++ b/pyroscope/config.yaml
@@ -0,0 +1,6 @@
+tracing:
+  enabled: true
+  profiling_enabled: true
+
+pyroscopedb:
+  max_block_duration: 5m