Skip to content

Commit

Permalink
wt-status: add trace2 data for sparse-checkout percentage
Browse files Browse the repository at this point in the history
When sparse-checkout is enabled, add the sparse-checkout percentage to
the Trace2 data stream.  This number was already computed and printed
on the console in the "You are in a sparse checkout..." message.  It
would be helpful to log it too for performance monitoring.

Signed-off-by: Jeff Hostetler <jeffhostetler@github.com>
  • Loading branch information
jeffhostetler committed Jun 21, 2024
1 parent 6c14732 commit bbddf35
Showing 1 changed file with 30 additions and 0 deletions.
30 changes: 30 additions & 0 deletions wt-status.c
Original file line number Diff line number Diff line change
Expand Up @@ -2560,6 +2560,36 @@ void wt_status_print(struct wt_status *s)
s->untracked.nr);
trace2_data_intmax("status", s->repo, "count/ignored", s->ignored.nr);

switch (s->state.sparse_checkout_percentage) {
case SPARSE_CHECKOUT_DISABLED:
break;
case SPARSE_CHECKOUT_SPARSE_INDEX:
/*
* Log just the observed size of the sparse-index.
*
* When sparse-index is enabled we can have
* sparse-directory entries in addition to individual
* sparse-file entries, so we don't know the complete
* size of the index. And we do not want to force
* expand it just to emit some telemetry data. So we
* cannot report a percentage for the space savings.
*
* It is possible that if the telemetry data is
* aggregated, someone will have a good estimate for
* the size of a fully populated index and can compute
* a percentage after the fact.
*/
trace2_data_intmax("status", s->repo,
"sparse-index/size",
s->repo->index->cache_nr);
break;
default:
trace2_data_intmax("status", s->repo,
"sparse-checkout/percentage",
s->state.sparse_checkout_percentage);
break;
}

trace2_region_enter("status", "print", s->repo);

switch (s->status_format) {
Expand Down

0 comments on commit bbddf35

Please sign in to comment.