in util/awsservice/xray.go [68:92]
func GetBatchTraces(traceIDs []string) ([]types.Trace, error) {
var traces []types.Trace
length := len(traceIDs)
for i := 0; i < length; i += batchGetTraceSizes {
j := i + batchGetTraceSizes
if j > length {
j = length
}
input := &xray.BatchGetTracesInput{TraceIds: traceIDs[i:j]}
for {
output, err := XrayClient.BatchGetTraces(context.Background(), input)
if err != nil {
return nil, err
}
for _, trace := range output.Traces {
traces = append(traces, trace)
}
if output.NextToken == nil {
break
}
input.NextToken = output.NextToken
}
}
return traces, nil
}