UNPKG

openhim-core

Version:

The OpenHIM core application that provides logging and routing of http requests

50 lines (39 loc) 1.52 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.aggregateTransactionToMetrics = aggregateTransactionToMetrics; var _winston = require('winston'); var _winston2 = _interopRequireDefault(_winston); var _progress = require('progress'); var _progress2 = _interopRequireDefault(_progress); var _model = require('./model'); var _metrics = require('./metrics'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } async function aggregateTransactionToMetrics() { await _model.MetricModel.deleteMany(); const query = { response: { $exists: true } }; const totalTrans = await _model.TransactionModel.count(query); if (totalTrans === 0) { _winston2.default.info('No transactions to aggregate to metrics, skipping.'); return; } const transactionProgress = new _progress2.default(`Aggregating transactions [:bar] :rate/trans per sec :percent :etas`, { total: totalTrans }); const cursor = _model.TransactionModel.find(query).batchSize(100).cursor(); let transaction = await cursor.next(); _winston2.default.log(`transactions`, transaction); while (transaction != null) { await (0, _metrics.recordTransactionMetrics)(transaction); transactionProgress.tick(); transaction = await cursor.next(); } } if (!module.parent) { aggregateTransactionToMetrics().then(() => process.exit(0)).catch(err => { console.err(err); process.exit(1); }); } //# sourceMappingURL=migrateMetrics.js.map