@@ -401,8 +401,12 @@ static int check_updates(struct unpack_trees_options *o,
401
401
struct progress * progress ;
402
402
struct checkout state = CHECKOUT_INIT ;
403
403
int i ;
404
+ intmax_t sum_unlink = 0 ;
405
+ intmax_t sum_prefetch = 0 ;
406
+ intmax_t sum_checkout = 0 ;
404
407
405
408
trace_performance_enter ();
409
+ trace2_region_enter ("unpack_trees" , "check_updates" , NULL );
406
410
state .force = 1 ;
407
411
state .quiet = 1 ;
408
412
state .refresh_cache = 1 ;
@@ -411,8 +415,7 @@ static int check_updates(struct unpack_trees_options *o,
411
415
412
416
if (!o -> update || o -> dry_run ) {
413
417
remove_marked_cache_entries (index , 0 );
414
- trace_performance_leave ("check_updates" );
415
- return 0 ;
418
+ goto done ;
416
419
}
417
420
418
421
if (o -> clone )
@@ -434,6 +437,7 @@ static int check_updates(struct unpack_trees_options *o,
434
437
if (ce -> ce_flags & CE_WT_REMOVE ) {
435
438
display_progress (progress , ++ cnt );
436
439
unlink_entry (ce );
440
+ sum_unlink ++ ;
437
441
}
438
442
}
439
443
@@ -464,6 +468,7 @@ static int check_updates(struct unpack_trees_options *o,
464
468
}
465
469
promisor_remote_get_direct (the_repository ,
466
470
to_fetch .oid , to_fetch .nr );
471
+ sum_prefetch = to_fetch .nr ;
467
472
oid_array_clear (& to_fetch );
468
473
}
469
474
for (i = 0 ; i < index -> cache_nr ; i ++ ) {
@@ -476,6 +481,7 @@ static int check_updates(struct unpack_trees_options *o,
476
481
display_progress (progress , ++ cnt );
477
482
ce -> ce_flags &= ~CE_UPDATE ;
478
483
errs |= checkout_entry (ce , & state , NULL , NULL );
484
+ sum_checkout ++ ;
479
485
}
480
486
}
481
487
stop_progress (& progress );
@@ -485,6 +491,15 @@ static int check_updates(struct unpack_trees_options *o,
485
491
if (o -> clone )
486
492
report_collided_checkout (index );
487
493
494
+ if (sum_unlink > 0 )
495
+ trace2_data_intmax ("unpack_trees" , NULL , "check_updates/nr_unlink" , sum_unlink );
496
+ if (sum_prefetch > 0 )
497
+ trace2_data_intmax ("unpack_trees" , NULL , "check_updates/nr_prefetch" , sum_prefetch );
498
+ if (sum_checkout > 0 )
499
+ trace2_data_intmax ("unpack_trees" , NULL , "check_updates/nr_write" , sum_checkout );
500
+
501
+ done :
502
+ trace2_region_leave ("unpack_trees" , "check_updates" , NULL );
488
503
trace_performance_leave ("check_updates" );
489
504
return errs != 0 ;
490
505
}
@@ -1514,10 +1529,9 @@ static int clear_ce_flags(struct index_state *istate,
1514
1529
_ ("Updating index flags" ),
1515
1530
istate -> cache_nr );
1516
1531
1517
- xsnprintf (label , sizeof (label ), "clear_ce_flags( 0x%08lx,0x %08lx) " ,
1532
+ xsnprintf (label , sizeof (label ), "clear_ce_flags/ 0x%08lx_0x %08lx" ,
1518
1533
(unsigned long )select_mask , (unsigned long )clear_mask );
1519
1534
trace2_region_enter ("unpack_trees" , label , the_repository );
1520
-
1521
1535
rval = clear_ce_flags_1 (istate ,
1522
1536
istate -> cache ,
1523
1537
istate -> cache_nr ,
@@ -1595,7 +1609,7 @@ int unpack_trees(unsigned len, struct tree_desc *t, struct unpack_trees_options
1595
1609
if (len > MAX_UNPACK_TREES )
1596
1610
die ("unpack_trees takes at most %d trees" , MAX_UNPACK_TREES );
1597
1611
1598
- trace2_region_enter ("exp " , "unpack_trees" , NULL );
1612
+ trace2_region_enter ("unpack_trees " , "unpack_trees" , NULL );
1599
1613
nr_unpack_entry_at_start = get_nr_unpack_entry ();
1600
1614
1601
1615
trace_performance_enter ();
@@ -1769,7 +1783,7 @@ int unpack_trees(unsigned len, struct tree_desc *t, struct unpack_trees_options
1769
1783
trace_performance_leave ("unpack_trees" );
1770
1784
trace2_data_intmax ("unpack_trees" , NULL , "unpack_trees/nr_unpack_entries" ,
1771
1785
(intmax_t )(get_nr_unpack_entry () - nr_unpack_entry_at_start ));
1772
- trace2_region_leave ("exp " , "unpack_trees" , NULL );
1786
+ trace2_region_leave ("unpack_trees " , "unpack_trees" , NULL );
1773
1787
return ret ;
1774
1788
1775
1789
return_failed :
0 commit comments