sls-dev-tools
Version:
The Dev Tools for the Serverless World
44 lines (34 loc) • 2.03 kB
JavaScript
;
var _durationBarChart = require("../components/durationBarChart");
var _errorDonutChart = require("../components/errorDonutChart");
var _box = require("../components/box");
var _modalLayout = require("../components/modalLayout");
var _lambdaMetrics = require("../services/lambdaMetrics");
var _invocationCountLCD = require("../components/invocationCountLCD");
var _lambdaDeploymentsTable = require("../components/lambdaDeploymentsTable");
var _lambdaLayersTable = require("../components/lambdaLayersTable");
const lambdaStatisticsModal = async (screen, application, lambdaName, cloudwatchLogs, cloudwatch, lambda, lambdaFuncInfo) => {
const lambdaStatisticsLayout = new _modalLayout.ModalLayout(screen, 112, 50, false);
new _box.Box(lambdaStatisticsLayout, 110, 3, `Lambda Statistics - ${lambdaName}`);
const durationChart = new _durationBarChart.DurationBarChart(application, cloudwatchLogs, false, lambdaStatisticsLayout, 55, 15);
const errorChart = new _errorDonutChart.ErrorDonutChart(application, lambdaStatisticsLayout, cloudwatch, 55, 15);
const invocationCount = new _invocationCountLCD.InvocationCountLCD(lambdaStatisticsLayout, 55, 15);
const lambdaDeploymentsTable = new _lambdaDeploymentsTable.LambdaDeploymentsTable(lambdaStatisticsLayout, lambda, 55, 15);
const lambdaLayersTable = new _lambdaLayersTable.LambdaLayersTable(lambdaStatisticsLayout, 55, 11);
new _box.Box(lambdaStatisticsLayout, 110, 4, "ESC to close");
const metrics = await (0, _lambdaMetrics.getLambdaMetrics)(application, lambdaName, cloudwatch);
invocationCount.updateData(metrics);
errorChart.updateData(metrics);
durationChart.updateData(lambdaName);
lambdaDeploymentsTable.updateData(lambdaName);
lambdaLayersTable.updateData(lambdaFuncInfo);
lambdaStatisticsLayout.focus();
lambdaStatisticsLayout.key(["escape"], () => {
application.setIsModalOpen(false);
application.returnFocus();
lambdaStatisticsLayout.destroy();
});
};
module.exports = {
lambdaStatisticsModal
};