in cloudwatch.js [33:54]
exports.putMetricDataValuesAndCounts = function(event, context) {
let valuesAndCounts = event.Records.reduce(function(result, record) {
let value = parseFloat(new Buffer(record.kinesis.data, 'base64').toString('ascii'));
if (!result.has(value)) result.set(value, 1)
else result.set(value, result.get(value) + 1)
return result;
}, new Map);
const metric = generateMetricDataDefinition({
Dimensions: [
{ Name: 'Type', Value: 'PutMetricDataValuesAndCounts' }
],
Values: [...valuesAndCounts.keys()],
Counts: [...valuesAndCounts.values()]
})
putMetricData(metric)
putMetricData(generateCallCountingMetric('PutMetricDataValuesAndCountsCalls'))
console.log(require('util').inspect(metric, false, null, false));
};