• 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
..
BUILD Loading commit data...
OWNERS Loading commit data...
operation_executor.go Loading commit data...
operation_executor_test.go Loading commit data...
operation_generator.go Loading commit data...