mirror of
https://github.com/moby/buildkit.git
synced 2025-08-08 10:02:07 +03:00
otel: add wrapping "resolving" spans for ResolveImageConfig
Without this, a single ResolveImageConfig may emit many "remotes.docker.resolver.HTTPRequest" spans. These can be difficult to track and organize, especially if a single client performs multiple of them. To make traces a bit easier to navigate, these are now grouped under one top-level span, instead of cluttering up the top-level. Signed-off-by: Justin Chadwell <me@jedevc.com>
This commit is contained in:
@@ -25,6 +25,7 @@ import (
|
||||
"github.com/moby/buildkit/util/imageutil"
|
||||
"github.com/moby/buildkit/util/pull"
|
||||
"github.com/moby/buildkit/util/resolver"
|
||||
"github.com/moby/buildkit/util/tracing"
|
||||
digest "github.com/opencontainers/go-digest"
|
||||
ocispecs "github.com/opencontainers/image-spec/specs-go/v1"
|
||||
"github.com/pkg/errors"
|
||||
@@ -148,7 +149,12 @@ func (is *Source) Resolve(ctx context.Context, id source.Identifier, sm *session
|
||||
return p, nil
|
||||
}
|
||||
|
||||
func (is *Source) ResolveImageConfig(ctx context.Context, ref string, opt sourceresolver.Opt, sm *session.Manager, g session.Group) (digest.Digest, []byte, error) {
|
||||
func (is *Source) ResolveImageConfig(ctx context.Context, ref string, opt sourceresolver.Opt, sm *session.Manager, g session.Group) (digest digest.Digest, config []byte, retErr error) {
|
||||
span, ctx := tracing.StartSpan(ctx, "resolving "+ref)
|
||||
defer func() {
|
||||
tracing.FinishWithError(span, retErr)
|
||||
}()
|
||||
|
||||
key := ref
|
||||
var (
|
||||
rm resolver.ResolveMode
|
||||
|
Reference in New Issue
Block a user