30 lines
1.0 KiB
Go
Executable File
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{}
|
|
}
|