Applies to:
- Plan - Starter, Pro, Enterprise
- Deployment - Braintrust-hosted, Self-hosted
- Use case - Online scorers with time-based SQL filters in production environments
Summary
Issue: Online scorers configured with time-based filters likecreated > now() - 1 day fail to score production traces, showing missing scores in the UI.
Cause: Time-based filters in online scorer queries can interfere with trace discovery due to timing mismatches between trace creation and scorer evaluation.
Resolution: Remove time-based filters from online scorer SQL queries, as scorers automatically apply to new traces without needing time conditions.
Resolution Steps
Remove Time-Based Filters
Step 1: Edit scorer rule
Navigate to the Online Scoring modal and remove anycreated > now() - X conditions from your SQL filter.
Step 2: Set sampling to 100%
Temporarily increase sampling rate to 100% to verify the scorer works on all matching traces. The sampling rate determines what percentage of incoming traces or spans that match the rule’s filter are selected for scoring. For example, a 50% sampling rate selects approximately half of the matching traces, while 100% selects all matching traces or spans.Step 3: Test the automation
Click Test automation to confirm your SQL filter matches recent spans.Step 4: Verify scoring
Create new traces and confirm scores appear. Some lag (seconds to minutes) is normal.If No Results Appear After Testing
Step 1: Simplify filter
Temporarily removespan_attributes.name IN (...) to check if any spans match.
Step 2: Verify scorer output
Run the scorer against a recent trace in the scorer page to confirm it returns a numeric value. Check that your filter selects spans containing the content the scorer needs. If an execution returnsscore: null, inspect its input and any skip reason. Increasing sampling does not fix missing input data.