UNPKG

openhim-core

Version:

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

56 lines (41 loc) 1.49 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.aggregateTransactionToMetrics = aggregateTransactionToMetrics; var _winston = _interopRequireDefault(require("winston")); var _progress = _interopRequireDefault(require("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.countDocuments(query); if (totalTrans === 0) { _winston.default.info('No transactions to aggregate to metrics, skipping.'); return; } const transactionProgress = new _progress.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(); _winston.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