Troubleshooting missing Trace API data

Problem

You have used the Trace API to report data but either don't see your data in New Relic or you have questions about it.

Solution

Here are some ideas for troubleshooting Trace API-reported data:

  • To verify span data has been reported, run a NRQL query in the query builder for the span just uploaded. You must be in the same New Relic account used to report the trace data (same license key). Example query:
    FROM Span SELECT * WHERE trace.id = '123456'
    
  • If a call generates a HTTP response code, look up the response code meaning.
  • If rate-limiting issues occur, we will generate an NrIntegrationError event. Here's a link to run a NRQL query for those events in New Relic.
    • If you want to correlate your NrIntegrationErrors, you can use the requestId provided by each Trace API request.
  • If your spans have timestamps, be sure they meet the following guidelines:

    • Span timestamps must have occurred within last 20 minutes.
    • newrelic-format timestamps must be in milliseconds. You can get the current time in milliseconds at currentmillis.com.
    • zipkin-format timestamps must be in microseconds.
    • Timestamps should be in UTC.
  • Calls to the endpoint are not idempotent. This means if you send multiple traces with the same trace.id, it will result in fragmented traces in the UI due to ambiguous trace parent-child data.
  • Double check that your payload is valid. For newrelic-format traces, one issue may be that key-value pairs haven't been placed in the attributes block.
  • Confirm that your trace has a root span (a null parent.id on one span). Example query:
    FROM Span SELECT * WHERE trace.id = '123456' AND parent.id IS NULL
    

For more on how Trace API data transmission is validated, see Validation.

For more help

If you need more help, check out these support and learning resources: