@@ -26,6 +26,8 @@ import (
2626
2727 "github.com/alecthomas/kingpin/v2"
2828 "github.com/prometheus/client_golang/prometheus"
29+
30+ "github.com/prometheus-community/elasticsearch_exporter/pkg/clusterinfo"
2931)
3032
3133const (
@@ -36,7 +38,7 @@ const (
3638 defaultDisabled = false
3739)
3840
39- type factoryFunc func (logger * slog.Logger , u * url.URL , hc * http.Client ) (Collector , error )
41+ type factoryFunc func (logger * slog.Logger , u * url.URL , hc * http.Client , ci * clusterinfo. Retriever ) (Collector , error )
4042
4143var (
4244 factories = make (map [string ]factoryFunc )
@@ -97,7 +99,7 @@ type ElasticsearchCollector struct {
9799type Option func (* ElasticsearchCollector ) error
98100
99101// NewElasticsearchCollector creates a new ElasticsearchCollector
100- func NewElasticsearchCollector (logger * slog.Logger , filters []string , options ... Option ) (* ElasticsearchCollector , error ) {
102+ func NewElasticsearchCollector (logger * slog.Logger , filters []string , clusterInfoRetriever * clusterinfo. Retriever , options ... Option ) (* ElasticsearchCollector , error ) {
101103 e := & ElasticsearchCollector {logger : logger }
102104 // Apply options to customize the collector
103105 for _ , o := range options {
@@ -127,7 +129,7 @@ func NewElasticsearchCollector(logger *slog.Logger, filters []string, options ..
127129 if collector , ok := initiatedCollectors [key ]; ok {
128130 collectors [key ] = collector
129131 } else {
130- collector , err := factories [key ](logger .With ("collector" , key ), e .esURL , e .httpClient )
132+ collector , err := factories [key ](logger .With ("collector" , key ), e .esURL , e .httpClient , clusterInfoRetriever )
131133 if err != nil {
132134 return nil , err
133135 }
0 commit comments