Skip to content

Commit 2ac3e96

Browse files
committed
Add all scope in the function
1 parent 88d19e7 commit 2ac3e96

File tree

2 files changed

+39
-12
lines changed

2 files changed

+39
-12
lines changed

pkg/translator/translator.go

Lines changed: 27 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,17 @@ package translator
33
import "regexp"
44

55
func RemoveSysdigLabels(expr, excludeScope string) string {
6-
// Remove scopes of sysdig kube_cluster_name=~$cluster for example
7-
scope := "kube_cluster_name|kube_namespace_name|kube_pod_name|kube_workload_name|kube_node_name|agent_tag_cluster|instance|node|namespace|host_hostname"
8-
if excludeScope != "" {
9-
scope = scope + "|" + excludeScope
6+
regex := regexp.MustCompile("")
7+
if excludeScope == "all" {
8+
expr = RemoveAllScopes(expr, excludeScope)
9+
} else {
10+
// Remove scopes of sysdig kube_cluster_name=~$cluster for example
11+
scope := "kube_cluster_name|kube_namespace_name|kube_pod_name|kube_workload_name|kube_node_name|agent_tag_cluster|instance|node|namespace|host_hostname"
12+
if excludeScope != "" {
13+
scope = scope + "|" + excludeScope
14+
}
15+
expr = RemoveAllScopes(expr, scope)
1016
}
11-
regex := regexp.MustCompile("(?:" + scope + ")" + "\\s*(?:=|=~|!=|!~)\\$[\\w_]*,")
12-
expr = regex.ReplaceAllString(expr, "")
13-
regex = regexp.MustCompile("(?:" + scope + ")" + "\\s*(?:=|=~|!=|!~)\"[\\w_-]*\",")
14-
expr = regex.ReplaceAllString(expr, "")
15-
regex = regexp.MustCompile("(?:" + scope + ")" + "\\s*(?:=|=~|!=|!~)\\$[\\w_]*\\}")
16-
expr = regex.ReplaceAllString(expr, "}")
17-
regex = regexp.MustCompile("(?:" + scope + ")" + "\\s*(?:=|=~|!=|!~)\"[\\w_-]*\"}")
18-
expr = regex.ReplaceAllString(expr, "}")
1917
// Remove the sysdig aggregation
2018
aggregation := "kube_cluster_name|kube_namespace_name|kube_pod_name|kube_workload_name|kube_node_name|agent_tag_cluster"
2119
aggregation = aggregation + "|" + excludeScope
@@ -48,5 +46,22 @@ func RemoveSysdigLabels(expr, excludeScope string) string {
4846
regex = regexp.MustCompile("\\n")
4947
expr = regex.ReplaceAllString(expr, "")
5048
// Add trailing \n, very important don't touch
49+
regex = regexp.MustCompile("\\[\\$__interval\\]")
50+
expr = regex.ReplaceAllString(expr, "[5m]")
51+
return expr
52+
}
53+
54+
func RemoveAllScopes(expr, scope string) string {
55+
if scope == "all" {
56+
scope = "\\w"
57+
}
58+
regex := regexp.MustCompile("(?:" + scope + ")+" + "\\s*(?:=|=~|!=|!~)\\$[\\w_]*,")
59+
expr = regex.ReplaceAllString(expr, "")
60+
regex = regexp.MustCompile("(?:" + scope + ")+" + "\\s*(?:=|=~|!=|!~)\"[\\w_-]*\",")
61+
expr = regex.ReplaceAllString(expr, "")
62+
regex = regexp.MustCompile("(?:" + scope + ")+" + "\\s*(?:=|=~|!=|!~)\\$[\\w_]*\\}")
63+
expr = regex.ReplaceAllString(expr, "}")
64+
regex = regexp.MustCompile("(?:" + scope + ")+" + "\\s*(?:=|=~|!=|!~)\"[\\w_-]*\"}")
65+
expr = regex.ReplaceAllString(expr, "}")
5166
return expr
5267
}

pkg/translator/translator_test.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,17 @@ var _ = Describe("Config", func() {
1313
processedText := RemoveSysdigLabels(originalText, "")
1414
Expect(expectedText).To(Equal(processedText))
1515
})
16+
It("Remove all scopes", func() {
17+
originalText := "irate(elasticsearch_indices_store_throttle_time_seconds_total{kube_cluster_name=$k8s_cluster,cluster=~$es_cluster, host=~$node,kube_namespace_name=~$namespace, kube_workload_name=~$workload}[$__interval]) "
18+
expectedText := "irate(elasticsearch_indices_store_throttle_time_seconds_total{ }[$__interval]) "
19+
processedText := RemoveAllScopes(originalText, "all")
20+
Expect(expectedText).To(Equal(processedText))
21+
})
22+
It("Removes all labels", func() {
23+
originalText := "irate(elasticsearch_indices_store_throttle_time_seconds_total{kube_cluster_name=$k8s_cluster,cluster=~$es_cluster, host=~$node,kube_namespace_name=~$namespace, kube_workload_name=~$workload}[$__interval]) "
24+
expectedText := "irate(elasticsearch_indices_store_throttle_time_seconds_total[5m]) "
25+
processedText := RemoveSysdigLabels(originalText, "all")
26+
Expect(expectedText).To(Equal(processedText))
27+
})
1628
})
1729
})

0 commit comments

Comments
 (0)