kubernetes/pkg/controller/volume/persistentvolume
Kubernetes Submit Queue 2a2f499455 Merge pull request #50036 from wongma7/metrics
Automatic merge from submit-queue

Add volume operation metrics to operation executor and PV controller

This PR implements the proposal for high level volume metrics https://github.com/kubernetes/community/pull/809

**Special notes for your reviewer**:

~Differences from proposal:~ all resolved

~"verify_volume" is now "verify_volumes_are_attached" + "verify_volumes_are_attached_per_node" + "verify_controller_attached_volume." Which of them do we want?~

~There is no "mount_device" metric because the MountVolume operation combines MountDevice and mount (plugin.Setup). Do we want to extract the mount_device metric or is it okay to keep mountvolume as one? For attachable volumes, MountDevice is the actual mount and Setup is a bindmount + setvolumeownership. For unattachable, mountDevice does not occur and Setup is an actual mount + setvolumeownership.~

~PV controller metrics I did not implement following the proposal at all. I did not change goroutinemap nor scheduleOperation. Because provisionClaimOperation does not return an error, so it's impossible for the caller to know if there is actually a failure worth reporting. So I manually create a new metric inside the function according to some conditions.~

@gnufied 

I have tested the operationexecutor metrics but not provision & delete. Sample: 
![screen shot 2017-08-02 at 15 01 08](https://user-images.githubusercontent.com/13111288/28889980-a7093526-7793-11e7-9aa9-ad7158be76fa.png)


**Release note**:

```release-note
Add error count and time-taken metrics for storage operations such as mount and attach, per-volume-plugin.
```
2017-08-28 04:20:49 -07:00
..
options Use buildozer to delete licenses() rules except under third_party/ 2017-08-11 09:32:39 -07:00
binder_test.go run ./root-rewrite-all-other-apis.sh, then run make all, pkg/... compiles 2017-06-22 11:30:52 -07:00
BUILD Add volume operation metrics to operation executor and PV controller 2017-08-23 14:27:47 -04:00
delete_test.go run ./root-rewrite-all-other-apis.sh, then run make all, pkg/... compiles 2017-06-22 11:30:52 -07:00
framework_test.go Adding dynamic Flexvolume plugin discovery capability, using filesystem watch. 2017-08-25 11:42:32 -07:00
index.go run hack/update-all 2017-06-22 11:31:03 -07:00
index_test.go Move pkg/api/v1/ref -> client-go/tools/reference 2017-07-18 22:45:43 +02:00
OWNERS Update OWNERS approvers and reviewers: pkg/controller 2016-11-02 16:19:18 -07:00
provision_test.go Add ReclaimPolicy field to StorageClass 2017-08-14 13:34:32 -04:00
pv_controller.go Merge pull request #50036 from wongma7/metrics 2017-08-28 04:20:49 -07:00
pv_controller_base.go Adding dynamic Flexvolume plugin discovery capability, using filesystem watch. 2017-08-25 11:42:32 -07:00
pv_controller_test.go Merge pull request #49016 from jsafrane/pv-controller-no-resync 2017-08-01 16:39:40 -07:00
recycle_test.go run ./root-rewrite-all-other-apis.sh, then run make all, pkg/... compiles 2017-06-22 11:30:52 -07:00
volume_host.go Add pluginName to VolumeHost.GetMouter 2017-08-14 12:16:26 +02:00