fix: improve ClickHouse admin page, fix AgentHealth type error
All checks were successful
CI / cleanup-branch (push) Has been skipped
CI / build (push) Successful in 1m13s
CI / docker (push) Successful in 3m46s
CI / deploy-feature (push) Has been skipped
CI / deploy (push) Successful in 58s

Rewrite ClickHouse admin to show useful storage metrics instead of
often-empty system.events data. Add active queries section.

- Replace performance endpoint: query system.parts for disk size,
  uncompressed size, compression ratio, total rows, part count
- Add /queries endpoint querying system.processes for active queries
- Frontend: storage overview strip, tables with total size, active
  queries DataTable
- Fix AgentHealth.tsx type: agentId → instanceId in inline type cast

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
hsiegeln
2026-04-01 20:18:06 +02:00
parent 188810e54b
commit f82aa26371
7 changed files with 159 additions and 37 deletions

View File

@@ -21,11 +21,21 @@ export interface ClickHouseTableInfo {
}
export interface ClickHousePerformance {
queryCount: number;
insertQueryCount: number;
diskSize: string;
uncompressedSize: string;
compressionRatio: number;
totalRows: number;
partCount: number;
memoryUsage: string;
insertedRows: number;
currentQueries: number;
}
export interface ClickHouseQuery {
queryId: string;
elapsedSeconds: number;
memory: string;
readRows: number;
query: string;
}
export interface IndexerPipeline {
@@ -67,6 +77,15 @@ export function useClickHousePerformance() {
});
}
export function useClickHouseQueries() {
const refetchInterval = useRefreshInterval(5_000);
return useQuery({
queryKey: ['admin', 'clickhouse', 'queries'],
queryFn: () => adminFetch<ClickHouseQuery[]>('/clickhouse/queries'),
refetchInterval,
});
}
export function useIndexerPipeline() {
const refetchInterval = useRefreshInterval(10_000);
return useQuery({