Skip to content

Commit 9c34347

Browse files
committed
trace2:gvfs:experiment: add data for check_updates() in unpack_trees()
Add data for the number of files created/overwritten and deleted during the checkout. Give proper category name to all events in unpack-trees.c and eliminate "exp". This is modified slightly from the original version due to interactions with 26f924d (unpack-trees: exit check_updates() early if updates are not wanted, 2020-01-07). Signed-off-by: Jeff Hostetler <[email protected]> Signed-off-by: Derrick Stolee <[email protected]>
1 parent e928512 commit 9c34347

File tree

1 file changed

+20
-6
lines changed

1 file changed

+20
-6
lines changed

unpack-trees.c

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -401,8 +401,12 @@ static int check_updates(struct unpack_trees_options *o,
401401
struct progress *progress;
402402
struct checkout state = CHECKOUT_INIT;
403403
int i;
404+
intmax_t sum_unlink = 0;
405+
intmax_t sum_prefetch = 0;
406+
intmax_t sum_checkout = 0;
404407

405408
trace_performance_enter();
409+
trace2_region_enter("unpack_trees", "check_updates", NULL);
406410
state.force = 1;
407411
state.quiet = 1;
408412
state.refresh_cache = 1;
@@ -411,8 +415,7 @@ static int check_updates(struct unpack_trees_options *o,
411415

412416
if (!o->update || o->dry_run) {
413417
remove_marked_cache_entries(index, 0);
414-
trace_performance_leave("check_updates");
415-
return 0;
418+
goto done;
416419
}
417420

418421
if (o->clone)
@@ -434,6 +437,7 @@ static int check_updates(struct unpack_trees_options *o,
434437
if (ce->ce_flags & CE_WT_REMOVE) {
435438
display_progress(progress, ++cnt);
436439
unlink_entry(ce);
440+
sum_unlink++;
437441
}
438442
}
439443

@@ -464,6 +468,7 @@ static int check_updates(struct unpack_trees_options *o,
464468
}
465469
promisor_remote_get_direct(the_repository,
466470
to_fetch.oid, to_fetch.nr);
471+
sum_prefetch = to_fetch.nr;
467472
oid_array_clear(&to_fetch);
468473
}
469474
for (i = 0; i < index->cache_nr; i++) {
@@ -476,6 +481,7 @@ static int check_updates(struct unpack_trees_options *o,
476481
display_progress(progress, ++cnt);
477482
ce->ce_flags &= ~CE_UPDATE;
478483
errs |= checkout_entry(ce, &state, NULL, NULL);
484+
sum_checkout++;
479485
}
480486
}
481487
stop_progress(&progress);
@@ -485,6 +491,15 @@ static int check_updates(struct unpack_trees_options *o,
485491
if (o->clone)
486492
report_collided_checkout(index);
487493

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);
488503
trace_performance_leave("check_updates");
489504
return errs != 0;
490505
}
@@ -1514,10 +1529,9 @@ static int clear_ce_flags(struct index_state *istate,
15141529
_("Updating index flags"),
15151530
istate->cache_nr);
15161531

1517-
xsnprintf(label, sizeof(label), "clear_ce_flags(0x%08lx,0x%08lx)",
1532+
xsnprintf(label, sizeof(label), "clear_ce_flags/0x%08lx_0x%08lx",
15181533
(unsigned long)select_mask, (unsigned long)clear_mask);
15191534
trace2_region_enter("unpack_trees", label, the_repository);
1520-
15211535
rval = clear_ce_flags_1(istate,
15221536
istate->cache,
15231537
istate->cache_nr,
@@ -1595,7 +1609,7 @@ int unpack_trees(unsigned len, struct tree_desc *t, struct unpack_trees_options
15951609
if (len > MAX_UNPACK_TREES)
15961610
die("unpack_trees takes at most %d trees", MAX_UNPACK_TREES);
15971611

1598-
trace2_region_enter("exp", "unpack_trees", NULL);
1612+
trace2_region_enter("unpack_trees", "unpack_trees", NULL);
15991613
nr_unpack_entry_at_start = get_nr_unpack_entry();
16001614

16011615
trace_performance_enter();
@@ -1769,7 +1783,7 @@ int unpack_trees(unsigned len, struct tree_desc *t, struct unpack_trees_options
17691783
trace_performance_leave("unpack_trees");
17701784
trace2_data_intmax("unpack_trees", NULL, "unpack_trees/nr_unpack_entries",
17711785
(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);
17731787
return ret;
17741788

17751789
return_failed:

0 commit comments

Comments
 (0)