lambda-cloud-watch-log-parser
Advanced tools
Comparing version 0.0.4 to 0.0.5
@@ -62,67 +62,81 @@ "use strict" | ||
cw.getLogEvents(params, function(err, data) { | ||
//console.log(data.events); | ||
_this.parseLogData(data, opts.request_id, function(err, log){ | ||
_this.emit('log-data', log); | ||
callback(null, log); | ||
}); | ||
}); | ||
}; | ||
var log = {usage : {}, logs : [], exec_status : {}}, i; | ||
/** | ||
* Takes the log data and parses it. | ||
* | ||
* @async | ||
* @method parseLogData | ||
* @param {Object} data The data to parse | ||
* @param {String} request_id The id of the request that is to be returned. This is optional. | ||
*/ | ||
for (i = 0; i < data.events.length; i++) { | ||
var event = data.events[i].message.trim(); | ||
var timestamp = data.events[i].timestamp | ||
LogParser.prototype.parseLogData = function (data, request_id, callback) { | ||
var cw; | ||
var _this = this; | ||
var log = {usage : {}, logs : [], exec_status : {}}, i; | ||
var line_parts = event.split('\t'); | ||
for (i = 0; i < data.events.length; i++) { | ||
var event = data.events[i].message.trim(); | ||
var timestamp = data.events[i].timestamp | ||
if (line_parts.length === 3) { | ||
if(line_parts[1] === opts.request_id) { | ||
log.logs.push({request_id: line_parts[1], type: 'log', time: timestamp, data: line_parts[2]}); | ||
} | ||
} else if (line_parts.length === 1) { | ||
var item_parts = line_parts[0].split(":"); | ||
var line_parts = event.split('\t'); | ||
// handle the start of the request... | ||
if (item_parts[0] === 'START RequestId') { | ||
if (line_parts.length === 3) { | ||
if(line_parts[1] === request_id) { | ||
log.logs.push({request_id: line_parts[1], type: 'log', time: timestamp, data: line_parts[2]}); | ||
} | ||
} else if (line_parts.length === 1) { | ||
var item_parts = line_parts[0].split(":"); | ||
} else if (item_parts[0] === 'END RequestId') { | ||
// handle the start of the request... | ||
if (item_parts[0] === 'START RequestId') { | ||
log.usage.start_time = timestamp; | ||
} else if (item_parts[0] === 'END RequestId') { | ||
log.usage.end_time = timestamp; | ||
} | ||
} else { | ||
var usage = {time: timestamp}; | ||
} | ||
} else { | ||
var usage = {time: timestamp}; | ||
for (var p = 0; p < line_parts.length; p++) { | ||
var item = line_parts[p]; | ||
for (var p = 0; p < line_parts.length; p++) { | ||
var item = line_parts[p]; | ||
var item_parts = item.split(':'); | ||
var item_parts = item.split(':'); | ||
switch (item_parts[0]) { | ||
case 'REPORT RequestId': | ||
usage.request_id = item_parts[1].trim(); | ||
break; | ||
case 'Billed Duration': | ||
usage.billed_duration = item_parts[1].trim(); | ||
break; | ||
case 'Memory Size': | ||
usage.memory_size = item_parts[1].trim(); | ||
break; | ||
case 'Max Memory Used': | ||
usage.max_memory_size = item_parts[1].trim(); | ||
break; | ||
} | ||
switch (item_parts[0]) { | ||
case 'REPORT RequestId': | ||
usage.request_id = item_parts[1].trim(); | ||
break; | ||
case 'Billed Duration': | ||
usage.billed_duration = item_parts[1].trim(); | ||
break; | ||
case 'Memory Size': | ||
usage.memory_size = item_parts[1].trim(); | ||
break; | ||
case 'Max Memory Used': | ||
usage.max_memory_size = item_parts[1].trim(); | ||
break; | ||
} | ||
if(usage.request_id === opts.request_id){ | ||
log.usage = usage; | ||
} | ||
} | ||
if(usage.request_id === request_id){ | ||
log.usage.request_id = usage.request_id; | ||
log.usage.billed_duration = usage.billed_duration; | ||
log.usage.memory_size = usage.memory_size; | ||
log.usage.max_memory_size = usage.max_memory_size; | ||
} | ||
} | ||
_this.emit('log-data', log); | ||
callback(null, log); | ||
}); | ||
} | ||
callback(null, log); | ||
}; | ||
} | ||
module.exports = LogParser; |
{ | ||
"name": "lambda-cloud-watch-log-parser", | ||
"description": "Parses event data from cloud watch logs.", | ||
"version": "0.0.4", | ||
"version": "0.0.5", | ||
"private": false, | ||
@@ -6,0 +6,0 @@ "dependencies": { |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
26439
113