in sample-apps/error-processor/processor/index.js [39:82]
var getTrace = function(context){
var startTime = new Date
var endTime = new Date
startTime.setHours(endTime.getHours() - 1)
var xrayparams = {
EndTime: endTime,
StartTime: startTime,
FilterExpression: 'annotation.request_id="' + context.requestid + '"',
NextToken: context.NextToken
}
console.log(xrayparams)
xray.getTraceSummaries(xrayparams, function(err, data) {
if (err) console.log(err, err.stack)
else if (data.TraceSummaries[0] == null && data.NextToken != null) {
context.NextToken = data.NextToken
getTrace(context)
} else if (data.TraceSummaries[0] == null) {
console.log("Trace not found.")
}
else {
console.log(data)
var traceid = data.TraceSummaries[0].Id
console.log(traceid)
var params = {
TraceIds: [ traceid ]
}
xray.batchGetTraces(params, function(err, data) {
if (err) console.log(err, err.stack)
else {
console.log(data)
var s3params = {
Body: JSON.stringify(data, null, 2),
Bucket: bucket,
Key: "errors/" + context.requestid + "/request-trace.json"
}
s3.putObject(s3params, function(err, data) {
if (err) console.log(err, err.stack)
else console.log(data)
})
}
})
}
})
}