From 8a7607a308a4f6a3382635e2bf2f29ae42947890 Mon Sep 17 00:00:00 2001 From: Yecheng Fu Date: Tue, 3 Sep 2019 14:06:43 +0800 Subject: [PATCH] volume scheduling: move metrics code into a separate pkg --- pkg/controller/volume/scheduling/BUILD | 10 +++---- .../volume/scheduling/metrics/BUILD | 27 +++++++++++++++++++ .../metrics.go} | 2 +- .../volume/scheduling/scheduler_binder.go | 13 ++++----- .../scheduling/scheduler_binder_cache.go | 7 ++--- pkg/scheduler/metrics/BUILD | 2 +- pkg/scheduler/metrics/metrics.go | 4 +-- 7 files changed, 47 insertions(+), 18 deletions(-) create mode 100644 pkg/controller/volume/scheduling/metrics/BUILD rename pkg/controller/volume/scheduling/{scheduler_bind_cache_metrics.go => metrics/metrics.go} (99%) diff --git a/pkg/controller/volume/scheduling/BUILD b/pkg/controller/volume/scheduling/BUILD index 1e6af527c8b..c9e2acec895 100644 --- a/pkg/controller/volume/scheduling/BUILD +++ b/pkg/controller/volume/scheduling/BUILD @@ -4,7 +4,6 @@ go_library( name = "go_default_library", srcs = [ "scheduler_assume_cache.go", - "scheduler_bind_cache_metrics.go", "scheduler_binder.go", "scheduler_binder_cache.go", "scheduler_binder_fake.go", @@ -14,6 +13,7 @@ go_library( deps = [ "//pkg/apis/core/v1/helper:go_default_library", "//pkg/controller/volume/persistentvolume/util:go_default_library", + "//pkg/controller/volume/scheduling/metrics:go_default_library", "//pkg/volume/util:go_default_library", "//staging/src/k8s.io/api/core/v1:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/api/meta:go_default_library", @@ -26,9 +26,6 @@ go_library( "//staging/src/k8s.io/client-go/kubernetes:go_default_library", "//staging/src/k8s.io/client-go/listers/storage/v1:go_default_library", "//staging/src/k8s.io/client-go/tools/cache:go_default_library", - "//staging/src/k8s.io/component-base/metrics:go_default_library", - "//staging/src/k8s.io/component-base/metrics/legacyregistry:go_default_library", - "//vendor/github.com/prometheus/client_golang/prometheus:go_default_library", "//vendor/k8s.io/klog:go_default_library", ], ) @@ -72,7 +69,10 @@ filegroup( filegroup( name = "all-srcs", - srcs = [":package-srcs"], + srcs = [ + ":package-srcs", + "//pkg/controller/volume/scheduling/metrics:all-srcs", + ], tags = ["automanaged"], visibility = ["//visibility:public"], ) diff --git a/pkg/controller/volume/scheduling/metrics/BUILD b/pkg/controller/volume/scheduling/metrics/BUILD new file mode 100644 index 00000000000..914de9d2089 --- /dev/null +++ b/pkg/controller/volume/scheduling/metrics/BUILD @@ -0,0 +1,27 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library") + +go_library( + name = "go_default_library", + srcs = ["metrics.go"], + importpath = "k8s.io/kubernetes/pkg/controller/volume/scheduling/metrics", + visibility = ["//visibility:public"], + deps = [ + "//staging/src/k8s.io/component-base/metrics:go_default_library", + "//staging/src/k8s.io/component-base/metrics/legacyregistry:go_default_library", + "//vendor/github.com/prometheus/client_golang/prometheus:go_default_library", + ], +) + +filegroup( + name = "package-srcs", + srcs = glob(["**"]), + tags = ["automanaged"], + visibility = ["//visibility:private"], +) + +filegroup( + name = "all-srcs", + srcs = [":package-srcs"], + tags = ["automanaged"], + visibility = ["//visibility:public"], +) diff --git a/pkg/controller/volume/scheduling/scheduler_bind_cache_metrics.go b/pkg/controller/volume/scheduling/metrics/metrics.go similarity index 99% rename from pkg/controller/volume/scheduling/scheduler_bind_cache_metrics.go rename to pkg/controller/volume/scheduling/metrics/metrics.go index fef24acb0bd..d485b380cb0 100644 --- a/pkg/controller/volume/scheduling/scheduler_bind_cache_metrics.go +++ b/pkg/controller/volume/scheduling/metrics/metrics.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package scheduling +package metrics import ( "github.com/prometheus/client_golang/prometheus" diff --git a/pkg/controller/volume/scheduling/scheduler_binder.go b/pkg/controller/volume/scheduling/scheduler_binder.go index fbb0b1240e7..3a6431d3aca 100644 --- a/pkg/controller/volume/scheduling/scheduler_binder.go +++ b/pkg/controller/volume/scheduling/scheduler_binder.go @@ -33,6 +33,7 @@ import ( "k8s.io/klog" v1helper "k8s.io/kubernetes/pkg/apis/core/v1/helper" pvutil "k8s.io/kubernetes/pkg/controller/volume/persistentvolume/util" + "k8s.io/kubernetes/pkg/controller/volume/scheduling/metrics" volumeutil "k8s.io/kubernetes/pkg/volume/util" ) @@ -154,9 +155,9 @@ func (b *volumeBinder) FindPodVolumes(pod *v1.Pod, node *v1.Node) (unboundVolume boundVolumesSatisfied = true start := time.Now() defer func() { - VolumeSchedulingStageLatency.WithLabelValues("predicate").Observe(time.Since(start).Seconds()) + metrics.VolumeSchedulingStageLatency.WithLabelValues("predicate").Observe(time.Since(start).Seconds()) if err != nil { - VolumeSchedulingStageFailed.WithLabelValues("predicate").Inc() + metrics.VolumeSchedulingStageFailed.WithLabelValues("predicate").Inc() } }() @@ -256,9 +257,9 @@ func (b *volumeBinder) AssumePodVolumes(assumedPod *v1.Pod, nodeName string) (al klog.V(4).Infof("AssumePodVolumes for pod %q, node %q", podName, nodeName) start := time.Now() defer func() { - VolumeSchedulingStageLatency.WithLabelValues("assume").Observe(time.Since(start).Seconds()) + metrics.VolumeSchedulingStageLatency.WithLabelValues("assume").Observe(time.Since(start).Seconds()) if err != nil { - VolumeSchedulingStageFailed.WithLabelValues("assume").Inc() + metrics.VolumeSchedulingStageFailed.WithLabelValues("assume").Inc() } }() @@ -332,9 +333,9 @@ func (b *volumeBinder) BindPodVolumes(assumedPod *v1.Pod) (err error) { start := time.Now() defer func() { - VolumeSchedulingStageLatency.WithLabelValues("bind").Observe(time.Since(start).Seconds()) + metrics.VolumeSchedulingStageLatency.WithLabelValues("bind").Observe(time.Since(start).Seconds()) if err != nil { - VolumeSchedulingStageFailed.WithLabelValues("bind").Inc() + metrics.VolumeSchedulingStageFailed.WithLabelValues("bind").Inc() } }() diff --git a/pkg/controller/volume/scheduling/scheduler_binder_cache.go b/pkg/controller/volume/scheduling/scheduler_binder_cache.go index 5b02412239c..5452e1f349c 100644 --- a/pkg/controller/volume/scheduling/scheduler_binder_cache.go +++ b/pkg/controller/volume/scheduling/scheduler_binder_cache.go @@ -19,7 +19,8 @@ package scheduling import ( "sync" - "k8s.io/api/core/v1" + v1 "k8s.io/api/core/v1" + "k8s.io/kubernetes/pkg/controller/volume/scheduling/metrics" ) // PodBindingCache stores PV binding decisions per pod per node. @@ -93,7 +94,7 @@ func (c *podBindingCache) DeleteBindings(pod *v1.Pod) { if _, ok := c.bindingDecisions[podName]; ok { delete(c.bindingDecisions, podName) - VolumeBindingRequestSchedulerBinderCache.WithLabelValues("delete").Inc() + metrics.VolumeBindingRequestSchedulerBinderCache.WithLabelValues("delete").Inc() } } @@ -113,7 +114,7 @@ func (c *podBindingCache) UpdateBindings(pod *v1.Pod, node string, bindings []*b bindings: bindings, provisionings: pvcs, } - VolumeBindingRequestSchedulerBinderCache.WithLabelValues("add").Inc() + metrics.VolumeBindingRequestSchedulerBinderCache.WithLabelValues("add").Inc() } else { decision.bindings = bindings decision.provisionings = pvcs diff --git a/pkg/scheduler/metrics/BUILD b/pkg/scheduler/metrics/BUILD index f698d44ad16..6054ea4a7aa 100644 --- a/pkg/scheduler/metrics/BUILD +++ b/pkg/scheduler/metrics/BUILD @@ -10,7 +10,7 @@ go_library( ], importpath = "k8s.io/kubernetes/pkg/scheduler/metrics", deps = [ - "//pkg/controller/volume/scheduling:go_default_library", + "//pkg/controller/volume/scheduling/metrics:go_default_library", "//staging/src/k8s.io/component-base/metrics:go_default_library", "//staging/src/k8s.io/component-base/metrics/legacyregistry:go_default_library", "//vendor/github.com/prometheus/client_golang/prometheus:go_default_library", diff --git a/pkg/scheduler/metrics/metrics.go b/pkg/scheduler/metrics/metrics.go index 95687dbf35d..af5b8308d3a 100644 --- a/pkg/scheduler/metrics/metrics.go +++ b/pkg/scheduler/metrics/metrics.go @@ -24,7 +24,7 @@ import ( "k8s.io/component-base/metrics" "k8s.io/component-base/metrics/legacyregistry" - volumescheduling "k8s.io/kubernetes/pkg/controller/volume/scheduling" + volumeschedulingmetrics "k8s.io/kubernetes/pkg/controller/volume/scheduling/metrics" ) const ( @@ -251,7 +251,7 @@ func Register() { for _, metric := range metricsList { legacyregistry.MustRegister(metric) } - volumescheduling.RegisterVolumeSchedulingMetrics() + volumeschedulingmetrics.RegisterVolumeSchedulingMetrics() }) }