Add routeId and agentId filters to SearchRequest #36

Closed
opened 2026-03-13 13:41:00 +01:00 by claude · 0 comments
Owner

Problem

SearchRequest currently supports status, time range, duration range, correlationId, and text-based search fields, but has no dedicated routeId or agentId filter parameters.

The UI mockups show Application and Route dropdown filters in the Transaction Explorer. Without dedicated fields, the UI must use the text field as a workaround, which is imprecise (substring match vs exact match) and slower (skip index vs indexed column).

Proposed Change

Add two optional fields to SearchRequest:

  • routeId: String — exact match on route_id column (LowCardinality, fast)
  • agentId: String — exact match on agent_id column (LowCardinality, fast)

Update ClickHouseSearchEngine to add WHERE clauses for these fields.

Context

Identified during UI planning. The route_id and agent_id columns are already LowCardinality in the ClickHouse schema, so filtering is efficient. This is a prerequisite for the full Transaction Explorer filter set.

References

  • SearchRequest.java in cameleer3-server-core
  • ClickHouseSearchEngine in cameleer3-server-app
  • examples/transaction-explorer.html — filter bar mockup
## Problem `SearchRequest` currently supports `status`, time range, duration range, `correlationId`, and text-based search fields, but has no dedicated `routeId` or `agentId` filter parameters. The UI mockups show Application and Route dropdown filters in the Transaction Explorer. Without dedicated fields, the UI must use the `text` field as a workaround, which is imprecise (substring match vs exact match) and slower (skip index vs indexed column). ## Proposed Change Add two optional fields to `SearchRequest`: - `routeId: String` — exact match on `route_id` column (LowCardinality, fast) - `agentId: String` — exact match on `agent_id` column (LowCardinality, fast) Update `ClickHouseSearchEngine` to add WHERE clauses for these fields. ## Context Identified during UI planning. The `route_id` and `agent_id` columns are already LowCardinality in the ClickHouse schema, so filtering is efficient. This is a prerequisite for the full Transaction Explorer filter set. ## References - `SearchRequest.java` in cameleer3-server-core - `ClickHouseSearchEngine` in cameleer3-server-app - `examples/transaction-explorer.html` — filter bar mockup
Sign in to join this conversation.