@@ -32,6 +32,7 @@ import (
32
32
"k8s.io/klog/v2"
33
33
34
34
"sigs.k8s.io/blob-csi-driver/pkg/util"
35
+ "sigs.k8s.io/cloud-provider-azure/pkg/metrics"
35
36
azure "sigs.k8s.io/cloud-provider-azure/pkg/provider"
36
37
)
37
38
@@ -171,6 +172,12 @@ func (d *Driver) CreateVolume(ctx context.Context, req *csi.CreateVolumeRequest)
171
172
parameters [containerNameField ] = containerName
172
173
}
173
174
175
+ mc := metrics .NewMetricContext (blobCSIDriverName , "controller_create_volume" , d .cloud .ResourceGroup , d .cloud .SubscriptionID , d .Name )
176
+ isOperationSucceeded := false
177
+ defer func () {
178
+ mc .ObserveOperationWithResult (isOperationSucceeded )
179
+ }()
180
+
174
181
klog .V (2 ).Infof ("begin to create container(%s) on account(%s) type(%s) rg(%s) location(%s) size(%d)" , containerName , accountName , storageAccountType , resourceGroup , location , requestGiB )
175
182
client , err := azstorage .NewBasicClientOnSovereignCloud (accountName , accountKey , d .cloud .Environment )
176
183
if err != nil {
@@ -196,6 +203,7 @@ func (d *Driver) CreateVolume(ctx context.Context, req *csi.CreateVolumeRequest)
196
203
volumeID := fmt .Sprintf (volumeIDTemplate , resourceGroup , accountName , containerName )
197
204
klog .V (2 ).Infof ("create container %s on storage account %s successfully" , containerName , accountName )
198
205
206
+ isOperationSucceeded = true
199
207
return & csi.CreateVolumeResponse {
200
208
Volume : & csi.Volume {
201
209
VolumeId : volumeID ,
@@ -231,6 +239,12 @@ func (d *Driver) DeleteVolume(ctx context.Context, req *csi.DeleteVolumeRequest)
231
239
resourceGroupName = d .cloud .ResourceGroup
232
240
}
233
241
242
+ mc := metrics .NewMetricContext (blobCSIDriverName , "controller_delete_volume" , d .cloud .ResourceGroup , d .cloud .SubscriptionID , d .Name )
243
+ isOperationSucceeded := false
244
+ defer func () {
245
+ mc .ObserveOperationWithResult (isOperationSucceeded )
246
+ }()
247
+
234
248
var accountKey string
235
249
if len (req .GetSecrets ()) == 0 { // check whether account is provided by secret
236
250
accountKey , err = d .cloud .GetStorageAccesskey (accountName , resourceGroupName )
@@ -263,6 +277,7 @@ func (d *Driver) DeleteVolume(ctx context.Context, req *csi.DeleteVolumeRequest)
263
277
return nil , err
264
278
}
265
279
280
+ isOperationSucceeded = true
266
281
klog .V (2 ).Infof ("container(%s) under rg(%s) account(%s) volumeID(%s) is deleted successfully" , containerName , resourceGroupName , accountName , volumeID )
267
282
return & csi.DeleteVolumeResponse {}, nil
268
283
}
0 commit comments