@@ -7,36 +7,42 @@ pyroscope.receive_http "default" {
7
7
}
8
8
9
9
pyroscope.relabel "filter_profiles" {
10
- // Convert region to datacenter
10
+ // Group regions into geographical areas for better aggregation
11
11
rule {
12
12
action = "replace"
13
13
source_labels = ["region"]
14
- target_label = "datacenter"
14
+ target_label = "geo_area"
15
+ regex = "(us-.*)"
16
+ replacement = "americas"
15
17
}
16
-
17
- // Add environment label
18
- rule {
19
- action = "replace"
20
- target_label = "environment"
21
- replacement = "demo"
22
- }
23
-
24
- // Add component label based on application name
25
18
rule {
26
19
action = "replace"
27
- source_labels = ["__name__ "]
28
- target_label = "component "
29
- regex = "ride-sharing-app.* "
30
- replacement = "backend "
20
+ source_labels = ["region "]
21
+ target_label = "geo_area "
22
+ regex = "(eu-.*) "
23
+ replacement = "emea "
31
24
}
32
25
rule {
33
26
action = "replace"
34
- source_labels = ["__name__ "]
35
- target_label = "component "
36
- regex = "load-generator.* "
37
- replacement = "load-generator "
27
+ source_labels = ["region "]
28
+ target_label = "geo_area "
29
+ regex = "(ap-.*) "
30
+ replacement = "apac "
38
31
}
39
32
33
+ // Example: Sample profiles by service_name (drop 30% of services)
34
+ // rule {
35
+ // action = "hashmod"
36
+ // source_labels = ["service_name"]
37
+ // target_label = "__tmp_hash"
38
+ // modulus = 10
39
+ //}
40
+ // rule {
41
+ // action = "drop"
42
+ // source_labels = ["__tmp_hash"]
43
+ // regex = "^(0|1|2)$" // Drop profiles from services that hash to 0-2
44
+ // }
45
+
40
46
forward_to = [pyroscope.write.backend.receiver]
41
47
}
42
48
0 commit comments