Skip to main content
Applies to:


Summary Span name filtering on the monitoring page fails to exclude child spans when the Trace level metrics feature flag is enabled. This feature flag aggregates metrics at the trace level rather than span level, preventing span-level filters like is_root = true from working correctly. Disable the Trace level metrics feature flag to restore span-level filtering functionality.

Resolution Steps

If you need span-level filtering to work

Step 1: Navigate to Feature Flags

Go to Settings > Feature flags in your Braintrust account.

Step 2: Disable Trace Level Metrics

Find the Trace level metrics feature flag and toggle it to the off position.

Step 3: Verify Filtering Works

Return to the monitoring page and apply your span name filter with is_root = true. The metrics should now filter correctly to show only root-level spans.

If you need trace-level aggregation

Step 1: Understand the Trade-off

When Trace level metrics is enabled, the dashboard aggregates metrics at the trace level (entire request/conversation) rather than the span level (individual LLM calls or tool invocations). This means span-level filtering will not work as expected.

Step 2: Use Alternative Filtering

Instead of filtering by span name, use trace-level filters to segment your data. Consider using SQL filters or tag filters on trace-level attributes.

Understanding Trace-Level vs Span-Level Metrics

Span-Level Metrics (Default)

When Trace level metrics is disabled:
  • Metrics aggregate at the individual span level
  • Each LLM call, tool invocation, or operation is counted separately
  • Filtering by is_root = true shows only top-level spans
  • Useful for analyzing individual operations and their performance

Trace-Level Metrics

When Trace level metrics is enabled:
  • Metrics aggregate at the trace level (entire request/conversation)
  • All spans within a trace are grouped together
  • Span-level filters like is_root do not affect aggregation
  • Useful for analyzing end-to-end request performance