@@ -37,6 +37,7 @@ import (
37
37
"github.com/moby/buildkit/util/grpcerrors"
38
38
"github.com/moby/buildkit/util/leaseutil"
39
39
"github.com/moby/buildkit/util/progress"
40
+ "github.com/moby/buildkit/util/tracing"
40
41
"github.com/moby/buildkit/util/tracing/detect"
41
42
"github.com/moby/buildkit/worker"
42
43
digest "github.com/opencontainers/go-digest"
@@ -190,6 +191,9 @@ func (s *Solver) recordBuildHistory(ctx context.Context, id string, req frontend
190
191
en := time .Now ()
191
192
rec .CompletedAt = & en
192
193
194
+ span , ctx := tracing .StartSpan (ctx , "create history record" )
195
+ defer span .End ()
196
+
193
197
j .CloseProgress ()
194
198
195
199
if res != nil && len (res .Metadata ) > 0 {
@@ -222,7 +226,10 @@ func (s *Solver) recordBuildHistory(ctx context.Context, id string, req frontend
222
226
}
223
227
}
224
228
225
- makeProvenance := func (res solver.ResultProxy , cap * provenance.Capture ) (* controlapi.Descriptor , func (), error ) {
229
+ makeProvenance := func (name string , res solver.ResultProxy , cap * provenance.Capture ) (* controlapi.Descriptor , func (), error ) {
230
+ span , ctx := tracing .StartSpan (ctx , fmt .Sprintf ("create %s history provenance" , name ))
231
+ defer span .End ()
232
+
226
233
prc , err := NewProvenanceCreator (ctx2 , cap , res , attrs , j , usage )
227
234
if err != nil {
228
235
return nil , nil , err
@@ -265,7 +272,7 @@ func (s *Solver) recordBuildHistory(ctx context.Context, id string, req frontend
265
272
if res != nil {
266
273
if res .Ref != nil {
267
274
eg .Go (func () error {
268
- desc , release , err := makeProvenance (res .Ref , res .Provenance .Ref )
275
+ desc , release , err := makeProvenance ("default" , res .Ref , res .Provenance .Ref )
269
276
if err != nil {
270
277
return err
271
278
}
@@ -288,7 +295,7 @@ func (s *Solver) recordBuildHistory(ctx context.Context, id string, req frontend
288
295
k , r := k , r
289
296
cp := res .Provenance .Refs [k ]
290
297
eg .Go (func () error {
291
- desc , release , err := makeProvenance (r , cp )
298
+ desc , release , err := makeProvenance (k , r , cp )
292
299
if err != nil {
293
300
return err
294
301
}
@@ -744,6 +751,9 @@ func (s *Solver) runExporters(ctx context.Context, exporters []exporter.Exporter
744
751
eg .Go (func () error {
745
752
id := fmt .Sprint (job .SessionID , "-export-" , i )
746
753
return inBuilderContext (ctx , job , exp .Name (), id , func (ctx context.Context , _ session.Group ) error {
754
+ span , ctx := tracing .StartSpan (ctx , exp .Name ())
755
+ defer span .End ()
756
+
747
757
if i == 0 && len (warnings ) > 0 {
748
758
pw , _ , _ := progress .NewFromContext (ctx )
749
759
for _ , w := range warnings {
0 commit comments