Skip to content

Facets: sidebar with value distribution for quick filtering in Explorer #108

@HumanUser

Description

@HumanUser

Why

When exploring logs, users often need to understand the distribution of values across columns (e.g., which services produce the most logs, which severity levels dominate) before writing precise queries. Currently, users must manually write FlyQL group-by queries or guess-and-check with filters to discover frequent values - this slows down exploratory workflows and raises the barrier for less experienced users.

A quick, visual overview of what's in the data - without leaving the Explorer - would significantly speed up root-cause analysis and ad-hoc investigation.

What

Add a Facets sidebar to the Explorer that displays the top 10 most frequent values (with counts) for configured columns, enabling one-click filtering.

Backend

  • Add a facet boolean flag to each column in source configuration, controlling whether the column appears in the facets sidebar.
  • SQL-based sources (ClickHouse, StarRocks): compute facets server-side via grouped UNION ALL queries for efficiency - no need to load full datasets into memory.
  • API-based sources (Docker, Kubernetes): compute facets in-memory from the returned rows within the existing combined data+graph request.
  • New dedicated endpoint POST /ui/v1/sources/<slug>/facets for SQL sources (fetched in parallel with data and graph).
  • Migration to populate the facet flag for existing sources: enabled by default for most column types, disabled for date/time, JSON, map, and array types.

Frontend

  • Resizable sidebar (left of the results table) with per-source size persistence via localStorage.
  • Searchable column list - filter facet columns by name.
  • Each column shows its top 10 values sorted by frequency, with a "+N other" indicator when more distinct values exist.
  • One-click = and != buttons on hover to append FlyQL filter expressions to the current query.
  • Severity columns display colored indicators matching the configured severity color scheme.
  • Empty/null values displayed as em dashes for clarity.
  • Toggle button to show/hide the sidebar.
  • "Allow in Facets" toggle in the source configuration wizard for per-column control.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request
    No fields configured for Feature.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions