@@ -92,8 +92,6 @@ func newGRPCServer(c *container.Container, port int, cfg config.Config) (*grpcSe
92
92
return nil , fmt .Errorf ("%w: %d" , ErrInvalidPort , port )
93
93
}
94
94
95
- c .Logger .Infof ("creating new gRPC server on port %d" , port )
96
-
97
95
registerGRPCMetrics (c )
98
96
99
97
middleware := make ([]grpc.UnaryServerInterceptor , 0 )
@@ -106,8 +104,6 @@ func newGRPCServer(c *container.Container, port int, cfg config.Config) (*grpcSe
106
104
grpc_recovery .StreamServerInterceptor (),
107
105
gofr_grpc .StreamObservabilityInterceptor (c .Logger , c .Metrics ()))
108
106
109
- c .Logger .Debugf ("gRPC server created successfully on port %d" , port )
110
-
111
107
return & grpcServer {
112
108
port : port ,
113
109
interceptors : middleware ,
@@ -151,6 +147,14 @@ func (g *grpcServer) Run(c *container.Container) {
151
147
}
152
148
}
153
149
150
+ if ! isPortAvailable (g .port ) {
151
+ c .Logger .Fatalf ("gRPC port %d is blocked or unreachable" , g .port )
152
+ c .Metrics ().IncrementCounter (context .Background (), "grpc_server_errors_total" )
153
+ c .Metrics ().SetGauge ("grpc_server_status" , 0 )
154
+
155
+ return
156
+ }
157
+
154
158
addr := ":" + strconv .Itoa (g .port )
155
159
156
160
c .Logger .Infof ("starting gRPC server at %s" , addr )
@@ -165,6 +169,7 @@ func (g *grpcServer) Run(c *container.Container) {
165
169
}
166
170
167
171
c .Metrics ().SetGauge ("grpc_server_status" , 1 )
172
+ c .Logger .Infof ("gRPC server started successfully on %s" , addr )
168
173
169
174
if err := g .server .Serve (listener ); err != nil {
170
175
c .Logger .Errorf ("error in starting gRPC server at %s: %s" , addr , err )
@@ -194,18 +199,14 @@ func (g *grpcServer) Shutdown(ctx context.Context) error {
194
199
195
200
// RegisterService adds a gRPC service to the GoFr application.
196
201
func (a * App ) RegisterService (desc * grpc.ServiceDesc , impl any ) {
197
- if ! a .grpcRegistered && ! isPortAvailable (a .grpcServer .port ) {
198
- a .container .Logger .Fatalf ("gRPC port %d is blocked or unreachable" , a .grpcServer .port )
199
- }
200
-
201
202
if ! a .grpcRegistered {
202
203
if err := a .grpcServer .createServer (); err != nil {
203
204
a .container .Logger .Errorf ("failed to create gRPC server for service %s: %v" , desc .ServiceName , err )
204
205
return
205
206
}
206
207
}
207
208
208
- a .container .Logger .Infof ("registering gRPC Server : %s" , desc .ServiceName )
209
+ a .container .Logger .Infof ("registering gRPC Service : %s" , desc .ServiceName )
209
210
a .grpcServer .server .RegisterService (desc , impl )
210
211
211
212
a .container .Metrics ().IncrementCounter (context .Background (), "grpc_services_registered_total" )
@@ -216,7 +217,7 @@ func (a *App) RegisterService(desc *grpc.ServiceDesc, impl any) {
216
217
}
217
218
218
219
a .grpcRegistered = true
219
- a .container .Logger .Debugf ("successfully registered gRPC service: %s" , desc .ServiceName )
220
+ a .container .Logger .Infof ("successfully registered gRPC service: %s" , desc .ServiceName )
220
221
}
221
222
222
223
func injectContainer (impl any , c * container.Container ) error {
0 commit comments