diff --git a/src/shadowbox/infrastructure/prometheus_scraper.ts b/src/shadowbox/infrastructure/prometheus_scraper.ts index 5cfe4064..af9ebad5 100644 --- a/src/shadowbox/infrastructure/prometheus_scraper.ts +++ b/src/shadowbox/infrastructure/prometheus_scraper.ts @@ -102,12 +102,17 @@ export interface PrometheusClient { } export class ApiPrometheusClient implements PrometheusClient { - constructor(private address: string) {} + private readonly agent: http.Agent; + + constructor(private address: string) { + this.agent = new http.Agent({ keepAlive: true }); + } private request(url: string): Promise { return new Promise((fulfill, reject) => { + const options = {agent: this.agent}; http - .get(url, (response) => { + .get(url, options, (response) => { if (response.statusCode < 200 || response.statusCode > 299) { reject(new Error(`Got error ${response.statusCode}`)); response.resume();