@@ -7,36 +7,42 @@ pyroscope.receive_http "default" {
77}
88
99pyroscope.relabel "filter_profiles" {
10- // Convert region to datacenter
10+ // Group regions into geographical areas for better aggregation
1111 rule {
1212 action = "replace"
1313 source_labels = ["region"]
14- target_label = "datacenter"
14+ target_label = "geo_area"
15+ regex = "(us-.*)"
16+ replacement = "americas"
1517 }
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
2518 rule {
2619 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 "
3124 }
3225 rule {
3326 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 "
3831 }
3932
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+
4046 forward_to = [pyroscope.write.backend.receiver]
4147}
4248
0 commit comments