mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-04-29 12:14:48 +00:00
runtime: tracing: End root span at end of trace
The root span should exist the duration of the trace. Defer ending span until the end of the trace instead of end of function. Add the span to the service struct to do so. Fixes #4902 Signed-off-by: Chelsea Mafrica <chelsea.e.mafrica@intel.com>
This commit is contained in:
parent
97b7fe438a
commit
fcc1e0c617
@ -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)
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user