Unified Storage: Adds span and debug log for paginated List calls (#101912)

Adds span and debug log for paginated List calls
This commit is contained in:
owensmallwood
2025-03-21 14:20:27 -06:00
committed by GitHub
parent 57658abdb1
commit 64e939fd5d
+7
View File
@@ -650,6 +650,9 @@ func (b *backend) listLatest(ctx context.Context, req *resource.ListRequest, cb
// listAtRevision fetches the resources from the resource_history table at a specific revision.
func (b *backend) listAtRevision(ctx context.Context, req *resource.ListRequest, cb func(resource.ListIterator) error) (int64, error) {
ctx, span := b.tracer.Start(ctx, tracePrefix+"listAtRevision")
defer span.End()
// Get the RV
iter := &listIter{listRV: req.ResourceVersion, sortAsc: false}
if req.NextPageToken != "" {
@@ -668,6 +671,10 @@ func (b *backend) listAtRevision(ctx context.Context, req *resource.ListRequest,
return 0, apierrors.NewBadRequest("expecting an explicit resource version query")
}
// The query below has the potential to be EXTREMELY slow if the resource_history table is big. May be helpful to know
// which stack is calling this.
b.log.Debug("listAtRevision", "ns", req.Options.Key.Namespace, "group", req.Options.Key.Group, "resource", req.Options.Key.Resource, "rv", iter.listRV)
err := b.db.WithTx(ctx, ReadCommittedRO, func(ctx context.Context, tx db.Tx) error {
limit := int64(0) // ignore limit
if iter.offset > 0 {