async function publishMetric()

in source/lambda/postMetrics/lib/metrics.js [32:61]


async function publishMetric(metricList) {
    // return if no metrics to be pushed.
    if (metricList.length == 0) return;

    let metricDataList = [];
    for (const metric of metricList) {
        metricDataList.push(
            {
                MetricName: metric.metricName,
                Dimensions: [{
                    Name: CLOUDWATCH_DIMENSIONS_NAME,
                    Value: STACK_NAME
                }],
                Unit: 'None',
                Value: metric.metricValue,
            }
        );
    }

    try {
        const params = {
            MetricData: metricDataList,
            Namespace: CLOUDWATCH_NAMESPACE
        };
        await cloudwatch.putMetricData(params).promise();
    } catch (error) {
        console.error('publishMetric.error', error);
        console.error('publishMetric.params', metricList);
    }
}