diff --git a/pkg/collector/collector.go b/pkg/collector/collector.go index e1e2502..645d0b3 100644 --- a/pkg/collector/collector.go +++ b/pkg/collector/collector.go @@ -61,6 +61,12 @@ func (p *PluginNotFoundError) Error() string { return fmt.Sprintf("no plugin found for %s", p.metricTypeName) } +func (p *PluginNotFoundError) Is(target error) bool { + t, ok := target.(*PluginNotFoundError) + _ = t + return ok +} + func (c *CollectorFactory) RegisterPodsCollector(metricCollector string, plugin CollectorPlugin) error { if metricCollector == "" { c.podsPlugins.Any = plugin diff --git a/pkg/provider/hpa.go b/pkg/provider/hpa.go index 649c09e..b8a0ec4 100644 --- a/pkg/provider/hpa.go +++ b/pkg/provider/hpa.go @@ -161,10 +161,8 @@ func (p *HPAProvider) updateHPAs() error { c, err := p.collectorFactory.NewCollector(&hpa, config, interval) if err != nil { - // Only log when it's not a PluginNotFoundError AND flag disregardIncompatibleHPAs is true - var pluginNotFoundError *collector.PluginNotFoundError - - if !(errors.As(err, &pluginNotFoundError) && p.disregardIncompatibleHPAs) { + // Only log when it's not a PluginNotFoundError AND flag disregardIncompatibleHPAs is true + if !(errors.Is(err, &collector.PluginNotFoundError{}) && p.disregardIncompatibleHPAs) { p.recorder.Eventf(&hpa, apiv1.EventTypeWarning, "CreateNewMetricsCollector", "Failed to create new metrics collector: %v", err) }