@@ -13,10 +13,12 @@ import (
13
13
14
14
apmv1 "github.com/elastic/cloud-on-k8s/pkg/apis/apm/v1"
15
15
esv1 "github.com/elastic/cloud-on-k8s/pkg/apis/elasticsearch/v1"
16
+ entv1 "github.com/elastic/cloud-on-k8s/pkg/apis/enterprisesearch/v1"
16
17
kbv1 "github.com/elastic/cloud-on-k8s/pkg/apis/kibana/v1"
17
18
"github.com/elastic/cloud-on-k8s/pkg/controller/apmserver"
18
19
"github.com/elastic/cloud-on-k8s/pkg/controller/elasticsearch/nodespec"
19
20
essettings "github.com/elastic/cloud-on-k8s/pkg/controller/elasticsearch/settings"
21
+ "github.com/elastic/cloud-on-k8s/pkg/controller/enterprisesearch"
20
22
"github.com/elastic/cloud-on-k8s/pkg/controller/kibana"
21
23
"github.com/elastic/cloud-on-k8s/pkg/utils/k8s"
22
24
"github.com/pkg/errors"
@@ -39,6 +41,7 @@ func (a Aggregator) AggregateMemory() (resource.Quantity, error) {
39
41
a .aggregateElasticsearchMemory ,
40
42
a .aggregateKibanaMemory ,
41
43
a .aggregateApmServerMemory ,
44
+ a .aggregateEnterpriseSearchMemory ,
42
45
} {
43
46
memory , err := f ()
44
47
if err != nil {
@@ -79,6 +82,33 @@ func (a Aggregator) aggregateElasticsearchMemory() (resource.Quantity, error) {
79
82
return total , nil
80
83
}
81
84
85
+ func (a Aggregator ) aggregateEnterpriseSearchMemory () (resource.Quantity , error ) {
86
+ var entList entv1.EnterpriseSearchList
87
+ err := a .client .List (context .Background (), & entList )
88
+ if err != nil {
89
+ return resource.Quantity {}, errors .Wrap (err , "failed to aggregate Enterprise Search memory" )
90
+ }
91
+
92
+ var total resource.Quantity
93
+ for _ , ent := range entList .Items {
94
+ mem , err := containerMemLimits (
95
+ ent .Spec .PodTemplate .Spec .Containers ,
96
+ entv1 .EnterpriseSearchContainerName ,
97
+ enterprisesearch .EnvJavaOpts , memFromJavaOpts ,
98
+ enterprisesearch .DefaultMemoryLimits ,
99
+ )
100
+ if err != nil {
101
+ return resource.Quantity {}, errors .Wrap (err , "failed to aggregate Enterprise Search memory" )
102
+ }
103
+
104
+ total .Add (multiply (mem , ent .Spec .Count ))
105
+ log .V (1 ).Info ("Collecting" , "namespace" , ent .Namespace , "ent_name" , ent .Name ,
106
+ "memory" , mem .String (), "count" , ent .Spec .Count )
107
+ }
108
+
109
+ return total , nil
110
+ }
111
+
82
112
func (a Aggregator ) aggregateKibanaMemory () (resource.Quantity , error ) {
83
113
var kbList kbv1.KibanaList
84
114
err := a .client .List (context .Background (), & kbList )
0 commit comments