Skip to main content
Applies to:
  • Plan -
  • Deployment -

Summary

Issue: In the Logs view for the Traces row type, the basic “Created between” filter can return traces whose “Created” column shows an older date (for example, matches from July under an August filter). Cause: In the Traces view, “Created between” matches if any span in the trace falls in range, which could include human reviews, scorer, or later chat spans, while the “Created” column shows the root span only. Resolution: To exclude any new spans and only filter by the root’s created date, use a custom SQL query with is_root AND created …, or switch to the Spans row type to see which spans match the filter condition.

What is happening

In the Traces row type, a “Created between” chip is equivalent to any_span(created >= '…' AND created <= '…'). Braintrust automatically wraps Basic and SQL filters in any_span(...) unless they target metrics.* or scores.*. The trace list shows one row per trace and the “Created” column is always the root span’s created timestamp, rather than the timestamp of the individual child span that matched the filter. Common child spans that can match a later date range:
  • Review spans (span_attributes.type = 'review', often with purpose = 'scorer').
  • Later chat turns or tool spans added after the root was created.
  • Scorer or automation spans written back into an existing trace.
Example: A trace with a root span created August 1st with a review span created Aug 15th would match an Aug 10–16th filter in the Traces row type. The row still shows a created date of August 1st in the list view, since that reflects the root value.

Fix

In the SQL filter tab on Logs, filter by the root span’s created date with is_root AND created >= '2026-08-01T00:00:00Z' AND created < '2026-08-07T00:00:00Z'. Use UTC (Z) or date-only bounds. This may be auto-wrapped as any_span(is_root AND created …). This still works because only the root has is_root = true. To investigate a date discrepancy:
  • Open the trace and expand user reviews or other child groups.
  • Switch to the Spans row type and filter with root_span_id = '…', then check each span’s created.
Review spans often have null metrics.start and metrics.end values. Use the created field rather than metrics.start when inspecting these spans.