From 0ccfb2516a6232b9ea44ba58ee92972f9344fc9c Mon Sep 17 00:00:00 2001 From: Michael Quigley Date: Fri, 25 Apr 2025 15:18:32 -0400 Subject: [PATCH] create-share and listen tracking (#953) --- canary/publicHttpLooper.go | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/canary/publicHttpLooper.go b/canary/publicHttpLooper.go index ef5bf454..0e0f6603 100644 --- a/canary/publicHttpLooper.go +++ b/canary/publicHttpLooper.go @@ -73,6 +73,8 @@ func (l *PublicHttpLooper) Results() *LooperResults { } func (l *PublicHttpLooper) startup() error { + snapshot := NewSnapshot("create-share", l.id, 0) + shr, err := sdk.CreateShare(l.root, &sdk.ShareRequest{ ShareMode: sdk.PublicShareMode, BackendMode: sdk.ProxyBackendMode, @@ -80,9 +82,19 @@ func (l *PublicHttpLooper) startup() error { Frontends: []string{l.frontend}, PermissionMode: sdk.ClosedPermissionMode, }) + snapshot.Completed = time.Now() if err != nil { + snapshot.Ok = false + snapshot.Error = err + if l.opt.SnapshotQueue != nil { + l.opt.SnapshotQueue <- snapshot + } return err } + snapshot.Ok = true + if l.opt.SnapshotQueue != nil { + l.opt.SnapshotQueue <- snapshot + } l.shr = shr logrus.Infof("#%d allocated share '%v'", l.id, l.shr.Token) @@ -108,10 +120,25 @@ func (l *PublicHttpLooper) bind() error { return errors.Wrapf(err, "#%d error creating ziti context", l.id) } + snapshot := NewSnapshot("listen", l.id, 0) + if l.listener, err = zctx.ListenWithOptions(l.shr.Token, &options); err != nil { + snapshot.Completed = time.Now() + snapshot.Ok = false + snapshot.Error = err + if l.opt.SnapshotQueue != nil { + l.opt.SnapshotQueue <- snapshot + } + return errors.Wrapf(err, "#%d error binding listener", l.id) } + snapshot.Completed = time.Now() + snapshot.Ok = true + if l.opt.SnapshotQueue != nil { + l.opt.SnapshotQueue <- snapshot + } + go func() { if err := http.Serve(l.listener, l); err != nil { logrus.Errorf("#%d error in http listener: %v", l.id, err)