@@ -12,6 +12,7 @@ import (
12
12
"fmt"
13
13
"net"
14
14
"net/http"
15
+ "sync"
15
16
"time"
16
17
17
18
_ "github.com/jackc/pgx/v4/stdlib"
@@ -119,15 +120,15 @@ func Run(cfg *Config) error {
119
120
return fmt .Errorf ("generate router: %w" , err )
120
121
}
121
122
122
- log .Info ("msg" , "Starting up..." )
123
- log .Info ("msg" , "Listening" , "addr" , cfg .ListenAddr )
124
-
125
123
err = api .RegisterMetricsForTelemetry (client .TelemetryEngine )
126
124
if err != nil {
127
125
log .Error ("msg" , "error registering metrics for telemetry" , "err" , err .Error ())
128
126
return fmt .Errorf ("error registering metrics for telemetry: %w" , err )
129
127
}
130
128
129
+ log .Info ("msg" , "Started Prometheus HTTP server" , "listening-port" , cfg .ListenAddr )
130
+
131
+ var wg sync.WaitGroup
131
132
if len (cfg .ThanosStoreAPIListenAddr ) > 0 {
132
133
srv := thanos .NewStorage (client .Queryable ())
133
134
options := make ([]grpc.ServerOption , 0 )
@@ -142,15 +143,17 @@ func Run(cfg *Config) error {
142
143
grpcServer := grpc .NewServer (options ... )
143
144
storepb .RegisterStoreServer (grpcServer , srv )
144
145
146
+ wg .Add (1 )
145
147
go func () {
146
- log .Info ("msg" , fmt .Sprintf ("Start listening for Thanos StoreAPI on %s" , cfg .ThanosStoreAPIListenAddr ))
147
148
listener , err := net .Listen ("tcp" , cfg .ThanosStoreAPIListenAddr )
148
149
if err != nil {
150
+ wg .Done ()
149
151
log .Error ("msg" , "Listening for Thanos StoreAPI failed" , "err" , err )
150
152
return
151
153
}
152
154
153
- log .Info ("msg" , "Start thanos-store" )
155
+ log .Info ("msg" , "Started Thanos StoreAPI GRPC endpoint" , "listening-port" , cfg .ThanosStoreAPIListenAddr )
156
+ wg .Done ()
154
157
if err := grpcServer .Serve (listener ); err != nil {
155
158
log .Error ("msg" , "Starting the Thanos store failed" , "err" , err )
156
159
return
@@ -192,15 +195,17 @@ func Run(cfg *Config) error {
192
195
return err
193
196
}
194
197
198
+ wg .Add (1 )
195
199
go func () {
196
- log .Info ("msg" , fmt .Sprintf ("Start listening for OTLP GRPC server on %s" , cfg .OTLPGRPCListenAddr ))
197
200
listener , err := net .Listen ("tcp" , cfg .OTLPGRPCListenAddr )
198
201
if err != nil {
202
+ wg .Done ()
199
203
log .Error ("msg" , "Listening for OTLP GRPC server failed" , "err" , err )
200
204
return
201
205
}
202
206
203
- log .Info ("msg" , "Start OTLP GRPC server" )
207
+ log .Info ("msg" , "Started OpenTelemetry OTLP GRPC server" , "listening-port" , cfg .OTLPGRPCListenAddr )
208
+ wg .Done ()
204
209
if err := grpcServer .Serve (listener ); err != nil {
205
210
log .Error ("msg" , "Starting the OTLP GRPC server failed" , "err" , err )
206
211
return
@@ -211,6 +216,9 @@ func Run(cfg *Config) error {
211
216
mux := http .NewServeMux ()
212
217
mux .Handle ("/" , router )
213
218
219
+ wg .Wait ()
220
+ log .Info ("msg" , "All components are ready!" )
221
+
214
222
if cfg .TLSCertFile != "" {
215
223
err = http .ListenAndServeTLS (cfg .ListenAddr , cfg .TLSCertFile , cfg .TLSKeyFile , mux )
216
224
} else {
0 commit comments