Skip to content

Trace latency: fix planner caps and entity filters #291

Description

@thorrester

Parent: #281

Goal

Fix planner limits and entity filters so DataFusion reads only the data required by the request.

Query planning bugs can erase the benefit of better file layout and metadata warmup. This step tightens predicate construction and request caps before deeper optimizer work.

Scope

  • Audit planner-generated filters for trace, summary, metrics, and GenAI queries.
  • Fix entity filters that are missing, too broad, or applied too late.
  • Ensure time predicates are always present where the API contract requires them.
  • Fix planner caps that allow unexpectedly broad reads.
  • Add tests for service, namespace, version, status, duration, and time-window filtering.

High-level design

Delta file stats, partition pruning, bloom filters, and DataFusion predicate pushdown only help if the query contains the right predicates in the first place. This issue should focus on request-to-plan correctness before adding lower-level custom providers or optimizer rules.

Acceptance criteria

  • Planner tests cover expected predicates for common trace and dashboard query shapes.
  • Queries with entity filters produce bounded DataFusion plans.
  • Queries missing required time bounds are rejected or capped according to API rules.
  • Benchmarks show object-store request counts for representative filtered and unfiltered queries.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions