From 11038b792a253e4a6f02398e1c65b084337a426b Mon Sep 17 00:00:00 2001 From: Roger Johansson Date: Thu, 23 Nov 2023 18:07:28 +0100 Subject: [PATCH 1/5] . --- .../cluster-broadcast/shared/protos.pb.go | 2 +- .../shared/protos_protoactor.go | 54 +++--- _examples/cluster-grain/node2/main.go | 2 + _examples/remote-activate/node1/main.go | 8 +- go.sum | 154 ++++++++++++++++++ log/log.go | 8 + 6 files changed, 193 insertions(+), 35 deletions(-) diff --git a/_examples/cluster-broadcast/shared/protos.pb.go b/_examples/cluster-broadcast/shared/protos.pb.go index 079fbd678..6e998c37f 100644 --- a/_examples/cluster-broadcast/shared/protos.pb.go +++ b/_examples/cluster-broadcast/shared/protos.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.27.1 -// protoc v3.19.1 +// protoc v4.24.3 // source: protos.proto package shared diff --git a/_examples/cluster-broadcast/shared/protos_protoactor.go b/_examples/cluster-broadcast/shared/protos_protoactor.go index 10a6e0e6a..cac3f88e7 100644 --- a/_examples/cluster-broadcast/shared/protos_protoactor.go +++ b/_examples/cluster-broadcast/shared/protos_protoactor.go @@ -4,27 +4,21 @@ package shared import ( "errors" "fmt" + "log/slog" "math" "time" "github.com/asynkron/protoactor-go/actor" "github.com/asynkron/protoactor-go/cluster" - logmod "github.com/asynkron/protoactor-go/log" "google.golang.org/protobuf/proto" ) var ( - plog = logmod.New(logmod.InfoLevel, "[GRAIN][shared]") - _ = proto.Marshal - _ = fmt.Errorf - _ = math.Inf + _ = proto.Marshal + _ = fmt.Errorf + _ = math.Inf ) -// SetLogLevel sets the log level. -func SetLogLevel(level logmod.Level) { - plog.SetLevel(level) -} - var xCalculatorFactory func() Calculator // CalculatorFactory produces a Calculator @@ -89,7 +83,7 @@ func (g *CalculatorGrainClient) Add(r *NumberRequest, opts ...cluster.GrainCallO return nil, err } reqMsg := &cluster.GrainRequest{MethodIndex: 0, MessageData: bytes} - resp, err := g.cluster.Call(g.Identity, "Calculator", reqMsg, opts...) + resp, err := g.cluster.Request(g.Identity, "Calculator", reqMsg, opts...) if err != nil { return nil, err } @@ -115,7 +109,7 @@ func (g *CalculatorGrainClient) Subtract(r *NumberRequest, opts ...cluster.Grain return nil, err } reqMsg := &cluster.GrainRequest{MethodIndex: 1, MessageData: bytes} - resp, err := g.cluster.Call(g.Identity, "Calculator", reqMsg, opts...) + resp, err := g.cluster.Request(g.Identity, "Calculator", reqMsg, opts...) if err != nil { return nil, err } @@ -141,7 +135,7 @@ func (g *CalculatorGrainClient) GetCurrent(r *Noop, opts ...cluster.GrainCallOpt return nil, err } reqMsg := &cluster.GrainRequest{MethodIndex: 2, MessageData: bytes} - resp, err := g.cluster.Call(g.Identity, "Calculator", reqMsg, opts...) + resp, err := g.cluster.Request(g.Identity, "Calculator", reqMsg, opts...) if err != nil { return nil, err } @@ -170,7 +164,7 @@ type CalculatorActor struct { // Receive ensures the lifecycle of the actor for the received message func (a *CalculatorActor) Receive(ctx actor.Context) { switch msg := ctx.Message().(type) { - case *actor.Started: // pass + case *actor.Started: //pass case *cluster.ClusterInit: a.ctx = cluster.NewGrainContext(ctx, msg.Identity, msg.Cluster) a.inner = xCalculatorFactory() @@ -192,7 +186,7 @@ func (a *CalculatorActor) Receive(ctx actor.Context) { req := &NumberRequest{} err := proto.Unmarshal(msg.MessageData, req) if err != nil { - plog.Error("Add(NumberRequest) proto.Unmarshal failed.", logmod.Error(err)) + ctx.Logger().Error("[Grain] Add(NumberRequest) proto.Unmarshal failed.", slog.Any("error", err)) resp := &cluster.GrainErrorResponse{Err: err.Error()} ctx.Respond(resp) return @@ -205,7 +199,7 @@ func (a *CalculatorActor) Receive(ctx actor.Context) { } bytes, err := proto.Marshal(r0) if err != nil { - plog.Error("Add(NumberRequest) proto.Marshal failed", logmod.Error(err)) + ctx.Logger().Error("[Grain] Add(NumberRequest) proto.Marshal failed", slog.Any("error", err)) resp := &cluster.GrainErrorResponse{Err: err.Error()} ctx.Respond(resp) return @@ -216,7 +210,7 @@ func (a *CalculatorActor) Receive(ctx actor.Context) { req := &NumberRequest{} err := proto.Unmarshal(msg.MessageData, req) if err != nil { - plog.Error("Subtract(NumberRequest) proto.Unmarshal failed.", logmod.Error(err)) + ctx.Logger().Error("[Grain] Subtract(NumberRequest) proto.Unmarshal failed.", slog.Any("error", err)) resp := &cluster.GrainErrorResponse{Err: err.Error()} ctx.Respond(resp) return @@ -229,7 +223,7 @@ func (a *CalculatorActor) Receive(ctx actor.Context) { } bytes, err := proto.Marshal(r0) if err != nil { - plog.Error("Subtract(NumberRequest) proto.Marshal failed", logmod.Error(err)) + ctx.Logger().Error("[Grain] Subtract(NumberRequest) proto.Marshal failed", slog.Any("error", err)) resp := &cluster.GrainErrorResponse{Err: err.Error()} ctx.Respond(resp) return @@ -240,7 +234,7 @@ func (a *CalculatorActor) Receive(ctx actor.Context) { req := &Noop{} err := proto.Unmarshal(msg.MessageData, req) if err != nil { - plog.Error("GetCurrent(Noop) proto.Unmarshal failed.", logmod.Error(err)) + ctx.Logger().Error("[Grain] GetCurrent(Noop) proto.Unmarshal failed.", slog.Any("error", err)) resp := &cluster.GrainErrorResponse{Err: err.Error()} ctx.Respond(resp) return @@ -253,7 +247,7 @@ func (a *CalculatorActor) Receive(ctx actor.Context) { } bytes, err := proto.Marshal(r0) if err != nil { - plog.Error("GetCurrent(Noop) proto.Marshal failed", logmod.Error(err)) + ctx.Logger().Error("[Grain] GetCurrent(Noop) proto.Marshal failed", slog.Any("error", err)) resp := &cluster.GrainErrorResponse{Err: err.Error()} ctx.Respond(resp) return @@ -331,7 +325,7 @@ func (g *TrackerGrainClient) RegisterGrain(r *RegisterMessage, opts ...cluster.G return nil, err } reqMsg := &cluster.GrainRequest{MethodIndex: 0, MessageData: bytes} - resp, err := g.cluster.Call(g.Identity, "Tracker", reqMsg, opts...) + resp, err := g.cluster.Request(g.Identity, "Tracker", reqMsg, opts...) if err != nil { return nil, err } @@ -357,7 +351,7 @@ func (g *TrackerGrainClient) DeregisterGrain(r *RegisterMessage, opts ...cluster return nil, err } reqMsg := &cluster.GrainRequest{MethodIndex: 1, MessageData: bytes} - resp, err := g.cluster.Call(g.Identity, "Tracker", reqMsg, opts...) + resp, err := g.cluster.Request(g.Identity, "Tracker", reqMsg, opts...) if err != nil { return nil, err } @@ -383,7 +377,7 @@ func (g *TrackerGrainClient) BroadcastGetCounts(r *Noop, opts ...cluster.GrainCa return nil, err } reqMsg := &cluster.GrainRequest{MethodIndex: 2, MessageData: bytes} - resp, err := g.cluster.Call(g.Identity, "Tracker", reqMsg, opts...) + resp, err := g.cluster.Request(g.Identity, "Tracker", reqMsg, opts...) if err != nil { return nil, err } @@ -412,7 +406,7 @@ type TrackerActor struct { // Receive ensures the lifecycle of the actor for the received message func (a *TrackerActor) Receive(ctx actor.Context) { switch msg := ctx.Message().(type) { - case *actor.Started: // pass + case *actor.Started: //pass case *cluster.ClusterInit: a.ctx = cluster.NewGrainContext(ctx, msg.Identity, msg.Cluster) a.inner = xTrackerFactory() @@ -434,7 +428,7 @@ func (a *TrackerActor) Receive(ctx actor.Context) { req := &RegisterMessage{} err := proto.Unmarshal(msg.MessageData, req) if err != nil { - plog.Error("RegisterGrain(RegisterMessage) proto.Unmarshal failed.", logmod.Error(err)) + ctx.Logger().Error("[Grain] RegisterGrain(RegisterMessage) proto.Unmarshal failed.", slog.Any("error", err)) resp := &cluster.GrainErrorResponse{Err: err.Error()} ctx.Respond(resp) return @@ -447,7 +441,7 @@ func (a *TrackerActor) Receive(ctx actor.Context) { } bytes, err := proto.Marshal(r0) if err != nil { - plog.Error("RegisterGrain(RegisterMessage) proto.Marshal failed", logmod.Error(err)) + ctx.Logger().Error("[Grain] RegisterGrain(RegisterMessage) proto.Marshal failed", slog.Any("error", err)) resp := &cluster.GrainErrorResponse{Err: err.Error()} ctx.Respond(resp) return @@ -458,7 +452,7 @@ func (a *TrackerActor) Receive(ctx actor.Context) { req := &RegisterMessage{} err := proto.Unmarshal(msg.MessageData, req) if err != nil { - plog.Error("DeregisterGrain(RegisterMessage) proto.Unmarshal failed.", logmod.Error(err)) + ctx.Logger().Error("[Grain] DeregisterGrain(RegisterMessage) proto.Unmarshal failed.", slog.Any("error", err)) resp := &cluster.GrainErrorResponse{Err: err.Error()} ctx.Respond(resp) return @@ -471,7 +465,7 @@ func (a *TrackerActor) Receive(ctx actor.Context) { } bytes, err := proto.Marshal(r0) if err != nil { - plog.Error("DeregisterGrain(RegisterMessage) proto.Marshal failed", logmod.Error(err)) + ctx.Logger().Error("[Grain] DeregisterGrain(RegisterMessage) proto.Marshal failed", slog.Any("error", err)) resp := &cluster.GrainErrorResponse{Err: err.Error()} ctx.Respond(resp) return @@ -482,7 +476,7 @@ func (a *TrackerActor) Receive(ctx actor.Context) { req := &Noop{} err := proto.Unmarshal(msg.MessageData, req) if err != nil { - plog.Error("BroadcastGetCounts(Noop) proto.Unmarshal failed.", logmod.Error(err)) + ctx.Logger().Error("[Grain] BroadcastGetCounts(Noop) proto.Unmarshal failed.", slog.Any("error", err)) resp := &cluster.GrainErrorResponse{Err: err.Error()} ctx.Respond(resp) return @@ -495,7 +489,7 @@ func (a *TrackerActor) Receive(ctx actor.Context) { } bytes, err := proto.Marshal(r0) if err != nil { - plog.Error("BroadcastGetCounts(Noop) proto.Marshal failed", logmod.Error(err)) + ctx.Logger().Error("[Grain] BroadcastGetCounts(Noop) proto.Marshal failed", slog.Any("error", err)) resp := &cluster.GrainErrorResponse{Err: err.Error()} ctx.Respond(resp) return diff --git a/_examples/cluster-grain/node2/main.go b/_examples/cluster-grain/node2/main.go index f0a99262c..929de845d 100644 --- a/_examples/cluster-grain/node2/main.go +++ b/_examples/cluster-grain/node2/main.go @@ -2,6 +2,7 @@ package main import ( "fmt" + "log/slog" "cluster-grain/shared" @@ -20,6 +21,7 @@ func (h HelloGrain) Terminate(ctx cluster.GrainContext) {} func (h HelloGrain) ReceiveDefault(ctx cluster.GrainContext) {} func (h HelloGrain) SayHello(request *shared.HelloRequest, ctx cluster.GrainContext) (*shared.HelloResponse, error) { + ctx.Logger().Info("SayHello", slog.String("name", request.Name)) return &shared.HelloResponse{Message: "Hello " + request.Name}, nil } diff --git a/_examples/remote-activate/node1/main.go b/_examples/remote-activate/node1/main.go index 1e9b18ebc..9ae0a13d2 100644 --- a/_examples/remote-activate/node1/main.go +++ b/_examples/remote-activate/node1/main.go @@ -2,7 +2,7 @@ package main import ( "fmt" - "log" + "log/slog" "time" "remoteactivate/messages" @@ -26,9 +26,9 @@ func main() { PropsFromFunc(func(context actor.Context) { switch context.Message().(type) { case *actor.Started: - log.Printf("actor started " + context.Self().String()) + context.Logger().Info("actor started ", slog.Any("self", context.Self())) case *messages.HelloRequest: - log.Println("Received pong from sender") + context.Logger().Info("Received pong from sender") message := &messages.HelloResponse{Message: "hello from remote"} context.Request(context.Sender(), message) } @@ -40,7 +40,7 @@ func main() { response := res.(*messages.HelloResponse) - fmt.Printf("Response from remote %v", response.Message) + system.Logger.Info("Response from remote", slog.Any("message", response.Message)) console.ReadLine() } diff --git a/go.sum b/go.sum index cc9a3dff9..20321ec98 100644 --- a/go.sum +++ b/go.sum @@ -1,14 +1,141 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.110.0/go.mod h1:SJnCLqQ0FCFGSZMUNUf84MV3Aia54kn7pi8st7tMzaY= +cloud.google.com/go/accessapproval v1.6.0/go.mod h1:R0EiYnwV5fsRFiKZkPHr6mwyk2wxUJ30nL4j2pcFY2E= +cloud.google.com/go/accesscontextmanager v1.6.0/go.mod h1:8XCvZWfYw3K/ji0iVnp+6pu7huxoQTLmxAbVjbloTtM= +cloud.google.com/go/aiplatform v1.35.0/go.mod h1:7MFT/vCaOyZT/4IIFfxH4ErVg/4ku6lKv3w0+tFTgXQ= +cloud.google.com/go/analytics v0.18.0/go.mod h1:ZkeHGQlcIPkw0R/GW+boWHhCOR43xz9RN/jn7WcqfIE= +cloud.google.com/go/apigateway v1.5.0/go.mod h1:GpnZR3Q4rR7LVu5951qfXPJCHquZt02jf7xQx7kpqN8= +cloud.google.com/go/apigeeconnect v1.5.0/go.mod h1:KFaCqvBRU6idyhSNyn3vlHXc8VMDJdRmwDF6JyFRqZ8= +cloud.google.com/go/apigeeregistry v0.5.0/go.mod h1:YR5+s0BVNZfVOUkMa5pAR2xGd0A473vA5M7j247o1wM= +cloud.google.com/go/apikeys v0.5.0/go.mod h1:5aQfwY4D+ewMMWScd3hm2en3hCj+BROlyrt3ytS7KLI= +cloud.google.com/go/appengine v1.6.0/go.mod h1:hg6i0J/BD2cKmDJbaFSYHFyZkgBEfQrDg/X0V5fJn84= +cloud.google.com/go/area120 v0.7.1/go.mod h1:j84i4E1RboTWjKtZVWXPqvK5VHQFJRF2c1Nm69pWm9k= +cloud.google.com/go/artifactregistry v1.11.2/go.mod h1:nLZns771ZGAwVLzTX/7Al6R9ehma4WUEhZGWV6CeQNQ= +cloud.google.com/go/asset v1.11.1/go.mod h1:fSwLhbRvC9p9CXQHJ3BgFeQNM4c9x10lqlrdEUYXlJo= +cloud.google.com/go/assuredworkloads v1.10.0/go.mod h1:kwdUQuXcedVdsIaKgKTp9t0UJkE5+PAVNhdQm4ZVq2E= +cloud.google.com/go/automl v1.12.0/go.mod h1:tWDcHDp86aMIuHmyvjuKeeHEGq76lD7ZqfGLN6B0NuU= +cloud.google.com/go/baremetalsolution v0.5.0/go.mod h1:dXGxEkmR9BMwxhzBhV0AioD0ULBmuLZI8CdwalUxuss= +cloud.google.com/go/batch v0.7.0/go.mod h1:vLZN95s6teRUqRQ4s3RLDsH8PvboqBK+rn1oevL159g= +cloud.google.com/go/beyondcorp v0.4.0/go.mod h1:3ApA0mbhHx6YImmuubf5pyW8srKnCEPON32/5hj+RmM= +cloud.google.com/go/bigquery v1.48.0/go.mod h1:QAwSz+ipNgfL5jxiaK7weyOhzdoAy1zFm0Nf1fysJac= +cloud.google.com/go/billing v1.12.0/go.mod h1:yKrZio/eu+okO/2McZEbch17O5CB5NpZhhXG6Z766ss= +cloud.google.com/go/binaryauthorization v1.5.0/go.mod h1:OSe4OU1nN/VswXKRBmciKpo9LulY41gch5c68htf3/Q= +cloud.google.com/go/certificatemanager v1.6.0/go.mod h1:3Hh64rCKjRAX8dXgRAyOcY5vQ/fE1sh8o+Mdd6KPgY8= +cloud.google.com/go/channel v1.11.0/go.mod h1:IdtI0uWGqhEeatSB62VOoJ8FSUhJ9/+iGkJVqp74CGE= +cloud.google.com/go/cloudbuild v1.7.0/go.mod h1:zb5tWh2XI6lR9zQmsm1VRA+7OCuve5d8S+zJUul8KTg= +cloud.google.com/go/clouddms v1.5.0/go.mod h1:QSxQnhikCLUw13iAbffF2CZxAER3xDGNHjsTAkQJcQA= +cloud.google.com/go/cloudtasks v1.9.0/go.mod h1:w+EyLsVkLWHcOaqNEyvcKAsWp9p29dL6uL9Nst1cI7Y= +cloud.google.com/go/compute v1.18.0/go.mod h1:1X7yHxec2Ga+Ss6jPyjxRxpu2uu7PLgsOVXvgU0yacs= +cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= +cloud.google.com/go/contactcenterinsights v1.6.0/go.mod h1:IIDlT6CLcDoyv79kDv8iWxMSTZhLxSCofVV5W6YFM/w= +cloud.google.com/go/container v1.13.1/go.mod h1:6wgbMPeQRw9rSnKBCAJXnds3Pzj03C4JHamr8asWKy4= +cloud.google.com/go/containeranalysis v0.7.0/go.mod h1:9aUL+/vZ55P2CXfuZjS4UjQ9AgXoSw8Ts6lemfmxBxI= +cloud.google.com/go/datacatalog v1.12.0/go.mod h1:CWae8rFkfp6LzLumKOnmVh4+Zle4A3NXLzVJ1d1mRm0= +cloud.google.com/go/dataflow v0.8.0/go.mod h1:Rcf5YgTKPtQyYz8bLYhFoIV/vP39eL7fWNcSOyFfLJE= +cloud.google.com/go/dataform v0.6.0/go.mod h1:QPflImQy33e29VuapFdf19oPbE4aYTJxr31OAPV+ulA= +cloud.google.com/go/datafusion v1.6.0/go.mod h1:WBsMF8F1RhSXvVM8rCV3AeyWVxcC2xY6vith3iw3S+8= +cloud.google.com/go/datalabeling v0.7.0/go.mod h1:WPQb1y08RJbmpM3ww0CSUAGweL0SxByuW2E+FU+wXcM= +cloud.google.com/go/dataplex v1.5.2/go.mod h1:cVMgQHsmfRoI5KFYq4JtIBEUbYwc3c7tXmIDhRmNNVQ= +cloud.google.com/go/dataproc v1.12.0/go.mod h1:zrF3aX0uV3ikkMz6z4uBbIKyhRITnxvr4i3IjKsKrw4= +cloud.google.com/go/dataqna v0.7.0/go.mod h1:Lx9OcIIeqCrw1a6KdO3/5KMP1wAmTc0slZWwP12Qq3c= +cloud.google.com/go/datastore v1.10.0/go.mod h1:PC5UzAmDEkAmkfaknstTYbNpgE49HAgW2J1gcgUfmdM= +cloud.google.com/go/datastream v1.6.0/go.mod h1:6LQSuswqLa7S4rPAOZFVjHIG3wJIjZcZrw8JDEDJuIs= +cloud.google.com/go/deploy v1.6.0/go.mod h1:f9PTHehG/DjCom3QH0cntOVRm93uGBDt2vKzAPwpXQI= +cloud.google.com/go/dialogflow v1.31.0/go.mod h1:cuoUccuL1Z+HADhyIA7dci3N5zUssgpBJmCzI6fNRB4= +cloud.google.com/go/dlp v1.9.0/go.mod h1:qdgmqgTyReTz5/YNSSuueR8pl7hO0o9bQ39ZhtgkWp4= +cloud.google.com/go/documentai v1.16.0/go.mod h1:o0o0DLTEZ+YnJZ+J4wNfTxmDVyrkzFvttBXXtYRMHkM= +cloud.google.com/go/domains v0.8.0/go.mod h1:M9i3MMDzGFXsydri9/vW+EWz9sWb4I6WyHqdlAk0idE= +cloud.google.com/go/edgecontainer v0.3.0/go.mod h1:FLDpP4nykgwwIfcLt6zInhprzw0lEi2P1fjO6Ie0qbc= +cloud.google.com/go/errorreporting v0.3.0/go.mod h1:xsP2yaAp+OAW4OIm60An2bbLpqIhKXdWR/tawvl7QzU= +cloud.google.com/go/essentialcontacts v1.5.0/go.mod h1:ay29Z4zODTuwliK7SnX8E86aUF2CTzdNtvv42niCX0M= +cloud.google.com/go/eventarc v1.10.0/go.mod h1:u3R35tmZ9HvswGRBnF48IlYgYeBcPUCjkr4BTdem2Kw= +cloud.google.com/go/filestore v1.5.0/go.mod h1:FqBXDWBp4YLHqRnVGveOkHDf8svj9r5+mUDLupOWEDs= +cloud.google.com/go/firestore v1.9.0/go.mod h1:HMkjKHNTtRyZNiMzu7YAsLr9K3X2udY2AMwDaMEQiiE= +cloud.google.com/go/functions v1.10.0/go.mod h1:0D3hEOe3DbEvCXtYOZHQZmD+SzYsi1YbI7dGvHfldXw= +cloud.google.com/go/gaming v1.9.0/go.mod h1:Fc7kEmCObylSWLO334NcO+O9QMDyz+TKC4v1D7X+Bc0= +cloud.google.com/go/gkebackup v0.4.0/go.mod h1:byAyBGUwYGEEww7xsbnUTBHIYcOPy/PgUWUtOeRm9Vg= +cloud.google.com/go/gkeconnect v0.7.0/go.mod h1:SNfmVqPkaEi3bF/B3CNZOAYPYdg7sU+obZ+QTky2Myw= +cloud.google.com/go/gkehub v0.11.0/go.mod h1:JOWHlmN+GHyIbuWQPl47/C2RFhnFKH38jH9Ascu3n0E= +cloud.google.com/go/gkemulticloud v0.5.0/go.mod h1:W0JDkiyi3Tqh0TJr//y19wyb1yf8llHVto2Htf2Ja3Y= +cloud.google.com/go/gsuiteaddons v1.5.0/go.mod h1:TFCClYLd64Eaa12sFVmUyG62tk4mdIsI7pAnSXRkcFo= +cloud.google.com/go/iam v0.12.0/go.mod h1:knyHGviacl11zrtZUoDuYpDgLjvr28sLQaG0YB2GYAY= +cloud.google.com/go/iap v1.6.0/go.mod h1:NSuvI9C/j7UdjGjIde7t7HBz+QTwBcapPE07+sSRcLk= +cloud.google.com/go/ids v1.3.0/go.mod h1:JBdTYwANikFKaDP6LtW5JAi4gubs57SVNQjemdt6xV4= +cloud.google.com/go/iot v1.5.0/go.mod h1:mpz5259PDl3XJthEmh9+ap0affn/MqNSP4My77Qql9o= +cloud.google.com/go/kms v1.9.0/go.mod h1:qb1tPTgfF9RQP8e1wq4cLFErVuTJv7UsSC915J8dh3w= +cloud.google.com/go/language v1.9.0/go.mod h1:Ns15WooPM5Ad/5no/0n81yUetis74g3zrbeJBE+ptUY= +cloud.google.com/go/lifesciences v0.8.0/go.mod h1:lFxiEOMqII6XggGbOnKiyZ7IBwoIqA84ClvoezaA/bo= +cloud.google.com/go/logging v1.7.0/go.mod h1:3xjP2CjkM3ZkO73aj4ASA5wRPGGCRrPIAeNqVNkzY8M= +cloud.google.com/go/longrunning v0.4.1/go.mod h1:4iWDqhBZ70CvZ6BfETbvam3T8FMvLK+eFj0E6AaRQTo= +cloud.google.com/go/managedidentities v1.5.0/go.mod h1:+dWcZ0JlUmpuxpIDfyP5pP5y0bLdRwOS4Lp7gMni/LA= +cloud.google.com/go/maps v0.6.0/go.mod h1:o6DAMMfb+aINHz/p/jbcY+mYeXBoZoxTfdSQ8VAJaCw= +cloud.google.com/go/mediatranslation v0.7.0/go.mod h1:LCnB/gZr90ONOIQLgSXagp8XUW1ODs2UmUMvcgMfI2I= +cloud.google.com/go/memcache v1.9.0/go.mod h1:8oEyzXCu+zo9RzlEaEjHl4KkgjlNDaXbCQeQWlzNFJM= +cloud.google.com/go/metastore v1.10.0/go.mod h1:fPEnH3g4JJAk+gMRnrAnoqyv2lpUCqJPWOodSaf45Eo= +cloud.google.com/go/monitoring v1.12.0/go.mod h1:yx8Jj2fZNEkL/GYZyTLS4ZtZEZN8WtDEiEqG4kLK50w= +cloud.google.com/go/networkconnectivity v1.10.0/go.mod h1:UP4O4sWXJG13AqrTdQCD9TnLGEbtNRqjuaaA7bNjF5E= +cloud.google.com/go/networkmanagement v1.6.0/go.mod h1:5pKPqyXjB/sgtvB5xqOemumoQNB7y95Q7S+4rjSOPYY= +cloud.google.com/go/networksecurity v0.7.0/go.mod h1:mAnzoxx/8TBSyXEeESMy9OOYwo1v+gZ5eMRnsT5bC8k= +cloud.google.com/go/notebooks v1.7.0/go.mod h1:PVlaDGfJgj1fl1S3dUwhFMXFgfYGhYQt2164xOMONmE= +cloud.google.com/go/optimization v1.3.1/go.mod h1:IvUSefKiwd1a5p0RgHDbWCIbDFgKuEdB+fPPuP0IDLI= +cloud.google.com/go/orchestration v1.6.0/go.mod h1:M62Bevp7pkxStDfFfTuCOaXgaaqRAga1yKyoMtEoWPQ= +cloud.google.com/go/orgpolicy v1.10.0/go.mod h1:w1fo8b7rRqlXlIJbVhOMPrwVljyuW5mqssvBtU18ONc= +cloud.google.com/go/osconfig v1.11.0/go.mod h1:aDICxrur2ogRd9zY5ytBLV89KEgT2MKB2L/n6x1ooPw= +cloud.google.com/go/oslogin v1.9.0/go.mod h1:HNavntnH8nzrn8JCTT5fj18FuJLFJc4NaZJtBnQtKFs= +cloud.google.com/go/phishingprotection v0.7.0/go.mod h1:8qJI4QKHoda/sb/7/YmMQ2omRLSLYSu9bU0EKCNI+Lk= +cloud.google.com/go/policytroubleshooter v1.5.0/go.mod h1:Rz1WfV+1oIpPdN2VvvuboLVRsB1Hclg3CKQ53j9l8vw= +cloud.google.com/go/privatecatalog v0.7.0/go.mod h1:2s5ssIFO69F5csTXcwBP7NPFTZvps26xGzvQ2PQaBYg= +cloud.google.com/go/pubsub v1.28.0/go.mod h1:vuXFpwaVoIPQMGXqRyUQigu/AX1S3IWugR9xznmcXX8= +cloud.google.com/go/pubsublite v1.6.0/go.mod h1:1eFCS0U11xlOuMFV/0iBqw3zP12kddMeCbj/F3FSj9k= +cloud.google.com/go/recaptchaenterprise/v2 v2.6.0/go.mod h1:RPauz9jeLtB3JVzg6nCbe12qNoaa8pXc4d/YukAmcnA= +cloud.google.com/go/recommendationengine v0.7.0/go.mod h1:1reUcE3GIu6MeBz/h5xZJqNLuuVjNg1lmWMPyjatzac= +cloud.google.com/go/recommender v1.9.0/go.mod h1:PnSsnZY7q+VL1uax2JWkt/UegHssxjUVVCrX52CuEmQ= +cloud.google.com/go/redis v1.11.0/go.mod h1:/X6eicana+BWcUda5PpwZC48o37SiFVTFSs0fWAJ7uQ= +cloud.google.com/go/resourcemanager v1.5.0/go.mod h1:eQoXNAiAvCf5PXxWxXjhKQoTMaUSNrEfg+6qdf/wots= +cloud.google.com/go/resourcesettings v1.5.0/go.mod h1:+xJF7QSG6undsQDfsCJyqWXyBwUoJLhetkRMDRnIoXA= +cloud.google.com/go/retail v1.12.0/go.mod h1:UMkelN/0Z8XvKymXFbD4EhFJlYKRx1FGhQkVPU5kF14= +cloud.google.com/go/run v0.8.0/go.mod h1:VniEnuBwqjigv0A7ONfQUaEItaiCRVujlMqerPPiktM= +cloud.google.com/go/scheduler v1.8.0/go.mod h1:TCET+Y5Gp1YgHT8py4nlg2Sew8nUHMqcpousDgXJVQc= +cloud.google.com/go/secretmanager v1.10.0/go.mod h1:MfnrdvKMPNra9aZtQFvBcvRU54hbPD8/HayQdlUgJpU= +cloud.google.com/go/security v1.12.0/go.mod h1:rV6EhrpbNHrrxqlvW0BWAIawFWq3X90SduMJdFwtLB8= +cloud.google.com/go/securitycenter v1.18.1/go.mod h1:0/25gAzCM/9OL9vVx4ChPeM/+DlfGQJDwBy/UC8AKK0= +cloud.google.com/go/servicecontrol v1.11.0/go.mod h1:kFmTzYzTUIuZs0ycVqRHNaNhgR+UMUpw9n02l/pY+mc= +cloud.google.com/go/servicedirectory v1.8.0/go.mod h1:srXodfhY1GFIPvltunswqXpVxFPpZjf8nkKQT7XcXaY= +cloud.google.com/go/servicemanagement v1.6.0/go.mod h1:aWns7EeeCOtGEX4OvZUWCCJONRZeFKiptqKf1D0l/Jc= +cloud.google.com/go/serviceusage v1.5.0/go.mod h1:w8U1JvqUqwJNPEOTQjrMHkw3IaIFLoLsPLvsE3xueec= +cloud.google.com/go/shell v1.6.0/go.mod h1:oHO8QACS90luWgxP3N9iZVuEiSF84zNyLytb+qE2f9A= +cloud.google.com/go/spanner v1.44.0/go.mod h1:G8XIgYdOK+Fbcpbs7p2fiprDw4CaZX63whnSMLVBxjk= +cloud.google.com/go/speech v1.14.1/go.mod h1:gEosVRPJ9waG7zqqnsHpYTOoAS4KouMRLDFMekpJ0J0= +cloud.google.com/go/storagetransfer v1.7.0/go.mod h1:8Giuj1QNb1kfLAiWM1bN6dHzfdlDAVC9rv9abHot2W4= +cloud.google.com/go/talent v1.5.0/go.mod h1:G+ODMj9bsasAEJkQSzO2uHQWXHHXUomArjWQQYkqK6c= +cloud.google.com/go/texttospeech v1.6.0/go.mod h1:YmwmFT8pj1aBblQOI3TfKmwibnsfvhIBzPXcW4EBovc= +cloud.google.com/go/tpu v1.5.0/go.mod h1:8zVo1rYDFuW2l4yZVY0R0fb/v44xLh3llq7RuV61fPM= +cloud.google.com/go/trace v1.8.0/go.mod h1:zH7vcsbAhklH8hWFig58HvxcxyQbaIqMarMg9hn5ECA= +cloud.google.com/go/translate v1.6.0/go.mod h1:lMGRudH1pu7I3n3PETiOB2507gf3HnfLV8qlkHZEyos= +cloud.google.com/go/video v1.13.0/go.mod h1:ulzkYlYgCp15N2AokzKjy7MQ9ejuynOJdf1tR5lGthk= +cloud.google.com/go/videointelligence v1.10.0/go.mod h1:LHZngX1liVtUhZvi2uNS0VQuOzNi2TkY1OakiuoUOjU= +cloud.google.com/go/vision/v2 v2.6.0/go.mod h1:158Hes0MvOS9Z/bDMSFpjwsUrZ5fPrdwuyyvKSGAGMY= +cloud.google.com/go/vmmigration v1.5.0/go.mod h1:E4YQ8q7/4W9gobHjQg4JJSgXXSgY21nA5r8swQV+Xxc= +cloud.google.com/go/vmwareengine v0.2.2/go.mod h1:sKdctNJxb3KLZkE/6Oui94iw/xs9PRNC2wnNLXsHvH8= +cloud.google.com/go/vpcaccess v1.6.0/go.mod h1:wX2ILaNhe7TlVa4vC5xce1bCnqE3AeH27RV31lnmZes= +cloud.google.com/go/webrisk v1.8.0/go.mod h1:oJPDuamzHXgUc+b8SiHRcVInZQuybnvEW72PqTc7sSg= +cloud.google.com/go/websecurityscanner v1.5.0/go.mod h1:Y6xdCPy81yi0SQnDY1xdNTNpfY1oAgXUlcfN3B3eSng= +cloud.google.com/go/workflows v1.10.0/go.mod h1:fZ8LmRmZQWacon9UCX1r/g/DfAXx5VcPALq2CxzdePw= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= +github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= +github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= +github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= github.com/Workiva/go-datastructures v1.1.1 h1:9G5u1UqKt6ABseAffHGNfbNQd7omRlWE5QaxNruzhE0= github.com/Workiva/go-datastructures v1.1.1/go.mod h1:1yZL+zfsztete+ePzZz/Zb1/t5BnDuE2Ya2MMGhzP6A= +github.com/alecthomas/kingpin/v2 v2.3.1/go.mod h1:oYL5vtsvEHZGHxU7DMp32Dvx+qL+ptGn6lWaot2vCNE= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= +github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137/go.mod h1:OMCwj8VM1Kc9e19TLln2VL61YJF0x1XFtfdL4JdbSyE= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= @@ -16,6 +143,8 @@ github.com/armon/go-metrics v0.4.0 h1:yCQqn7dwca4ITXb+CbubHmedzaQYHhNhrEXLYUeEe8 github.com/armon/go-metrics v0.4.0/go.mod h1:E6amYzXo6aW1tqzoZGT755KkbgrJsSdpwZ+3JqfkOG4= github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= +github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= +github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= github.com/asynkron/gofun v0.0.0-20220329210725-34fed760f4c2 h1:jEsFZ9d/ieJGVrx3fSPi8oe/qv21fRmyUL5cS3ZEn5A= github.com/asynkron/gofun v0.0.0-20220329210725-34fed760f4c2/go.mod h1:5GMOSqaYxNWwuVRWyampTPJEntwz7Mj9J8v1a7gSU2E= github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8= @@ -27,6 +156,7 @@ github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6r github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= github.com/buger/jsonparser v1.1.1/go.mod h1:6RYKKt7H4d4+iWqouImQ9R2FZql3VbhNgx27UK13J/0= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91VeyqjLS6ao50K5bOcLKN6Q42XnYaRYw= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44= @@ -36,7 +166,9 @@ github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= +github.com/cncf/udpa/go v0.0.0-20220112060539-c52dc94e7fbe/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20230310173818-32f1caf87195/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/coreos/go-semver v0.3.0 h1:wkHLiw0WNATZnSG7epLsujiMCgPAc9xhjJ4tgnAxmfM= github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-systemd/v22 v22.3.2 h1:D9/bQk5vlXQFZ6Kwuu6zaiXJ9oTPe68++AzAJc1DzSI= @@ -48,6 +180,8 @@ github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= +github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= +github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= github.com/emicklei/go-restful/v3 v3.9.0 h1:XwGDlfxEnQZzuopoqxwSEllNcCOM9DhhFyhFIIGKwxE= github.com/emicklei/go-restful/v3 v3.9.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc= @@ -57,7 +191,10 @@ github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.m github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= +github.com/envoyproxy/go-control-plane v0.11.0/go.mod h1:VnHyVMpzcLvCFt9yUz1UnCwHLhwx1WguiVDV7pTG/tI= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/envoyproxy/protoc-gen-validate v0.10.0/go.mod h1:DRjgyB0I43LtJapqN6NiRwroiAU2PaFuvk/vjgh61ss= +github.com/evanphx/json-patch v4.12.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w= @@ -66,8 +203,10 @@ github.com/flowstack/go-jsonschema v0.1.1/go.mod h1:yL7fNggx1o8rm9RlgXv7hTBWxdBM github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +github.com/go-kit/log v0.2.1/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= +github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.2.4 h1:g01GSCwiDw2xSZfjJ2/T9M+S6pFdcNtFYsp+Y43HYDQ= @@ -90,6 +229,8 @@ github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7a github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/glog v1.1.0/go.mod h1:pfYeQZ3JWZoXTV5sFc986z3HTpwQs9At6P4ImfuP3NQ= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.5.0 h1:jlYHihg//f7RRwuPfptm04yp4s7O6Kw8EZiVYIGcH0g= github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= @@ -131,6 +272,8 @@ github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/ github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= +github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= github.com/hashicorp/consul/api v1.18.0 h1:R7PPNzTCeN6VuQNDwwhZWJvzCtGSrNpJqfb22h3yH9g= github.com/hashicorp/consul/api v1.18.0/go.mod h1:owRRGJ9M5xReDC5nfT8FTJrNAPbT4NM6p/k+d03q2v4= @@ -176,13 +319,16 @@ github.com/hashicorp/memberlist v0.5.0 h1:EtYPN8DpAURiapus508I4n9CzHs2W+8NZGbmmR github.com/hashicorp/memberlist v0.5.0/go.mod h1:yvyXLpo0QaGE59Y7hDTsTzDD25JYBZ4mHgHUZ8lrOI0= github.com/hashicorp/serf v0.10.1 h1:Z1H2J60yRKvfDYAOZLd2MU0ND4AH/WDz7xYHDWQsIPY= github.com/hashicorp/serf v0.10.1/go.mod h1:yL2t6BqATOLGc5HF7qbFkTfXoPIY0WZdWHfEvMqbG+4= +github.com/imdario/mergo v0.3.6/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= +github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= +github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= @@ -238,6 +384,7 @@ github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:F github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/moby/spdystream v0.2.0/go.mod h1:f7i0iNDQJ059oMTcWxx8MA/zKFIuD/lY+0GqbN2Wy8c= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= @@ -248,6 +395,8 @@ github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjY github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= github.com/onsi/ginkgo/v2 v2.4.0 h1:+Ig9nvqgS5OBSACXNk15PLdp0U9XPYROt9CFzVdFGIs= github.com/onsi/ginkgo/v2 v2.4.0/go.mod h1:iHkDK1fKGcBoEHT5W7YBq4RFWaQulw+caOMkAt4OrFo= @@ -260,6 +409,7 @@ github.com/orcaman/concurrent-map v1.0.0/go.mod h1:Lu3tH6HLW3feq74c2GC+jIMS/K2CF github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pascaldekloe/goe v0.1.0 h1:cBOtyMzM9HTpWjXfbbunk26uA6nG3a8n06Wieeh0MwY= github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= +github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= github.com/philhofer/fwd v1.1.1/go.mod h1:gk3iGcWd9+svBvR0sR+KPcfE+RNWozjowpeBVG3ZVNU= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= @@ -331,6 +481,7 @@ github.com/valyala/fasttemplate v1.2.1/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+ github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y= +github.com/xhit/go-str2duration v1.2.0/go.mod h1:3cPSlfZlUHVlneIVfePFWcJZsuwf+P1v2SRTV4cUmp4= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= @@ -380,6 +531,7 @@ golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHl golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.9.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -466,6 +618,7 @@ golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roY golang.org/x/tools v0.0.0-20201022035929-9cf592e881e9/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -542,6 +695,7 @@ k8s.io/apimachinery v0.26.1 h1:8EZ/eGJL+hY/MYCNwhmDzVqq2lPl3N3Bo8rvweJwXUQ= k8s.io/apimachinery v0.26.1/go.mod h1:tnPmbONNJ7ByJNz9+n9kMjNP8ON+1qoAIIC70lztu74= k8s.io/client-go v0.26.1 h1:87CXzYJnAMGaa/IDDfRdhTzxk/wzGZ+/HUQpqgVSZXU= k8s.io/client-go v0.26.1/go.mod h1:IWNSglg+rQ3OcvDkhY6+QLeasV4OYHDjdqeWkDQZwGE= +k8s.io/gengo v0.0.0-20210813121822-485abfe95c7c/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= k8s.io/klog/v2 v2.80.1 h1:atnLQ121W371wYYFawwYx1aEY2eUfs4l3J72wtgAwV4= k8s.io/klog/v2 v2.80.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= k8s.io/kube-openapi v0.0.0-20221012153701-172d655c2280 h1:+70TFaan3hfJzs+7VK2o+OGxg8HsuBr/5f6tVAjDu6E= diff --git a/log/log.go b/log/log.go index 7330d5405..cb299e938 100644 --- a/log/log.go +++ b/log/log.go @@ -1 +1,9 @@ package log + +//func Error(err error) slog.Attr { +// return slog.Any("error", err) +//} +// +//func Message(message interface{}) slog.Attr { +// return slog.Any("message", message) +//} From c79805610367619110870fdff6c05fd4c4b442a1 Mon Sep 17 00:00:00 2001 From: Roger Johansson Date: Thu, 23 Nov 2023 18:19:08 +0100 Subject: [PATCH 2/5] cosmetics --- _examples/remote-activate/node1/main.go | 1 - actor/actor_context.go | 10 +++++----- actor/actor_system.go | 10 +++++++--- actor/behavior.go | 2 +- actor/deadletter.go | 4 ++-- actor/future.go | 2 +- actor/guardian.go | 2 +- actor/metrics.go | 4 ++-- actor/props.go | 2 +- actor/root_context.go | 2 +- actor/supervision_event.go | 2 +- cluster/cluster.go | 10 +++++----- cluster/gossip_actor.go | 2 +- cluster/member_list.go | 2 +- remote/endpoint_manager.go | 2 +- remote/server.go | 12 ++++++------ 16 files changed, 36 insertions(+), 33 deletions(-) diff --git a/_examples/remote-activate/node1/main.go b/_examples/remote-activate/node1/main.go index 9ae0a13d2..2ace0bb8f 100644 --- a/_examples/remote-activate/node1/main.go +++ b/_examples/remote-activate/node1/main.go @@ -1,7 +1,6 @@ package main import ( - "fmt" "log/slog" "time" diff --git a/actor/actor_context.go b/actor/actor_context.go index 41847d6f4..4d2acc5cb 100644 --- a/actor/actor_context.go +++ b/actor/actor_context.go @@ -150,7 +150,7 @@ func (ctx *actorContext) ActorSystem() *ActorSystem { } func (ctx *actorContext) Logger() *slog.Logger { - return ctx.actorSystem.Logger + return ctx.actorSystem.Logger() } func (ctx *actorContext) Parent() *PID { @@ -260,7 +260,7 @@ func (ctx *actorContext) receiveTimeoutHandler() { func (ctx *actorContext) Forward(pid *PID) { if msg, ok := ctx.messageOrEnvelope.(SystemMessage); ok { // SystemMessage cannot be forwarded - ctx.actorSystem.Logger.Error("SystemMessage cannot be forwarded", slog.Any("message", msg)) + ctx.Logger().Error("SystemMessage cannot be forwarded", slog.Any("message", msg)) return } @@ -567,7 +567,7 @@ func (ctx *actorContext) InvokeSystemMessage(message interface{}) { case *Restart: ctx.handleRestart() default: - ctx.actorSystem.Logger.Error("unknown system message", slog.Any("message", msg)) + ctx.Logger().Error("unknown system message", slog.Any("message", msg)) } } @@ -707,11 +707,11 @@ func (ctx *actorContext) finalizeStop() { func (ctx *actorContext) EscalateFailure(reason interface{}, message interface{}) { //TODO: add callstack to log? - ctx.actorSystem.Logger.Info("[ACTOR] Recovering", slog.Any("self", ctx.self), slog.Any("reason", reason)) + ctx.Logger().Info("[ACTOR] Recovering", slog.Any("self", ctx.self), slog.Any("reason", reason)) // debug setting, allows to output supervision failures in console/error level if ctx.actorSystem.Config.DeveloperSupervisionLogging { fmt.Println("[Supervision] Actor:", ctx.self, " failed with message:", message, " exception:", reason) - ctx.actorSystem.Logger.Error("[Supervision]", slog.Any("actor", ctx.self), slog.Any("message", message), slog.Any("exception", reason)) + ctx.Logger().Error("[Supervision]", slog.Any("actor", ctx.self), slog.Any("message", message), slog.Any("exception", reason)) } metricsSystem, ok := ctx.actorSystem.Extensions.Get(extensionId).(*Metrics) diff --git a/actor/actor_system.go b/actor/actor_system.go index d82eeeb05..e39585538 100644 --- a/actor/actor_system.go +++ b/actor/actor_system.go @@ -21,7 +21,11 @@ type ActorSystem struct { Config *Config ID string stopper chan struct{} - Logger *slog.Logger + logger *slog.Logger +} + +func (as *ActorSystem) Logger() *slog.Logger { + return as.logger } func (as *ActorSystem) NewLocalPID(id string) *PID { @@ -72,7 +76,7 @@ func NewActorSystemWithConfig(config *Config) *ActorSystem { system := &ActorSystem{} system.ID = shortuuid.New() system.Config = config - system.Logger = config.LoggerFactory(system) + system.logger = config.LoggerFactory(system) system.ProcessRegistry = NewProcessRegistry(system) system.Root = NewRootContext(system, EmptyMessageHeader) system.Guardians = NewGuardians(system) @@ -85,7 +89,7 @@ func NewActorSystemWithConfig(config *Config) *ActorSystem { system.ProcessRegistry.Add(NewEventStreamProcess(system), "eventstream") system.stopper = make(chan struct{}) - system.Logger.Info("actor system started", slog.String("id", system.ID)) + system.Logger().Info("actor system started", slog.String("id", system.ID)) return system } diff --git a/actor/behavior.go b/actor/behavior.go index 7671746e5..a7232c20e 100644 --- a/actor/behavior.go +++ b/actor/behavior.go @@ -28,7 +28,7 @@ func (b *Behavior) Receive(context Context) { if ok { behavior(context) } else { - context.ActorSystem().Logger.Error("empty behavior called", slog.Any("pid", context.Self())) + context.Logger().Error("empty behavior called", slog.Any("pid", context.Self())) } } diff --git a/actor/deadletter.go b/actor/deadletter.go index eced35058..d197c530a 100644 --- a/actor/deadletter.go +++ b/actor/deadletter.go @@ -23,7 +23,7 @@ func NewDeadLetter(actorSystem *ActorSystem) *deadLetterProcess { } shouldThrottle := NewThrottle(actorSystem.Config.DeadLetterThrottleCount, actorSystem.Config.DeadLetterThrottleInterval, func(i int32) { - actorSystem.Logger.Info("[DeadLetter]", slog.Int64("throttled", int64(i))) + actorSystem.Logger().Info("[DeadLetter]", slog.Int64("throttled", int64(i))) }) actorSystem.ProcessRegistry.Add(dp, "deadletter") @@ -42,7 +42,7 @@ func NewDeadLetter(actorSystem *ActorSystem) *deadLetterProcess { if _, isIgnoreDeadLetter := deadLetter.Message.(IgnoreDeadLetterLogging); !isIgnoreDeadLetter { if shouldThrottle() == Open { - actorSystem.Logger.Debug("[DeadLetter]", slog.Any("pid", deadLetter.PID), slog.Any("message", deadLetter.Message), slog.Any("sender", deadLetter.Sender)) + actorSystem.Logger().Debug("[DeadLetter]", slog.Any("pid", deadLetter.PID), slog.Any("message", deadLetter.Message), slog.Any("sender", deadLetter.Sender)) } } } diff --git a/actor/future.go b/actor/future.go index dba124ddd..955e832f9 100644 --- a/actor/future.go +++ b/actor/future.go @@ -27,7 +27,7 @@ func NewFuture(actorSystem *ActorSystem, d time.Duration) *Future { pid, ok := actorSystem.ProcessRegistry.Add(ref, "future"+id) if !ok { - actorSystem.Logger.Error("failed to register future process", slog.Any("pid", pid)) + actorSystem.Logger().Error("failed to register future process", slog.Any("pid", pid)) } sysMetrics, ok := actorSystem.Extensions.Get(extensionId).(*Metrics) diff --git a/actor/guardian.go b/actor/guardian.go index c8661a5f9..c254c68a2 100644 --- a/actor/guardian.go +++ b/actor/guardian.go @@ -37,7 +37,7 @@ func (gs *guardiansValue) newGuardian(s SupervisorStrategy) *guardianProcess { pid, ok := gs.actorSystem.ProcessRegistry.Add(ref, "guardian"+id) if !ok { - gs.actorSystem.Logger.Error("failed to register guardian process", slog.Any("pid", pid)) + gs.actorSystem.Logger().Error("failed to register guardian process", slog.Any("pid", pid)) } ref.pid = pid diff --git a/actor/metrics.go b/actor/metrics.go index 3243dcc7f..aa911c3ff 100644 --- a/actor/metrics.go +++ b/actor/metrics.go @@ -38,7 +38,7 @@ func NewMetrics(system *ActorSystem, provider metric.MeterProvider) *Metrics { } return &Metrics{ - metrics: metrics.NewProtoMetrics(system.Logger), + metrics: metrics.NewProtoMetrics(system.Logger()), enabled: true, actorSystem: system, } @@ -51,7 +51,7 @@ func (m *Metrics) PrepareMailboxLengthGauge() { metric.WithUnit("1")) if err != nil { err = fmt.Errorf("failed to create ActorMailBoxLength instrument, %w", err) - m.actorSystem.Logger.Error(err.Error(), slog.Any("error", err)) + m.actorSystem.Logger().Error(err.Error(), slog.Any("error", err)) } m.metrics.Instruments().SetActorMailboxLengthGauge(gauge) } diff --git a/actor/props.go b/actor/props.go index da15b99ed..c6a3fed6f 100644 --- a/actor/props.go +++ b/actor/props.go @@ -40,7 +40,7 @@ var ( return nil }); err != nil { err = fmt.Errorf("failed to instrument Actor Mailbox, %w", err) - actorSystem.Logger.Error(err.Error(), slog.Any("error", err)) + actorSystem.Logger().Error(err.Error(), slog.Any("error", err)) } } } diff --git a/actor/root_context.go b/actor/root_context.go index 146bffb39..4b5425401 100644 --- a/actor/root_context.go +++ b/actor/root_context.go @@ -42,7 +42,7 @@ func (rc *RootContext) ActorSystem() *ActorSystem { } func (rc *RootContext) Logger() *slog.Logger { - return rc.actorSystem.Logger + return rc.actorSystem.Logger() } func (rc *RootContext) WithHeaders(headers map[string]string) *RootContext { diff --git a/actor/supervision_event.go b/actor/supervision_event.go index 61e941b82..a80ea6bc5 100644 --- a/actor/supervision_event.go +++ b/actor/supervision_event.go @@ -14,7 +14,7 @@ type SupervisorEvent struct { func SubscribeSupervision(actorSystem *ActorSystem) { _ = actorSystem.EventStream.Subscribe(func(evt interface{}) { if supervisorEvent, ok := evt.(*SupervisorEvent); ok { - actorSystem.Logger.Debug("[SUPERVISION]", slog.Any("actor", supervisorEvent.Child), slog.Any("directive", supervisorEvent.Directive), slog.Any("reason", supervisorEvent.Reason)) + actorSystem.Logger().Debug("[SUPERVISION]", slog.Any("actor", supervisorEvent.Child), slog.Any("directive", supervisorEvent.Directive), slog.Any("reason", supervisorEvent.Reason)) } }) } diff --git a/cluster/cluster.go b/cluster/cluster.go index 783249f1e..6fef9bfde 100644 --- a/cluster/cluster.go +++ b/cluster/cluster.go @@ -91,7 +91,7 @@ func (c *Cluster) StartMember() { c.Remote.Start() address := c.ActorSystem.Address() - c.ActorSystem.Logger.Info("Starting Proto.Actor cluster member", slog.String("address", address)) + c.Logger().Info("Starting Proto.Actor cluster member", slog.String("address", address)) c.IdentityLookup = cfg.IdentityLookup c.IdentityLookup.Setup(c, c.GetClusterKinds(), false) @@ -127,7 +127,7 @@ func (c *Cluster) StartClient() { c.Remote.Start() address := c.ActorSystem.Address() - c.ActorSystem.Logger.Info("Starting Proto.Actor cluster-client", slog.String("address", address)) + c.Logger().Info("Starting Proto.Actor cluster-client", slog.String("address", address)) c.IdentityLookup = cfg.IdentityLookup c.IdentityLookup.Setup(c, c.GetClusterKinds(), true) @@ -154,7 +154,7 @@ func (c *Cluster) Shutdown(graceful bool) { c.Remote.Shutdown(graceful) address := c.ActorSystem.Address() - c.ActorSystem.Logger.Info("Stopped Proto.Actor cluster", slog.String("address", address)) + c.Logger().Info("Stopped Proto.Actor cluster", slog.String("address", address)) } func (c *Cluster) Get(identity string, kind string) *actor.PID { @@ -168,7 +168,7 @@ func (c *Cluster) Request(identity string, kind string, message interface{}, opt func (c *Cluster) GetClusterKind(kind string) *ActivatedKind { k, ok := c.kinds[kind] if !ok { - c.ActorSystem.Logger.Error("Invalid kind", slog.String("kind", kind)) + c.Logger().Error("Invalid kind", slog.String("kind", kind)) return nil } @@ -209,5 +209,5 @@ func (c *Cluster) ensureTopicKindRegistered() { } func (c *Cluster) Logger() *slog.Logger { - return c.ActorSystem.Logger + return c.ActorSystem.Logger() } diff --git a/cluster/gossip_actor.go b/cluster/gossip_actor.go index f74c62c56..ca17a1c86 100644 --- a/cluster/gossip_actor.go +++ b/cluster/gossip_actor.go @@ -26,7 +26,7 @@ type GossipActor struct { // Creates a new GossipActor and returns a pointer to its location in the heap func NewGossipActor(requestTimeout time.Duration, myID string, getBlockedMembers func() set.Set[string], fanOut int, maxSend int, system *actor.ActorSystem) *GossipActor { - logger := system.Logger + logger := system.Logger() informer := newInformer(myID, getBlockedMembers, fanOut, maxSend, logger) gossipActor := GossipActor{ gossipRequestTimeout: requestTimeout, diff --git a/cluster/member_list.go b/cluster/member_list.go index 5ac8e2978..e4d4f38d9 100644 --- a/cluster/member_list.go +++ b/cluster/member_list.go @@ -42,7 +42,7 @@ func NewMemberList(cluster *Cluster) *MemberList { // and merge that without own blocked set var topology ClusterTopology if err := t.Value.UnmarshalTo(&topology); err != nil { - cluster.ActorSystem.Logger.Warn("could not unpack into ClusterTopology proto.Message form Any", slog.Any("error", err)) + cluster.Logger().Warn("could not unpack into ClusterTopology proto.Message form Any", slog.Any("error", err)) break } diff --git a/remote/endpoint_manager.go b/remote/endpoint_manager.go index 3f23f2431..d0dd9a2c7 100644 --- a/remote/endpoint_manager.go +++ b/remote/endpoint_manager.go @@ -279,7 +279,7 @@ func (state *endpointSupervisor) Receive(ctx actor.Context) { } func (state *endpointSupervisor) HandleFailure(actorSystem *actor.ActorSystem, supervisor actor.Supervisor, child *actor.PID, rs *actor.RestartStatistics, reason interface{}, message interface{}) { - actorSystem.Logger.Debug("EndpointSupervisor handling failure", slog.Any("reason", reason), slog.Any("message", message)) + actorSystem.Logger().Debug("EndpointSupervisor handling failure", slog.Any("reason", reason), slog.Any("message", message)) supervisor.RestartChildren(child) } diff --git a/remote/server.go b/remote/server.go index 63d3b9147..9ade8a0f5 100644 --- a/remote/server.go +++ b/remote/server.go @@ -73,7 +73,7 @@ func (r *Remote) Start() { r.actorSystem.ProcessRegistry.RegisterAddressResolver(r.remoteHandler) r.actorSystem.ProcessRegistry.Address = address - r.actorSystem.Logger.Info("Starting remote with address", slog.String("address", address)) + r.Logger().Info("Starting remote with address", slog.String("address", address)) r.edpManager = newEndpointManager(r) r.edpManager.start() @@ -81,7 +81,7 @@ func (r *Remote) Start() { r.s = grpc.NewServer(r.config.ServerOptions...) r.edpReader = newEndpointReader(r) RegisterRemotingServer(r.s, r.edpReader) - r.actorSystem.Logger.Info("Starting Proto.Actor server", slog.String("address", address)) + r.Logger().Info("Starting Proto.Actor server", slog.String("address", address)) go r.s.Serve(lis) } @@ -102,14 +102,14 @@ func (r *Remote) Shutdown(graceful bool) { select { case <-c: - r.actorSystem.Logger.Info("Stopped Proto.Actor server") + r.Logger().Info("Stopped Proto.Actor server") case <-time.After(time.Second * 10): r.s.Stop() - r.actorSystem.Logger.Info("Stopped Proto.Actor server", slog.String("err", "timeout")) + r.Logger().Info("Stopped Proto.Actor server", slog.String("err", "timeout")) } } else { r.s.Stop() - r.actorSystem.Logger.Info("Killed Proto.Actor server") + r.Logger().Info("Killed Proto.Actor server") } } @@ -125,5 +125,5 @@ func (r *Remote) SendMessage(pid *actor.PID, header actor.ReadonlyMessageHeader, } func (r *Remote) Logger() *slog.Logger { - return r.actorSystem.Logger + return r.Logger() } From e05b02ed1d75b6cb0884d4eb44186deca7714227 Mon Sep 17 00:00:00 2001 From: Roger Johansson Date: Thu, 23 Nov 2023 18:22:49 +0100 Subject: [PATCH 3/5] cosmetics --- _examples/remote-activate/node1/main.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_examples/remote-activate/node1/main.go b/_examples/remote-activate/node1/main.go index 2ace0bb8f..891532fa9 100644 --- a/_examples/remote-activate/node1/main.go +++ b/_examples/remote-activate/node1/main.go @@ -39,7 +39,7 @@ func main() { response := res.(*messages.HelloResponse) - system.Logger.Info("Response from remote", slog.Any("message", response.Message)) + system.Logger().Info("Response from remote", slog.Any("message", response.Message)) console.ReadLine() } From 7bf91ca2a6c323e2c3bddc81600437922c053067 Mon Sep 17 00:00:00 2001 From: Roger Johansson Date: Thu, 23 Nov 2023 18:25:58 +0100 Subject: [PATCH 4/5] cosmetics --- actor/middleware/opentracing/spawnmiddleware.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/actor/middleware/opentracing/spawnmiddleware.go b/actor/middleware/opentracing/spawnmiddleware.go index 2fa98ae27..b01cdbd15 100644 --- a/actor/middleware/opentracing/spawnmiddleware.go +++ b/actor/middleware/opentracing/spawnmiddleware.go @@ -12,7 +12,7 @@ func SpawnMiddleware() actor.SpawnMiddleware { self := parentContext.Self() pid, err := next(actorSystem, id, props, parentContext) if err != nil { - actorSystem.Logger.Debug("SPAWN got error trying to spawn", slog.Any("self", self), slog.Any("actor", parentContext.Actor()), slog.Any("error", err)) + actorSystem.Logger().Debug("SPAWN got error trying to spawn", slog.Any("self", self), slog.Any("actor", parentContext.Actor()), slog.Any("error", err)) return pid, err } if self != nil { @@ -20,12 +20,12 @@ func SpawnMiddleware() actor.SpawnMiddleware { if span != nil { setParentSpan(pid, span) span.LogFields(olog.String("SpawnPID", pid.String())) - actorSystem.Logger.Debug("SPAWN found active span", slog.Any("self", self), slog.Any("actor", parentContext.Actor()), slog.Any("spawned-pid", pid)) + actorSystem.Logger().Debug("SPAWN found active span", slog.Any("self", self), slog.Any("actor", parentContext.Actor()), slog.Any("spawned-pid", pid)) } else { - actorSystem.Logger.Debug("SPAWN no active span on parent", slog.Any("self", self), slog.Any("actor", parentContext.Actor()), slog.Any("spawned-pid", pid)) + actorSystem.Logger().Debug("SPAWN no active span on parent", slog.Any("self", self), slog.Any("actor", parentContext.Actor()), slog.Any("spawned-pid", pid)) } } else { - actorSystem.Logger.Debug("SPAWN no parent pid", slog.Any("self", self)) + actorSystem.Logger().Debug("SPAWN no parent pid", slog.Any("self", self)) } return pid, err } From 0c7aecb45df669a4d3f8b2140739b56d6e9f8773 Mon Sep 17 00:00:00 2001 From: Roger Johansson Date: Thu, 23 Nov 2023 18:39:09 +0100 Subject: [PATCH 5/5] cosmetics --- cluster/clusterproviders/test/test_provider.go | 2 +- remote/server.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/cluster/clusterproviders/test/test_provider.go b/cluster/clusterproviders/test/test_provider.go index 0287bb5d5..efcb14f62 100644 --- a/cluster/clusterproviders/test/test_provider.go +++ b/cluster/clusterproviders/test/test_provider.go @@ -68,7 +68,7 @@ func NewTestProvider(agent *InMemAgent, options ...ProviderOption) *Provider { func (t *Provider) StartMember(c *cluster.Cluster) error { - c.ActorSystem.Logger.Debug("start cluster member") + c.ActorSystem.Logger().Debug("start cluster member") t.memberList = c.MemberList host, port, err := c.ActorSystem.GetHostPort() if err != nil { diff --git a/remote/server.go b/remote/server.go index 9ade8a0f5..21eb54e47 100644 --- a/remote/server.go +++ b/remote/server.go @@ -125,5 +125,5 @@ func (r *Remote) SendMessage(pid *actor.PID, header actor.ReadonlyMessageHeader, } func (r *Remote) Logger() *slog.Logger { - return r.Logger() + return r.actorSystem.Logger() }