diff --git a/cmd/adapter/adapter.go b/cmd/adapter/adapter.go index 7a38dc5e..0169f40a 100644 --- a/cmd/adapter/adapter.go +++ b/cmd/adapter/adapter.go @@ -211,7 +211,7 @@ func (cmd *PrometheusAdapter) makeExternalProvider(promClient prom.Client, stopC } // construct the provider and start it - emProvider, runner := extprov.NewExternalPrometheusProvider(promClient, namers, cmd.MetricsRelistInterval) + emProvider, runner := extprov.NewExternalPrometheusProvider(promClient, namers, cmd.MetricsRelistInterval, cmd.MetricsMaxAge) runner.RunUntil(stopCh) return emProvider, nil diff --git a/pkg/external-provider/provider.go b/pkg/external-provider/provider.go index 23cf07f5..cdb6c834 100644 --- a/pkg/external-provider/provider.go +++ b/pkg/external-provider/provider.go @@ -77,9 +77,9 @@ func (p *externalPrometheusProvider) selectGroupResource(namespace string) schem } // NewExternalPrometheusProvider creates an ExternalMetricsProvider capable of responding to Kubernetes requests for external metric data -func NewExternalPrometheusProvider(promClient prom.Client, namers []naming.MetricNamer, updateInterval time.Duration) (provider.ExternalMetricsProvider, Runnable) { +func NewExternalPrometheusProvider(promClient prom.Client, namers []naming.MetricNamer, updateInterval time.Duration, maxAge time.Duration) (provider.ExternalMetricsProvider, Runnable) { metricConverter := NewMetricConverter() - basicLister := NewBasicMetricLister(promClient, namers, updateInterval) + basicLister := NewBasicMetricLister(promClient, namers, maxAge) periodicLister, _ := NewPeriodicMetricLister(basicLister, updateInterval) seriesRegistry := NewExternalSeriesRegistry(periodicLister) return &externalPrometheusProvider{