Implemented in Phase 2. GET /api/v1/executions/{executionId} returns full execution detail with nested processor tree. Uses FlatProcessor record with depth/parentIndex for DFS tree reconstructi…
Implemented in Phase 2. POST search with text, textInBody, textInHeaders, textInErrors fields. ClickHouse tokenbf_v1 skip indexes on concatenated text columns for performant full-text…
Implemented in Phase 2. GET search with correlationId query parameter enables cross-instance correlation lookups. Key files: SearchController.java, ClickHouseSearchRepository.java.
Implemented in Phase 2. POST search with durationMin and durationMax parameters filters by execution duration. Duration computed from startTime/endTime in ClickHouse. Key files: `SearchControll…
Implemented in Phase 2. Search supports timeFrom and timeTo query parameters for date/time range filtering. Uses DateTime64 columns in ClickHouse for sub-second precision. Key files:…
Implemented in Phase 2. GET /api/v1/search/executions?status=COMPLETED filters by ExecutionStatus enum. Built in SearchController with ClickHouseSearchRepository generating parameterized…
Implemented in Phase 1. ClickHouse schema in clickhouse/init/01-schema.sql includes TTL expressions on all data tables. TTL is configurable via ingestion.data-ttl-days property (default 30…
Implemented in Phase 1. WriteBuffer returns false when capacity (50,000) is exceeded. IngestionController returns 503 Service Unavailable when the buffer is full, providing backpressure to…
Implemented in Phase 1. WriteBuffer accumulates records in-memory and ClickHouseFlushScheduler flushes to ClickHouse on a configurable interval (default 1000ms) or when batch size (default…
Implemented in Phase 1. IngestionController handles POST /api/v1/data/metrics, accepting arrays of MetricsSnapshot. Stored via MetricsRepository with batch-buffered writes. Key files:…
Implemented in Phase 1. IngestionController handles POST /api/v1/data/diagrams. Content-addressable storage using SHA-256 hash of serialized RouteGraph for deduplication. Key files: `IngestionC…
Implemented in Phase 1. IngestionController accepts single or array JSON at POST /api/v1/data/executions, returns 202 with count. Writes are batch-buffered via WriteBuffer and flushed to…