Merge pull request #4903 from cmaf/tracing-defer-rootSpan-end

runtime: tracing: End root span at end of trace
This commit is contained in:
James O. D. Hunt 2022-08-18 08:51:41 +01:00 committed by GitHub
commit 6d6edb0bb3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 3 deletions

View File

@ -97,9 +97,10 @@ func create(ctx context.Context, s *service, r *taskAPI.CreateTaskRequest) (*con
}
// create root span
// rootSpan will be ended when the entire trace is ended
rootSpan, newCtx := katatrace.Trace(s.ctx, shimLog, "rootSpan", shimTracingTags)
s.rootCtx = newCtx
defer rootSpan.End()
s.rootSpan = rootSpan
// create span
span, newCtx := katatrace.Trace(s.rootCtx, shimLog, "create", shimTracingTags)

View File

@ -28,6 +28,7 @@ import (
"github.com/opencontainers/runtime-spec/specs-go"
"github.com/pkg/errors"
"github.com/sirupsen/logrus"
otelTrace "go.opentelemetry.io/otel/trace"
"golang.org/x/sys/unix"
"github.com/kata-containers/kata-containers/src/runtime/pkg/katautils"
@ -122,8 +123,9 @@ type exit struct {
type service struct {
sandbox vc.VCSandbox
ctx context.Context
rootCtx context.Context // root context for tracing
ctx context.Context
rootCtx context.Context // root context for tracing
rootSpan otelTrace.Span
containers map[string]*container
@ -946,6 +948,7 @@ func (s *service) Shutdown(ctx context.Context, r *taskAPI.ShutdownRequest) (_ *
s.mu.Unlock()
span.End()
s.rootSpan.End()
katatrace.StopTracing(s.rootCtx)
return empty, nil