var getTrace = function()

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)
              })
        }
      })
    }
  })
}