From 473178e81025f2e5c5a5994d972bdee6aa221bac Mon Sep 17 00:00:00 2001 From: ramil Date: Sun, 6 Dec 2020 20:43:09 +0300 Subject: [PATCH] fix database connection leak, disable default prometheus metrics --- package.json | 3 +++ src/index.js | 12 ++++++++++-- src/prometheus.js | 2 -- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 87a0e2c..77849c5 100644 --- a/package.json +++ b/package.json @@ -12,5 +12,8 @@ "express": "^4.17.1", "pg": "^8.5.1", "prom-client": "^12.0.0" + }, + "scripts": { + "start": "node ./src/index.js" } } diff --git a/src/index.js b/src/index.js index 58b9363..378dc00 100644 --- a/src/index.js +++ b/src/index.js @@ -24,14 +24,21 @@ const startServer = () => { server.listen(serverPort, serverHost, () => console.log(`Http server running on port ${serverHost}:${serverPort}`)); } -const run = async () => { +let dbStateDiff; + +const connectToDB = () => { const statediffUser = process.env.STATEDIFF_PG_USER; const statediffPassword = process.env.STATEDIFF_PG_PASSWORD; const statediffDB = process.env.STATEDIFF_PG_DATABASE; const statediffHost = process.env.STATEDIFF_PG_HOST; const statediffPort = process.env.STATEDIFF_PG_PORT; - const dbStateDiff = new DB('statediff', statediffUser, statediffPassword, statediffDB, statediffHost, statediffPort) + dbStateDiff = new DB('statediff', statediffUser, statediffPassword, statediffDB, statediffHost, statediffPort) +} + +const run = async () => { + + // statediff database const dbStateDiffBlockNumber = dbStateDiff.getBlockNumber(); // Etherscan @@ -71,6 +78,7 @@ const sleep = ms => new Promise(resolve => setTimeout(resolve, ms)); const main = async () => { startServer(); + connectToDB(); let lock = false; diff --git a/src/prometheus.js b/src/prometheus.js index 0088471..aa63348 100644 --- a/src/prometheus.js +++ b/src/prometheus.js @@ -1,10 +1,8 @@ const client = require('prom-client'); -const collectDefaultMetrics = client.collectDefaultMetrics; const Registry = client.Registry; const register = new Registry(); const prefix = 'eth_state_metrics_'; -collectDefaultMetrics({ register }); const etherscanGauge = new client.Gauge({ name: `${prefix}etherscan`, help: 'Etherscan Block Number', registers: [register]}); const statediffDBGauge = new client.Gauge({ name: `${prefix}statediff_db`, help: 'Statediff DB Block Number', registers: [register]});