|  | Copyright 2020 The Monogon Project 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. | 
|  |  | 
|  |  | 
|  | From ee4a7df588550ee5cbc3b8419e1ce185a8abb302 Mon Sep 17 00:00:00 2001 | 
|  | From: Lorenz Brun <lorenz@brun.one> | 
|  | Date: Tue, 17 Mar 2020 22:07:24 +0100 | 
|  | Subject: [PATCH 3/3] Use StatFS and Native volume metrics instead of du | 
|  |  | 
|  | --- | 
|  | pkg/kubelet/stats/log_metrics_provider.go | 2 +- | 
|  | pkg/volume/configmap/configmap.go         | 4 ++-- | 
|  | pkg/volume/downwardapi/downwardapi.go     | 4 ++-- | 
|  | pkg/volume/emptydir/empty_dir.go          | 4 ++-- | 
|  | pkg/volume/projected/projected.go         | 4 ++-- | 
|  | pkg/volume/secret/secret.go               | 4 ++-- | 
|  | 6 files changed, 11 insertions(+), 11 deletions(-) | 
|  |  | 
|  | diff --git a/pkg/kubelet/stats/log_metrics_provider.go b/pkg/kubelet/stats/log_metrics_provider.go | 
|  | index 4a53eef74a3..ff87fec5ec3 100644 | 
|  | --- a/pkg/kubelet/stats/log_metrics_provider.go | 
|  | +++ b/pkg/kubelet/stats/log_metrics_provider.go | 
|  | @@ -33,5 +33,5 @@ func NewLogMetricsService() LogMetricsService { | 
|  | } | 
|  |  | 
|  | func (l logMetrics) createLogMetricsProvider(path string) volume.MetricsProvider { | 
|  | -	return volume.NewMetricsDu(path) | 
|  | +	return volume.NewMetricsNative(path) | 
|  | } | 
|  | diff --git a/pkg/volume/configmap/configmap.go b/pkg/volume/configmap/configmap.go | 
|  | index 0e74dd0a1d8..430d739aab7 100644 | 
|  | --- a/pkg/volume/configmap/configmap.go | 
|  | +++ b/pkg/volume/configmap/configmap.go | 
|  | @@ -97,7 +97,7 @@ func (plugin *configMapPlugin) NewMounter(spec *volume.Spec, pod *v1.Pod, opts v | 
|  | pod.UID, | 
|  | plugin, | 
|  | plugin.host.GetMounter(plugin.GetPluginName()), | 
|  | -			volume.NewCachedMetrics(volume.NewMetricsDu(getPath(pod.UID, spec.Name(), plugin.host))), | 
|  | +			volume.NewCachedMetrics(volume.NewMetricsNative(getPath(pod.UID, spec.Name(), plugin.host))), | 
|  | }, | 
|  | source:       *spec.Volume.ConfigMap, | 
|  | pod:          *pod, | 
|  | @@ -113,7 +113,7 @@ func (plugin *configMapPlugin) NewUnmounter(volName string, podUID types.UID) (v | 
|  | podUID, | 
|  | plugin, | 
|  | plugin.host.GetMounter(plugin.GetPluginName()), | 
|  | -			volume.NewCachedMetrics(volume.NewMetricsDu(getPath(podUID, volName, plugin.host))), | 
|  | +			volume.NewCachedMetrics(volume.NewMetricsNative(getPath(podUID, volName, plugin.host))), | 
|  | }, | 
|  | }, nil | 
|  | } | 
|  | diff --git a/pkg/volume/downwardapi/downwardapi.go b/pkg/volume/downwardapi/downwardapi.go | 
|  | index a1779c0dac9..f0a0f99b318 100644 | 
|  | --- a/pkg/volume/downwardapi/downwardapi.go | 
|  | +++ b/pkg/volume/downwardapi/downwardapi.go | 
|  | @@ -99,7 +99,7 @@ func (plugin *downwardAPIPlugin) NewMounter(spec *volume.Spec, pod *v1.Pod, opts | 
|  | pod:             pod, | 
|  | podUID:          pod.UID, | 
|  | plugin:          plugin, | 
|  | -		MetricsProvider: volume.NewCachedMetrics(volume.NewMetricsDu(getPath(pod.UID, spec.Name(), plugin.host))), | 
|  | +		MetricsProvider: volume.NewCachedMetrics(volume.NewMetricsStatFS(getPath(pod.UID, spec.Name(), plugin.host))), | 
|  | } | 
|  | return &downwardAPIVolumeMounter{ | 
|  | downwardAPIVolume: v, | 
|  | @@ -114,7 +114,7 @@ func (plugin *downwardAPIPlugin) NewUnmounter(volName string, podUID types.UID) | 
|  | volName:         volName, | 
|  | podUID:          podUID, | 
|  | plugin:          plugin, | 
|  | -			MetricsProvider: volume.NewCachedMetrics(volume.NewMetricsDu(getPath(podUID, volName, plugin.host))), | 
|  | +			MetricsProvider: volume.NewCachedMetrics(volume.NewMetricsStatFS(getPath(podUID, volName, plugin.host))), | 
|  | }, | 
|  | }, nil | 
|  | } | 
|  | diff --git a/pkg/volume/emptydir/empty_dir.go b/pkg/volume/emptydir/empty_dir.go | 
|  | index 0a25d2b684c..5dc83b90c5b 100644 | 
|  | --- a/pkg/volume/emptydir/empty_dir.go | 
|  | +++ b/pkg/volume/emptydir/empty_dir.go | 
|  | @@ -121,7 +121,7 @@ func (plugin *emptyDirPlugin) newMounterInternal(spec *volume.Spec, pod *v1.Pod, | 
|  | mounter:         mounter, | 
|  | mountDetector:   mountDetector, | 
|  | plugin:          plugin, | 
|  | -		MetricsProvider: volume.NewMetricsDu(getPath(pod.UID, spec.Name(), plugin.host)), | 
|  | +		MetricsProvider: volume.NewMetricsNative(getPath(pod.UID, spec.Name(), plugin.host)), | 
|  | }, nil | 
|  | } | 
|  |  | 
|  | @@ -138,7 +138,7 @@ func (plugin *emptyDirPlugin) newUnmounterInternal(volName string, podUID types. | 
|  | mounter:         mounter, | 
|  | mountDetector:   mountDetector, | 
|  | plugin:          plugin, | 
|  | -		MetricsProvider: volume.NewMetricsDu(getPath(podUID, volName, plugin.host)), | 
|  | +		MetricsProvider: volume.NewMetricsNative(getPath(podUID, volName, plugin.host)), | 
|  | } | 
|  | return ed, nil | 
|  | } | 
|  | diff --git a/pkg/volume/projected/projected.go b/pkg/volume/projected/projected.go | 
|  | index 0f65a97610c..890f9c1c7bc 100644 | 
|  | --- a/pkg/volume/projected/projected.go | 
|  | +++ b/pkg/volume/projected/projected.go | 
|  | @@ -114,7 +114,7 @@ func (plugin *projectedPlugin) NewMounter(spec *volume.Spec, pod *v1.Pod, opts v | 
|  | sources:         spec.Volume.Projected.Sources, | 
|  | podUID:          pod.UID, | 
|  | plugin:          plugin, | 
|  | -			MetricsProvider: volume.NewCachedMetrics(volume.NewMetricsDu(getPath(pod.UID, spec.Name(), plugin.host))), | 
|  | +			MetricsProvider: volume.NewCachedMetrics(volume.NewMetricsStatFS(getPath(pod.UID, spec.Name(), plugin.host))), | 
|  | }, | 
|  | source: *spec.Volume.Projected, | 
|  | pod:    pod, | 
|  | @@ -128,7 +128,7 @@ func (plugin *projectedPlugin) NewUnmounter(volName string, podUID types.UID) (v | 
|  | volName:         volName, | 
|  | podUID:          podUID, | 
|  | plugin:          plugin, | 
|  | -			MetricsProvider: volume.NewCachedMetrics(volume.NewMetricsDu(getPath(podUID, volName, plugin.host))), | 
|  | +			MetricsProvider: volume.NewCachedMetrics(volume.NewMetricsStatFS(getPath(podUID, volName, plugin.host))), | 
|  | }, | 
|  | }, nil | 
|  | } | 
|  | diff --git a/pkg/volume/secret/secret.go b/pkg/volume/secret/secret.go | 
|  | index a195c59ddd8..4c290cb8f24 100644 | 
|  | --- a/pkg/volume/secret/secret.go | 
|  | +++ b/pkg/volume/secret/secret.go | 
|  | @@ -100,7 +100,7 @@ func (plugin *secretPlugin) NewMounter(spec *volume.Spec, pod *v1.Pod, opts volu | 
|  | pod.UID, | 
|  | plugin, | 
|  | plugin.host.GetMounter(plugin.GetPluginName()), | 
|  | -			volume.NewCachedMetrics(volume.NewMetricsDu(getPath(pod.UID, spec.Name(), plugin.host))), | 
|  | +			volume.NewCachedMetrics(volume.NewMetricsStatFS(getPath(pod.UID, spec.Name(), plugin.host))), | 
|  | }, | 
|  | source:    *spec.Volume.Secret, | 
|  | pod:       *pod, | 
|  | @@ -116,7 +116,7 @@ func (plugin *secretPlugin) NewUnmounter(volName string, podUID types.UID) (volu | 
|  | podUID, | 
|  | plugin, | 
|  | plugin.host.GetMounter(plugin.GetPluginName()), | 
|  | -			volume.NewCachedMetrics(volume.NewMetricsDu(getPath(podUID, volName, plugin.host))), | 
|  | +			volume.NewCachedMetrics(volume.NewMetricsStatFS(getPath(podUID, volName, plugin.host))), | 
|  | }, | 
|  | }, nil | 
|  | } | 
|  | -- | 
|  | 2.25.1 | 
|  |  |