diff --git a/pkg/storage/unified/sql/backend.go b/pkg/storage/unified/sql/backend.go index 6d2e0b4c01e..674f86a1a03 100644 --- a/pkg/storage/unified/sql/backend.go +++ b/pkg/storage/unified/sql/backend.go @@ -614,6 +614,9 @@ var _ resource.ListIterator = (*listIter)(nil) // listLatest fetches the resources from the resource table. func (b *backend) listLatest(ctx context.Context, req *resource.ListRequest, cb func(resource.ListIterator) error) (int64, error) { + ctx, span := b.tracer.Start(ctx, tracePrefix+"listLatest") + defer span.End() + if req.NextPageToken != "" { return 0, fmt.Errorf("only works for the first page") } @@ -624,7 +627,7 @@ func (b *backend) listLatest(ctx context.Context, req *resource.ListRequest, cb iter := &listIter{sortAsc: false} err := b.db.WithTx(ctx, ReadCommittedRO, func(ctx context.Context, tx db.Tx) error { var err error - iter.listRV, err = fetchLatestRV(ctx, tx, b.dialect, req.Options.Key.Group, req.Options.Key.Resource) + iter.listRV, err = b.fetchLatestRV(ctx, tx, b.dialect, req.Options.Key.Group, req.Options.Key.Resource) if err != nil { return err } @@ -715,6 +718,8 @@ func (b *backend) listAtRevision(ctx context.Context, req *resource.ListRequest, // getHistory fetches the resources from the resource table. func (b *backend) getHistory(ctx context.Context, req *resource.ListRequest, cb func(resource.ListIterator) error) (int64, error) { + ctx, span := b.tracer.Start(ctx, tracePrefix+"getHistory") + defer span.End() listReq := sqlGetHistoryRequest{ SQLTemplate: sqltemplate.New(b.dialect), Key: req.Options.Key, @@ -752,7 +757,7 @@ func (b *backend) getHistory(ctx context.Context, req *resource.ListRequest, cb err := b.db.WithTx(ctx, ReadCommittedRO, func(ctx context.Context, tx db.Tx) error { var err error - iter.listRV, err = fetchLatestRV(ctx, tx, b.dialect, req.Options.Key.Group, req.Options.Key.Resource) + iter.listRV, err = b.fetchLatestRV(ctx, tx, b.dialect, req.Options.Key.Group, req.Options.Key.Resource) if err != nil { return err } @@ -809,7 +814,9 @@ func (b *backend) listLatestRVs(ctx context.Context) (groupResourceRV, error) { } // fetchLatestRV returns the current maximum RV in the resource table -func fetchLatestRV(ctx context.Context, x db.ContextExecer, d sqltemplate.Dialect, group, resource string) (int64, error) { +func (b *backend) fetchLatestRV(ctx context.Context, x db.ContextExecer, d sqltemplate.Dialect, group, resource string) (int64, error) { + ctx, span := b.tracer.Start(ctx, tracePrefix+"fetchLatestRV") + defer span.End() res, err := dbutil.QueryRow(ctx, x, sqlResourceVersionGet, sqlResourceVersionGetRequest{ SQLTemplate: sqltemplate.New(d), Group: group,