@@ -30,7 +30,7 @@ if (env.METRICS_COLLECT_DEFAULTS) {
30
30
31
31
class ManagedSupervisor {
32
32
private readonly workerSession : SupervisorSession ;
33
- private readonly httpServer : HttpServer ;
33
+ private readonly metricsServer ? : HttpServer ;
34
34
private readonly workloadServer : WorkloadServer ;
35
35
private readonly workloadManager : WorkloadManager ;
36
36
private readonly logger = new SimpleStructuredLogger ( "managed-worker" ) ;
@@ -50,6 +50,7 @@ class ManagedSupervisor {
50
50
51
51
if ( env . POD_CLEANER_ENABLED ) {
52
52
this . podCleaner = new PodCleaner ( {
53
+ register,
53
54
namespace : env . KUBERNETES_NAMESPACE ,
54
55
batchSize : env . POD_CLEANER_BATCH_SIZE ,
55
56
intervalMs : env . POD_CLEANER_INTERVAL_MS ,
@@ -58,6 +59,7 @@ class ManagedSupervisor {
58
59
59
60
if ( env . FAILED_POD_HANDLER_ENABLED ) {
60
61
this . failedPodHandler = new FailedPodHandler ( {
62
+ register,
61
63
namespace : env . KUBERNETES_NAMESPACE ,
62
64
reconnectIntervalMs : env . FAILED_POD_HANDLER_RECONNECT_INTERVAL_MS ,
63
65
} ) ;
@@ -224,12 +226,16 @@ class ManagedSupervisor {
224
226
}
225
227
} ) ;
226
228
227
- // Used for health checks and metrics
228
- this . httpServer = new HttpServer ( { port : 8080 , host : "0.0.0.0" } ) . route ( "/health" , "GET" , {
229
- handler : async ( { reply } ) => {
230
- reply . text ( "OK" ) ;
231
- } ,
232
- } ) ;
229
+ if ( env . METRICS_ENABLED ) {
230
+ this . metricsServer = new HttpServer ( {
231
+ port : env . METRICS_PORT ,
232
+ host : env . METRICS_HOST ,
233
+ metrics : {
234
+ register,
235
+ expose : true ,
236
+ } ,
237
+ } ) ;
238
+ }
233
239
234
240
// Responds to workload requests only
235
241
this . workloadServer = new WorkloadServer ( {
@@ -320,13 +326,12 @@ class ManagedSupervisor {
320
326
}
321
327
322
328
await this . workerSession . start ( ) ;
323
-
324
- await this . httpServer . start ( ) ;
329
+ await this . metricsServer ?. start ( ) ;
325
330
}
326
331
327
332
async stop ( ) {
328
333
this . logger . log ( "[ManagedWorker] Shutting down" ) ;
329
- await this . httpServer . stop ( ) ;
334
+ await this . workerSession . stop ( ) ;
330
335
331
336
if ( this . podCleaner ) {
332
337
await this . podCleaner . stop ( ) ;
@@ -335,6 +340,8 @@ class ManagedSupervisor {
335
340
if ( this . failedPodHandler ) {
336
341
await this . failedPodHandler . stop ( ) ;
337
342
}
343
+
344
+ await this . metricsServer ?. stop ( ) ;
338
345
}
339
346
}
340
347
0 commit comments