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()