From b90eb575c7c38926b0cae9134289c4c0bff149a0 Mon Sep 17 00:00:00 2001 From: ValentaTomas Date: Wed, 22 Oct 2025 15:42:59 -0700 Subject: [PATCH 1/2] Add event --- packages/orchestrator/internal/sandbox/sandbox.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/orchestrator/internal/sandbox/sandbox.go b/packages/orchestrator/internal/sandbox/sandbox.go index ffd1031b54..2c68d0cc9e 100644 --- a/packages/orchestrator/internal/sandbox/sandbox.go +++ b/packages/orchestrator/internal/sandbox/sandbox.go @@ -433,6 +433,8 @@ func (f *Factory) ResumeSandbox( return nil, fmt.Errorf("failed to serve memory: %w", err) } + telemetry.ReportEvent(ctx, "started serving memory") + // ==== END of resources initialization ==== uffdStartCtx, cancelUffdStartCtx := context.WithCancelCause(ctx) defer cancelUffdStartCtx(fmt.Errorf("uffd finished starting")) From 6131a36ac0771467615fc2b35e4b4589552990c6 Mon Sep 17 00:00:00 2001 From: ValentaTomas Date: Wed, 22 Oct 2025 16:55:43 -0700 Subject: [PATCH 2/2] Add nbd and uffd tracing events --- .../orchestrator/internal/sandbox/nbd/path_direct.go | 10 ++++++++++ packages/orchestrator/internal/sandbox/sandbox.go | 4 ++++ 2 files changed, 14 insertions(+) diff --git a/packages/orchestrator/internal/sandbox/nbd/path_direct.go b/packages/orchestrator/internal/sandbox/nbd/path_direct.go index 6a858b4c00..3b37535e2d 100644 --- a/packages/orchestrator/internal/sandbox/nbd/path_direct.go +++ b/packages/orchestrator/internal/sandbox/nbd/path_direct.go @@ -66,11 +66,15 @@ func (d *DirectPathMount) Open(ctx context.Context) (retDeviceIndex uint32, err zap.L().Debug("opening direct path mount", zap.Uint32("device_index", d.deviceIndex), zap.Error(err)) }() + telemetry.ReportEvent(ctx, "opening direct path mount") + size, err := d.Backend.Size() if err != nil { return math.MaxUint32, err } + telemetry.ReportEvent(ctx, "got backend size") + deviceIndex := uint32(math.MaxUint32) for { @@ -79,6 +83,8 @@ func (d *DirectPathMount) Open(ctx context.Context) (retDeviceIndex uint32, err return math.MaxUint32, err } + telemetry.ReportEvent(ctx, "got device index") + d.socksClient = make([]*os.File, 0) d.socksServer = make([]io.Closer, 0) d.dispatchers = make([]*Dispatch, 0) @@ -169,6 +175,8 @@ func (d *DirectPathMount) Open(ctx context.Context) (retDeviceIndex uint32, err default: } + telemetry.ReportEvent(ctx, "waiting for NBD connection") + s, err := nbdnl.Status(deviceIndex) if err == nil && s.Connected { break @@ -177,6 +185,8 @@ func (d *DirectPathMount) Open(ctx context.Context) (retDeviceIndex uint32, err time.Sleep(100 * time.Nanosecond) } + telemetry.ReportEvent(ctx, "connected to NBD") + return deviceIndex, nil } diff --git a/packages/orchestrator/internal/sandbox/sandbox.go b/packages/orchestrator/internal/sandbox/sandbox.go index 2c68d0cc9e..753d128e77 100644 --- a/packages/orchestrator/internal/sandbox/sandbox.go +++ b/packages/orchestrator/internal/sandbox/sandbox.go @@ -940,10 +940,14 @@ func serveMemory( return nil, fmt.Errorf("failed to create uffd: %w", err) } + telemetry.ReportEvent(ctx, "created uffd") + if err = fcUffd.Start(ctx, sandboxID); err != nil { return nil, fmt.Errorf("failed to start uffd: %w", err) } + telemetry.ReportEvent(ctx, "started uffd") + cleanup.Add(func(ctx context.Context) error { _, span := tracer.Start(ctx, "uffd-stop") defer span.End()