mirror of
https://github.com/kubernetes-sigs/prometheus-adapter.git
synced 2026-04-06 01:38:10 +00:00
Switch to ginkgo/gomega for tests
This switches over to ginkgo/gomega for tests, which makes writing certain tests easier/more fluent in the future.
This commit is contained in:
parent
c5801455ec
commit
cc08a1fb41
260 changed files with 184637 additions and 6412 deletions
63
vendor/github.com/kubernetes-incubator/metrics-server/pkg/provider/interfaces.go
generated
vendored
Normal file
63
vendor/github.com/kubernetes-incubator/metrics-server/pkg/provider/interfaces.go
generated
vendored
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
// Copyright 2018 The Kubernetes Authors.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
package provider
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
corev1 "k8s.io/api/core/v1"
|
||||
apitypes "k8s.io/apimachinery/pkg/types"
|
||||
metrics "k8s.io/metrics/pkg/apis/metrics"
|
||||
)
|
||||
|
||||
// MetricsProvider is both a PodMetricsProvider and a NodeMetricsProvider
|
||||
type MetricsProvider interface {
|
||||
PodMetricsProvider
|
||||
NodeMetricsProvider
|
||||
}
|
||||
|
||||
// TimeSpan represents the timing information for a metric, which was
|
||||
// potentially calculated over some window of time (e.g. for CPU usage rate).
|
||||
type TimeInfo struct {
|
||||
// NB: we consider the earliest timestamp amongst multiple containers
|
||||
// for the purposes of determining if a metric is tained by a time
|
||||
// period, like pod startup (used by things like the HPA).
|
||||
|
||||
// Timestamp is the time at which the metrics were initially collected.
|
||||
// In the case of a rate metric, it should be the timestamp of the last
|
||||
// data point used in the calculation. If it represents multiple metric
|
||||
// points, it should be the earliest such timestamp from all of the points.
|
||||
Timestamp time.Time
|
||||
|
||||
// Window represents the window used to calculate rate metrics associated
|
||||
// with this timestamp.
|
||||
Window time.Duration
|
||||
}
|
||||
|
||||
// PodMetricsProvider knows how to fetch metrics for the containers in a pod.
|
||||
type PodMetricsProvider interface {
|
||||
// GetContainerMetrics gets the latest metrics for all containers in each listed pod,
|
||||
// returning both the metrics and the associated collection timestamp.
|
||||
// If a pod is missing, the container metrics should be nil for that pod.
|
||||
GetContainerMetrics(pods ...apitypes.NamespacedName) ([]TimeInfo, [][]metrics.ContainerMetrics, error)
|
||||
}
|
||||
|
||||
// NodeMetricsProvider knows how to fetch metrics for a node.
|
||||
type NodeMetricsProvider interface {
|
||||
// GetNodeMetrics gets the latest metrics for the given nodes,
|
||||
// returning both the metrics and the associated collection timestamp.
|
||||
// If a node is missing, the resourcelist should be nil for that node.
|
||||
GetNodeMetrics(nodes ...string) ([]TimeInfo, []corev1.ResourceList, error)
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue