• Kubernetes Submit Queue's avatar
    Merge pull request #50036 from wongma7/metrics · 2a2f4994
    Kubernetes Submit Queue authored
    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.
    ```
    2a2f4994
Name
Last commit
Last update
..
nestedpendingoperations Loading commit data...
operationexecutor Loading commit data...
types Loading commit data...
volumehelper Loading commit data...
BUILD Loading commit data...
OWNERS Loading commit data...
atomic_writer.go Loading commit data...
atomic_writer_test.go Loading commit data...
device_util.go Loading commit data...
device_util_linux.go Loading commit data...
device_util_linux_test.go Loading commit data...
device_util_unsupported.go Loading commit data...
doc.go Loading commit data...
fs.go Loading commit data...
fs_unsupported.go Loading commit data...
io_util.go Loading commit data...
metrics.go Loading commit data...
util.go Loading commit data...
util_test.go Loading commit data...