Note: If you are using beelines to send in tracing data, the field names are slightly different than what's discussed in this article. See translation table below:
There are a number of reasons why spans in a trace may appear out of order or have strange time offsets.
Make sure you're providing the start time of the span
When sending trace events into Honeycomb, you must include a "timestamp" field in the event that represents the start time of the span.
If you do not do this, Honeycomb will set the timestamp for the event to when that event was received by our collectors. This could cause the spans in a trace to appear out of order or have strange time offsets.
Verify that the parentId, traceId and id are set properly
The root span for any given trace must have no field for "parentId" in its event. If all of the spans in a trace have a "parentId", Honeycomb will not show a root span for that trace.
Honeycomb identifies which span is the root span by its absence of the column "parentId". If all of your span events have a "parentId" column, then Honeycomb assumes the root span is missing.
Thus, first, ensure that your root spans have no "parentId" field and validate that your child spans have their "parentId" and "id" set properly as well.
Verify that duration is set properly
You must include the duration of the span, in milliseconds (in the field durationMs). Verify that this is being set properly.
For additional troubleshooting tips, see these articles:
The Honeycomb tracing documentation can be found here.