karmada/pkg/metricsadapter/provider/externalmetrics.go

30 lines
1.0 KiB
Go
Executable File

package provider
import (
"context"
"fmt"
"k8s.io/apimachinery/pkg/labels"
"k8s.io/metrics/pkg/apis/external_metrics"
"sigs.k8s.io/custom-metrics-apiserver/pkg/provider"
)
// ExternalMetricsProvider is a custom metrics provider
type ExternalMetricsProvider struct {
}
// MakeExternalMetricsProvider creates a new custom metrics provider
func MakeExternalMetricsProvider() *ExternalMetricsProvider {
return &ExternalMetricsProvider{}
}
// GetExternalMetric will query metrics by selector from member clusters and return the result
func (c *ExternalMetricsProvider) GetExternalMetric(ctx context.Context, namespace string, metricSelector labels.Selector, info provider.ExternalMetricInfo) (*external_metrics.ExternalMetricValueList, error) {
return nil, fmt.Errorf("karmada-metrics-adapter still not implement it")
}
// ListAllExternalMetrics returns all metrics in all member clusters
func (c *ExternalMetricsProvider) ListAllExternalMetrics() []provider.ExternalMetricInfo {
return []provider.ExternalMetricInfo{}
}