@@ -241,9 +241,22 @@ impl Configurator {
241
241
debug ! ( "resource_type {}" , & resource. resource_type) ;
242
242
let filter = add_metadata ( & dsc_resource. kind , properties) ?;
243
243
trace ! ( "filter: {filter}" ) ;
244
+ let start_datetime = chrono:: Local :: now ( ) ;
244
245
let get_result = dsc_resource. get ( & filter) ?;
246
+ let end_datetime = chrono:: Local :: now ( ) ;
245
247
self . context . outputs . insert ( format ! ( "{}:{}" , resource. resource_type, resource. name) , serde_json:: to_value ( & get_result) ?) ;
246
248
let resource_result = config_result:: ResourceGetResult {
249
+ metadata : Some (
250
+ Metadata {
251
+ microsoft : Some (
252
+ MicrosoftDscMetadata {
253
+ version : Some ( dsc_resource. version . clone ( ) ) ,
254
+ duration : Some ( end_datetime. signed_duration_since ( start_datetime) . to_string ( ) ) ,
255
+ ..Default :: default ( )
256
+ }
257
+ )
258
+ }
259
+ ) ,
247
260
name : resource. name . clone ( ) ,
248
261
resource_type : resource. resource_type . clone ( ) ,
249
262
result : get_result,
@@ -303,9 +316,22 @@ impl Configurator {
303
316
304
317
if exist || dsc_resource. capabilities . contains ( & Capability :: SetHandlesExist ) {
305
318
debug ! ( "Resource handles _exist or _exist is true" ) ;
319
+ let start_datetime = chrono:: Local :: now ( ) ;
306
320
let set_result = dsc_resource. set ( & desired, skip_test) ?;
321
+ let end_datetime = chrono:: Local :: now ( ) ;
307
322
self . context . outputs . insert ( format ! ( "{}:{}" , resource. resource_type, resource. name) , serde_json:: to_value ( & set_result) ?) ;
308
323
let resource_result = config_result:: ResourceSetResult {
324
+ metadata : Some (
325
+ Metadata {
326
+ microsoft : Some (
327
+ MicrosoftDscMetadata {
328
+ version : Some ( dsc_resource. version . clone ( ) ) ,
329
+ duration : Some ( end_datetime. signed_duration_since ( start_datetime) . to_string ( ) ) ,
330
+ ..Default :: default ( )
331
+ }
332
+ )
333
+ }
334
+ ) ,
309
335
name : resource. name . clone ( ) ,
310
336
resource_type : resource. resource_type . clone ( ) ,
311
337
result : set_result,
@@ -314,7 +340,9 @@ impl Configurator {
314
340
} else if dsc_resource. capabilities . contains ( & Capability :: Delete ) {
315
341
debug ! ( "Resource implements delete and _exist is false" ) ;
316
342
let before_result = dsc_resource. get ( & desired) ?;
343
+ let start_datetime = chrono:: Local :: now ( ) ;
317
344
dsc_resource. delete ( & desired) ?;
345
+ let end_datetime = chrono:: Local :: now ( ) ;
318
346
let after_result = dsc_resource. get ( & desired) ?;
319
347
// convert get result to set result
320
348
let set_result = match before_result {
@@ -336,6 +364,17 @@ impl Configurator {
336
364
} ;
337
365
self . context . outputs . insert ( format ! ( "{}:{}" , resource. resource_type, resource. name) , serde_json:: to_value ( & set_result) ?) ;
338
366
let resource_result = config_result:: ResourceSetResult {
367
+ metadata : Some (
368
+ Metadata {
369
+ microsoft : Some (
370
+ MicrosoftDscMetadata {
371
+ version : Some ( dsc_resource. version . clone ( ) ) ,
372
+ duration : Some ( end_datetime. signed_duration_since ( start_datetime) . to_string ( ) ) ,
373
+ ..Default :: default ( )
374
+ }
375
+ )
376
+ }
377
+ ) ,
339
378
name : resource. name . clone ( ) ,
340
379
resource_type : resource. resource_type . clone ( ) ,
341
380
result : SetResult :: Resource ( set_result) ,
@@ -380,9 +419,22 @@ impl Configurator {
380
419
debug ! ( "resource_type {}" , & resource. resource_type) ;
381
420
let expected = add_metadata ( & dsc_resource. kind , properties) ?;
382
421
trace ! ( "expected: {expected}" ) ;
422
+ let start_datetime = chrono:: Local :: now ( ) ;
383
423
let test_result = dsc_resource. test ( & expected) ?;
424
+ let end_datetime = chrono:: Local :: now ( ) ;
384
425
self . context . outputs . insert ( format ! ( "{}:{}" , resource. resource_type, resource. name) , serde_json:: to_value ( & test_result) ?) ;
385
426
let resource_result = config_result:: ResourceTestResult {
427
+ metadata : Some (
428
+ Metadata {
429
+ microsoft : Some (
430
+ MicrosoftDscMetadata {
431
+ version : Some ( dsc_resource. version . clone ( ) ) ,
432
+ duration : Some ( end_datetime. signed_duration_since ( start_datetime) . to_string ( ) ) ,
433
+ ..Default :: default ( )
434
+ }
435
+ )
436
+ }
437
+ ) ,
386
438
name : resource. name . clone ( ) ,
387
439
resource_type : resource. resource_type . clone ( ) ,
388
440
result : test_result,
0 commit comments