| 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 | 
 |  |