Fix golint failures under e2e/framework/metrics

This commit is contained in:
Kenichi Omichi 2019-02-13 01:46:04 +00:00
parent dbe669aeb1
commit 89f6f1d0cc
12 changed files with 86 additions and 67 deletions

View File

@ -682,7 +682,6 @@ test/e2e/cloud
test/e2e/common test/e2e/common
test/e2e/framework test/e2e/framework
test/e2e/framework/ingress test/e2e/framework/ingress
test/e2e/framework/metrics
test/e2e/framework/providers/aws test/e2e/framework/providers/aws
test/e2e/framework/providers/azure test/e2e/framework/providers/azure
test/e2e/framework/providers/gce test/e2e/framework/providers/gce

View File

@ -119,7 +119,7 @@ type Framework struct {
TestSummaries []TestDataSummary TestSummaries []TestDataSummary
// Place to keep ClusterAutoscaler metrics from before test in order to compute delta. // Place to keep ClusterAutoscaler metrics from before test in order to compute delta.
clusterAutoscalerMetricsBeforeTest metrics.MetricsCollection clusterAutoscalerMetricsBeforeTest metrics.Collection
} }
type TestDataSummary interface { type TestDataSummary interface {

View File

@ -16,26 +16,28 @@ limitations under the License.
package metrics package metrics
type ApiServerMetrics Metrics // APIServerMetrics is metrics for API server
type APIServerMetrics Metrics
func (m *ApiServerMetrics) Equal(o ApiServerMetrics) bool { // Equal returns true if all metrics are the same as the arguments.
func (m *APIServerMetrics) Equal(o APIServerMetrics) bool {
return (*Metrics)(m).Equal(Metrics(o)) return (*Metrics)(m).Equal(Metrics(o))
} }
func NewApiServerMetrics() ApiServerMetrics { func newAPIServerMetrics() APIServerMetrics {
result := NewMetrics() result := NewMetrics()
return ApiServerMetrics(result) return APIServerMetrics(result)
} }
func parseApiServerMetrics(data string) (ApiServerMetrics, error) { func parseAPIServerMetrics(data string) (APIServerMetrics, error) {
result := NewApiServerMetrics() result := newAPIServerMetrics()
if err := parseMetrics(data, (*Metrics)(&result)); err != nil { if err := parseMetrics(data, (*Metrics)(&result)); err != nil {
return ApiServerMetrics{}, err return APIServerMetrics{}, err
} }
return result, nil return result, nil
} }
func (g *MetricsGrabber) getMetricsFromApiServer() (string, error) { func (g *Grabber) getMetricsFromAPIServer() (string, error) {
rawOutput, err := g.client.CoreV1().RESTClient().Get().RequestURI("/metrics").Do().Raw() rawOutput, err := g.client.CoreV1().RESTClient().Get().RequestURI("/metrics").Do().Raw()
if err != nil { if err != nil {
return "", err return "", err

View File

@ -16,19 +16,21 @@ limitations under the License.
package metrics package metrics
// ClusterAutoscalerMetrics is metrics for cluster autoscaller
type ClusterAutoscalerMetrics Metrics type ClusterAutoscalerMetrics Metrics
// Equal returns true if all metrics are the same as the arguments.
func (m *ClusterAutoscalerMetrics) Equal(o ClusterAutoscalerMetrics) bool { func (m *ClusterAutoscalerMetrics) Equal(o ClusterAutoscalerMetrics) bool {
return (*Metrics)(m).Equal(Metrics(o)) return (*Metrics)(m).Equal(Metrics(o))
} }
func NewClusterAutoscalerMetrics() ClusterAutoscalerMetrics { func newClusterAutoscalerMetrics() ClusterAutoscalerMetrics {
result := NewMetrics() result := NewMetrics()
return ClusterAutoscalerMetrics(result) return ClusterAutoscalerMetrics(result)
} }
func parseClusterAutoscalerMetrics(data string) (ClusterAutoscalerMetrics, error) { func parseClusterAutoscalerMetrics(data string) (ClusterAutoscalerMetrics, error) {
result := NewClusterAutoscalerMetrics() result := newClusterAutoscalerMetrics()
if err := parseMetrics(data, (*Metrics)(&result)); err != nil { if err := parseMetrics(data, (*Metrics)(&result)); err != nil {
return ClusterAutoscalerMetrics{}, err return ClusterAutoscalerMetrics{}, err
} }

View File

@ -16,19 +16,21 @@ limitations under the License.
package metrics package metrics
// ControllerManagerMetrics is metrics for controller manager
type ControllerManagerMetrics Metrics type ControllerManagerMetrics Metrics
// Equal returns true if all metrics are the same as the arguments.
func (m *ControllerManagerMetrics) Equal(o ControllerManagerMetrics) bool { func (m *ControllerManagerMetrics) Equal(o ControllerManagerMetrics) bool {
return (*Metrics)(m).Equal(Metrics(o)) return (*Metrics)(m).Equal(Metrics(o))
} }
func NewControllerManagerMetrics() ControllerManagerMetrics { func newControllerManagerMetrics() ControllerManagerMetrics {
result := NewMetrics() result := NewMetrics()
return ControllerManagerMetrics(result) return ControllerManagerMetrics(result)
} }
func parseControllerManagerMetrics(data string) (ControllerManagerMetrics, error) { func parseControllerManagerMetrics(data string) (ControllerManagerMetrics, error) {
result := NewControllerManagerMetrics() result := newControllerManagerMetrics()
if err := parseMetrics(data, (*Metrics)(&result)); err != nil { if err := parseMetrics(data, (*Metrics)(&result)); err != nil {
return ControllerManagerMetrics{}, err return ControllerManagerMetrics{}, err
} }

View File

@ -17,7 +17,6 @@ limitations under the License.
package metrics package metrics
import ( import (
"fmt"
"io" "io"
"reflect" "reflect"
"strings" "strings"
@ -27,8 +26,10 @@ import (
"k8s.io/klog" "k8s.io/klog"
) )
// Metrics is generic metrics for other specific metrics
type Metrics map[string]model.Samples type Metrics map[string]model.Samples
// Equal returns true if all metrics are the same as the arguments.
func (m *Metrics) Equal(o Metrics) bool { func (m *Metrics) Equal(o Metrics) bool {
leftKeySet := []string{} leftKeySet := []string{}
rightKeySet := []string{} rightKeySet := []string{}
@ -49,6 +50,7 @@ func (m *Metrics) Equal(o Metrics) bool {
return true return true
} }
// NewMetrics returns new metrics which are initialized.
func NewMetrics() Metrics { func NewMetrics() Metrics {
result := make(Metrics) result := make(Metrics)
return result return result

View File

@ -23,12 +23,19 @@ import (
"time" "time"
) )
const (
proxyTimeout = 2 * time.Minute
)
// KubeletMetrics is metrics for kubelet
type KubeletMetrics Metrics type KubeletMetrics Metrics
// Equal returns true if all metrics are the same as the arguments.
func (m *KubeletMetrics) Equal(o KubeletMetrics) bool { func (m *KubeletMetrics) Equal(o KubeletMetrics) bool {
return (*Metrics)(m).Equal(Metrics(o)) return (*Metrics)(m).Equal(Metrics(o))
} }
// NewKubeletMetrics returns new metrics which are initialized.
func NewKubeletMetrics() KubeletMetrics { func NewKubeletMetrics() KubeletMetrics {
result := NewMetrics() result := NewMetrics()
return KubeletMetrics(result) return KubeletMetrics(result)
@ -58,7 +65,7 @@ func parseKubeletMetrics(data string) (KubeletMetrics, error) {
return result, nil return result, nil
} }
func (g *MetricsGrabber) getMetricsFromNode(nodeName string, kubeletPort int) (string, error) { func (g *Grabber) getMetricsFromNode(nodeName string, kubeletPort int) (string, error) {
// There's a problem with timing out during proxy. Wrapping this in a goroutine to prevent deadlock. // There's a problem with timing out during proxy. Wrapping this in a goroutine to prevent deadlock.
// Hanging goroutine will be leaked. // Hanging goroutine will be leaked.
finished := make(chan struct{}) finished := make(chan struct{})
@ -74,7 +81,7 @@ func (g *MetricsGrabber) getMetricsFromNode(nodeName string, kubeletPort int) (s
finished <- struct{}{} finished <- struct{}{}
}() }()
select { select {
case <-time.After(ProxyTimeout): case <-time.After(proxyTimeout):
return "", fmt.Errorf("Timed out when waiting for proxy to gather metrics from %v", nodeName) return "", fmt.Errorf("Timed out when waiting for proxy to gather metrics from %v", nodeName)
case <-finished: case <-finished:
if err != nil { if err != nil {

View File

@ -18,7 +18,6 @@ package metrics
import ( import (
"fmt" "fmt"
"time"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/fields" "k8s.io/apimachinery/pkg/fields"
@ -30,22 +29,20 @@ import (
"k8s.io/klog" "k8s.io/klog"
) )
const ( // Collection is metrics collection of components
ProxyTimeout = 2 * time.Minute type Collection struct {
) APIServerMetrics APIServerMetrics
type MetricsCollection struct {
ApiServerMetrics ApiServerMetrics
ControllerManagerMetrics ControllerManagerMetrics ControllerManagerMetrics ControllerManagerMetrics
KubeletMetrics map[string]KubeletMetrics KubeletMetrics map[string]KubeletMetrics
SchedulerMetrics SchedulerMetrics SchedulerMetrics SchedulerMetrics
ClusterAutoscalerMetrics ClusterAutoscalerMetrics ClusterAutoscalerMetrics ClusterAutoscalerMetrics
} }
type MetricsGrabber struct { // Grabber provides functions which grab metrics from components
type Grabber struct {
client clientset.Interface client clientset.Interface
externalClient clientset.Interface externalClient clientset.Interface
grabFromApiServer bool grabFromAPIServer bool
grabFromControllerManager bool grabFromControllerManager bool
grabFromKubelets bool grabFromKubelets bool
grabFromScheduler bool grabFromScheduler bool
@ -54,7 +51,8 @@ type MetricsGrabber struct {
registeredMaster bool registeredMaster bool
} }
func NewMetricsGrabber(c clientset.Interface, ec clientset.Interface, kubelets bool, scheduler bool, controllers bool, apiServer bool, clusterAutoscaler bool) (*MetricsGrabber, error) { // NewMetricsGrabber returns new metrics which are initialized.
func NewMetricsGrabber(c clientset.Interface, ec clientset.Interface, kubelets bool, scheduler bool, controllers bool, apiServer bool, clusterAutoscaler bool) (*Grabber, error) {
registeredMaster := false registeredMaster := false
masterName := "" masterName := ""
nodeList, err := c.CoreV1().Nodes().List(metav1.ListOptions{}) nodeList, err := c.CoreV1().Nodes().List(metav1.ListOptions{})
@ -82,10 +80,10 @@ func NewMetricsGrabber(c clientset.Interface, ec clientset.Interface, kubelets b
} }
} }
return &MetricsGrabber{ return &Grabber{
client: c, client: c,
externalClient: ec, externalClient: ec,
grabFromApiServer: apiServer, grabFromAPIServer: apiServer,
grabFromControllerManager: controllers, grabFromControllerManager: controllers,
grabFromKubelets: kubelets, grabFromKubelets: kubelets,
grabFromScheduler: scheduler, grabFromScheduler: scheduler,
@ -96,11 +94,12 @@ func NewMetricsGrabber(c clientset.Interface, ec clientset.Interface, kubelets b
} }
// HasRegisteredMaster returns if metrics grabber was able to find a master node // HasRegisteredMaster returns if metrics grabber was able to find a master node
func (g *MetricsGrabber) HasRegisteredMaster() bool { func (g *Grabber) HasRegisteredMaster() bool {
return g.registeredMaster return g.registeredMaster
} }
func (g *MetricsGrabber) GrabFromKubelet(nodeName string) (KubeletMetrics, error) { // GrabFromKubelet returns metrics from kubelet
func (g *Grabber) GrabFromKubelet(nodeName string) (KubeletMetrics, error) {
nodes, err := g.client.CoreV1().Nodes().List(metav1.ListOptions{FieldSelector: fields.Set{api.ObjectNameField: nodeName}.AsSelector().String()}) nodes, err := g.client.CoreV1().Nodes().List(metav1.ListOptions{FieldSelector: fields.Set{api.ObjectNameField: nodeName}.AsSelector().String()})
if err != nil { if err != nil {
return KubeletMetrics{}, err return KubeletMetrics{}, err
@ -112,9 +111,9 @@ func (g *MetricsGrabber) GrabFromKubelet(nodeName string) (KubeletMetrics, error
return g.grabFromKubeletInternal(nodeName, int(kubeletPort)) return g.grabFromKubeletInternal(nodeName, int(kubeletPort))
} }
func (g *MetricsGrabber) grabFromKubeletInternal(nodeName string, kubeletPort int) (KubeletMetrics, error) { func (g *Grabber) grabFromKubeletInternal(nodeName string, kubeletPort int) (KubeletMetrics, error) {
if kubeletPort <= 0 || kubeletPort > 65535 { if kubeletPort <= 0 || kubeletPort > 65535 {
return KubeletMetrics{}, fmt.Errorf("Invalid Kubelet port %v. Skipping Kubelet's metrics gathering.", kubeletPort) return KubeletMetrics{}, fmt.Errorf("Invalid Kubelet port %v. Skipping Kubelet's metrics gathering", kubeletPort)
} }
output, err := g.getMetricsFromNode(nodeName, int(kubeletPort)) output, err := g.getMetricsFromNode(nodeName, int(kubeletPort))
if err != nil { if err != nil {
@ -123,9 +122,10 @@ func (g *MetricsGrabber) grabFromKubeletInternal(nodeName string, kubeletPort in
return parseKubeletMetrics(output) return parseKubeletMetrics(output)
} }
func (g *MetricsGrabber) GrabFromScheduler() (SchedulerMetrics, error) { // GrabFromScheduler returns metrics from scheduler
func (g *Grabber) GrabFromScheduler() (SchedulerMetrics, error) {
if !g.registeredMaster { if !g.registeredMaster {
return SchedulerMetrics{}, fmt.Errorf("Master's Kubelet is not registered. Skipping Scheduler's metrics gathering.") return SchedulerMetrics{}, fmt.Errorf("Master's Kubelet is not registered. Skipping Scheduler's metrics gathering")
} }
output, err := g.getMetricsFromPod(g.client, fmt.Sprintf("%v-%v", "kube-scheduler", g.masterName), metav1.NamespaceSystem, ports.InsecureSchedulerPort) output, err := g.getMetricsFromPod(g.client, fmt.Sprintf("%v-%v", "kube-scheduler", g.masterName), metav1.NamespaceSystem, ports.InsecureSchedulerPort)
if err != nil { if err != nil {
@ -134,9 +134,10 @@ func (g *MetricsGrabber) GrabFromScheduler() (SchedulerMetrics, error) {
return parseSchedulerMetrics(output) return parseSchedulerMetrics(output)
} }
func (g *MetricsGrabber) GrabFromClusterAutoscaler() (ClusterAutoscalerMetrics, error) { // GrabFromClusterAutoscaler returns metrics from cluster autoscaler
func (g *Grabber) GrabFromClusterAutoscaler() (ClusterAutoscalerMetrics, error) {
if !g.registeredMaster && g.externalClient == nil { if !g.registeredMaster && g.externalClient == nil {
return ClusterAutoscalerMetrics{}, fmt.Errorf("Master's Kubelet is not registered. Skipping ClusterAutoscaler's metrics gathering.") return ClusterAutoscalerMetrics{}, fmt.Errorf("Master's Kubelet is not registered. Skipping ClusterAutoscaler's metrics gathering")
} }
var client clientset.Interface var client clientset.Interface
var namespace string var namespace string
@ -154,9 +155,10 @@ func (g *MetricsGrabber) GrabFromClusterAutoscaler() (ClusterAutoscalerMetrics,
return parseClusterAutoscalerMetrics(output) return parseClusterAutoscalerMetrics(output)
} }
func (g *MetricsGrabber) GrabFromControllerManager() (ControllerManagerMetrics, error) { // GrabFromControllerManager returns metrics from controller manager
func (g *Grabber) GrabFromControllerManager() (ControllerManagerMetrics, error) {
if !g.registeredMaster { if !g.registeredMaster {
return ControllerManagerMetrics{}, fmt.Errorf("Master's Kubelet is not registered. Skipping ControllerManager's metrics gathering.") return ControllerManagerMetrics{}, fmt.Errorf("Master's Kubelet is not registered. Skipping ControllerManager's metrics gathering")
} }
output, err := g.getMetricsFromPod(g.client, fmt.Sprintf("%v-%v", "kube-controller-manager", g.masterName), metav1.NamespaceSystem, ports.InsecureKubeControllerManagerPort) output, err := g.getMetricsFromPod(g.client, fmt.Sprintf("%v-%v", "kube-controller-manager", g.masterName), metav1.NamespaceSystem, ports.InsecureKubeControllerManagerPort)
if err != nil { if err != nil {
@ -165,23 +167,25 @@ func (g *MetricsGrabber) GrabFromControllerManager() (ControllerManagerMetrics,
return parseControllerManagerMetrics(output) return parseControllerManagerMetrics(output)
} }
func (g *MetricsGrabber) GrabFromApiServer() (ApiServerMetrics, error) { // GrabFromAPIServer returns metrics from API server
output, err := g.getMetricsFromApiServer() func (g *Grabber) GrabFromAPIServer() (APIServerMetrics, error) {
output, err := g.getMetricsFromAPIServer()
if err != nil { if err != nil {
return ApiServerMetrics{}, nil return APIServerMetrics{}, nil
} }
return parseApiServerMetrics(output) return parseAPIServerMetrics(output)
} }
func (g *MetricsGrabber) Grab() (MetricsCollection, error) { // Grab returns metrics from corresponding component
result := MetricsCollection{} func (g *Grabber) Grab() (Collection, error) {
result := Collection{}
var errs []error var errs []error
if g.grabFromApiServer { if g.grabFromAPIServer {
metrics, err := g.GrabFromApiServer() metrics, err := g.GrabFromAPIServer()
if err != nil { if err != nil {
errs = append(errs, err) errs = append(errs, err)
} else { } else {
result.ApiServerMetrics = metrics result.APIServerMetrics = metrics
} }
} }
if g.grabFromScheduler { if g.grabFromScheduler {
@ -230,7 +234,7 @@ func (g *MetricsGrabber) Grab() (MetricsCollection, error) {
return result, nil return result, nil
} }
func (g *MetricsGrabber) getMetricsFromPod(client clientset.Interface, podName string, namespace string, port int) (string, error) { func (g *Grabber) getMetricsFromPod(client clientset.Interface, podName string, namespace string, port int) (string, error) {
rawOutput, err := client.CoreV1().RESTClient().Get(). rawOutput, err := client.CoreV1().RESTClient().Get().
Namespace(namespace). Namespace(namespace).
Resource("pods"). Resource("pods").

View File

@ -16,19 +16,21 @@ limitations under the License.
package metrics package metrics
// SchedulerMetrics is metrics for scheduler
type SchedulerMetrics Metrics type SchedulerMetrics Metrics
// Equal returns true if all metrics are the same as the arguments.
func (m *SchedulerMetrics) Equal(o SchedulerMetrics) bool { func (m *SchedulerMetrics) Equal(o SchedulerMetrics) bool {
return (*Metrics)(m).Equal(Metrics(o)) return (*Metrics)(m).Equal(Metrics(o))
} }
func NewSchedulerMetrics() SchedulerMetrics { func newSchedulerMetrics() SchedulerMetrics {
result := NewMetrics() result := NewMetrics()
return SchedulerMetrics(result) return SchedulerMetrics(result)
} }
func parseSchedulerMetrics(data string) (SchedulerMetrics, error) { func parseSchedulerMetrics(data string) (SchedulerMetrics, error) {
result := NewSchedulerMetrics() result := newSchedulerMetrics()
if err := parseMetrics(data, (*Metrics)(&result)); err != nil { if err := parseMetrics(data, (*Metrics)(&result)); err != nil {
return SchedulerMetrics{}, err return SchedulerMetrics{}, err
} }

View File

@ -65,12 +65,12 @@ const (
caFunctionMetricLabel = "function" caFunctionMetricLabel = "function"
) )
type MetricsForE2E metrics.MetricsCollection type MetricsForE2E metrics.Collection
func (m *MetricsForE2E) filterMetrics() { func (m *MetricsForE2E) filterMetrics() {
interestingApiServerMetrics := make(metrics.ApiServerMetrics) interestingAPIServerMetrics := make(metrics.APIServerMetrics)
for _, metric := range InterestingApiServerMetrics { for _, metric := range InterestingAPIServerMetrics {
interestingApiServerMetrics[metric] = (*m).ApiServerMetrics[metric] interestingAPIServerMetrics[metric] = (*m).APIServerMetrics[metric]
} }
interestingControllerManagerMetrics := make(metrics.ControllerManagerMetrics) interestingControllerManagerMetrics := make(metrics.ControllerManagerMetrics)
for _, metric := range InterestingControllerManagerMetrics { for _, metric := range InterestingControllerManagerMetrics {
@ -87,7 +87,7 @@ func (m *MetricsForE2E) filterMetrics() {
interestingKubeletMetrics[kubelet][metric] = grabbed[metric] interestingKubeletMetrics[kubelet][metric] = grabbed[metric]
} }
} }
(*m).ApiServerMetrics = interestingApiServerMetrics (*m).APIServerMetrics = interestingAPIServerMetrics
(*m).ControllerManagerMetrics = interestingControllerManagerMetrics (*m).ControllerManagerMetrics = interestingControllerManagerMetrics
(*m).KubeletMetrics = interestingKubeletMetrics (*m).KubeletMetrics = interestingKubeletMetrics
} }
@ -112,12 +112,11 @@ func printSample(sample *model.Sample) string {
return fmt.Sprintf("[%v] = %v", strings.Join(buf, ","), sample.Value) return fmt.Sprintf("[%v] = %v", strings.Join(buf, ","), sample.Value)
} }
func (m *MetricsForE2E) PrintHumanReadable() string { func (m *MetricsForE2E) PrintHumanReadable() string {
buf := bytes.Buffer{} buf := bytes.Buffer{}
for _, interestingMetric := range InterestingApiServerMetrics { for _, interestingMetric := range InterestingAPIServerMetrics {
buf.WriteString(fmt.Sprintf("For %v:\n", interestingMetric)) buf.WriteString(fmt.Sprintf("For %v:\n", interestingMetric))
for _, sample := range (*m).ApiServerMetrics[interestingMetric] { for _, sample := range (*m).APIServerMetrics[interestingMetric] {
buf.WriteString(fmt.Sprintf("\t%v\n", printSample(sample))) buf.WriteString(fmt.Sprintf("\t%v\n", printSample(sample)))
} }
} }
@ -156,7 +155,7 @@ func (m *MetricsForE2E) SummaryKind() string {
var SchedulingLatencyMetricName = model.LabelValue(schedulermetric.SchedulerSubsystem + "_" + schedulermetric.SchedulingLatencyName) var SchedulingLatencyMetricName = model.LabelValue(schedulermetric.SchedulerSubsystem + "_" + schedulermetric.SchedulingLatencyName)
var InterestingApiServerMetrics = []string{ var InterestingAPIServerMetrics = []string{
"apiserver_request_total", "apiserver_request_total",
// TODO(krzysied): apiserver_request_latencies_summary is a deprecated metric. // TODO(krzysied): apiserver_request_latencies_summary is a deprecated metric.
// It should be replaced with new metric. // It should be replaced with new metric.
@ -815,7 +814,7 @@ func PrintLatencies(latencies []PodLatencyData, header string) {
Logf("perc50: %v, perc90: %v, perc99: %v", metrics.Perc50, metrics.Perc90, metrics.Perc99) Logf("perc50: %v, perc90: %v, perc99: %v", metrics.Perc50, metrics.Perc90, metrics.Perc99)
} }
func (m *MetricsForE2E) computeClusterAutoscalerMetricsDelta(before metrics.MetricsCollection) { func (m *MetricsForE2E) computeClusterAutoscalerMetricsDelta(before metrics.Collection) {
if beforeSamples, found := before.ClusterAutoscalerMetrics[caFunctionMetric]; found { if beforeSamples, found := before.ClusterAutoscalerMetrics[caFunctionMetric]; found {
if afterSamples, found := m.ClusterAutoscalerMetrics[caFunctionMetric]; found { if afterSamples, found := m.ClusterAutoscalerMetrics[caFunctionMetric]; found {
beforeSamplesMap := make(map[string]*model.Sample) beforeSamplesMap := make(map[string]*model.Sample)

View File

@ -32,7 +32,7 @@ import (
var _ = instrumentation.SIGDescribe("MetricsGrabber", func() { var _ = instrumentation.SIGDescribe("MetricsGrabber", func() {
f := framework.NewDefaultFramework("metrics-grabber") f := framework.NewDefaultFramework("metrics-grabber")
var c, ec clientset.Interface var c, ec clientset.Interface
var grabber *metrics.MetricsGrabber var grabber *metrics.Grabber
gin.BeforeEach(func() { gin.BeforeEach(func() {
var err error var err error
c = f.ClientSet c = f.ClientSet
@ -44,7 +44,7 @@ var _ = instrumentation.SIGDescribe("MetricsGrabber", func() {
gin.It("should grab all metrics from API server.", func() { gin.It("should grab all metrics from API server.", func() {
gin.By("Connecting to /metrics endpoint") gin.By("Connecting to /metrics endpoint")
response, err := grabber.GrabFromApiServer() response, err := grabber.GrabFromAPIServer()
framework.ExpectNoError(err) framework.ExpectNoError(err)
gom.Expect(response).NotTo(gom.BeEmpty()) gom.Expect(response).NotTo(gom.BeEmpty())
}) })

View File

@ -42,7 +42,7 @@ var _ = utils.SIGDescribe("[Serial] Volume metrics", func() {
c clientset.Interface c clientset.Interface
ns string ns string
pvc *v1.PersistentVolumeClaim pvc *v1.PersistentVolumeClaim
metricsGrabber *metrics.MetricsGrabber metricsGrabber *metrics.Grabber
) )
f := framework.NewDefaultFramework("pv") f := framework.NewDefaultFramework("pv")
@ -422,7 +422,7 @@ var _ = utils.SIGDescribe("[Serial] Volume metrics", func() {
}) })
}) })
func waitForDetachAndGrabMetrics(oldMetrics map[string]int64, metricsGrabber *metrics.MetricsGrabber) map[string]int64 { func waitForDetachAndGrabMetrics(oldMetrics map[string]int64, metricsGrabber *metrics.Grabber) map[string]int64 {
backoff := wait.Backoff{ backoff := wait.Backoff{
Duration: 10 * time.Second, Duration: 10 * time.Second,
Factor: 1.2, Factor: 1.2,
@ -527,7 +527,7 @@ func findVolumeStatMetric(metricKeyName string, namespace string, pvcName string
} }
// Wait for the count of a pv controller's metric specified by metricName and dimension bigger than zero. // Wait for the count of a pv controller's metric specified by metricName and dimension bigger than zero.
func waitForPVControllerSync(metricsGrabber *metrics.MetricsGrabber, metricName, dimension string) { func waitForPVControllerSync(metricsGrabber *metrics.Grabber, metricName, dimension string) {
backoff := wait.Backoff{ backoff := wait.Backoff{
Duration: 10 * time.Second, Duration: 10 * time.Second,
Factor: 1.2, Factor: 1.2,
@ -608,7 +608,7 @@ func getStatesMetrics(metricKey string, givenMetrics metrics.Metrics) map[string
return states return states
} }
func waitForADControllerStatesMetrics(metricsGrabber *metrics.MetricsGrabber, metricName string, dimensions []string, stateNames []string) { func waitForADControllerStatesMetrics(metricsGrabber *metrics.Grabber, metricName string, dimensions []string, stateNames []string) {
backoff := wait.Backoff{ backoff := wait.Backoff{
Duration: 10 * time.Second, Duration: 10 * time.Second,
Factor: 1.2, Factor: 1.2,