fix: reduce ClickHouse CPU by increasing flush interval, rename LIVE→AUTO labels
- Increase ingestion flush interval from 500ms to 5000ms to reduce MV merge storms - Reduce ClickHouse background_schedule_pool_size from 8 to 4 - Rename LIVE/PAUSED badge labels to AUTO/MANUAL across all pages - Update design system to v0.1.29 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -35,7 +35,7 @@ agent-registry:
|
||||
ingestion:
|
||||
buffer-capacity: 50000
|
||||
batch-size: 5000
|
||||
flush-interval-ms: 500
|
||||
flush-interval-ms: 5000
|
||||
|
||||
cameleer:
|
||||
body-size-limit: ${CAMELEER_BODY_SIZE_LIMIT:16384}
|
||||
|
||||
@@ -153,7 +153,7 @@ data:
|
||||
<background_move_pool_size>1</background_move_pool_size>
|
||||
<background_fetches_pool_size>1</background_fetches_pool_size>
|
||||
<background_common_pool_size>2</background_common_pool_size>
|
||||
<background_schedule_pool_size>8</background_schedule_pool_size>
|
||||
<background_schedule_pool_size>4</background_schedule_pool_size>
|
||||
<background_message_broker_schedule_pool_size>1</background_message_broker_schedule_pool_size>
|
||||
<background_distributed_schedule_pool_size>1</background_distributed_schedule_pool_size>
|
||||
<tables_loader_foreground_pool_size>0</tables_loader_foreground_pool_size>
|
||||
|
||||
8
ui/package-lock.json
generated
8
ui/package-lock.json
generated
@@ -8,7 +8,7 @@
|
||||
"name": "ui",
|
||||
"version": "0.0.0",
|
||||
"dependencies": {
|
||||
"@cameleer/design-system": "^0.1.28",
|
||||
"@cameleer/design-system": "^0.1.29",
|
||||
"@tanstack/react-query": "^5.90.21",
|
||||
"lucide-react": "^1.7.0",
|
||||
"openapi-fetch": "^0.17.0",
|
||||
@@ -278,9 +278,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@cameleer/design-system": {
|
||||
"version": "0.1.28",
|
||||
"resolved": "https://gitea.siegeln.net/api/packages/cameleer/npm/%40cameleer%2Fdesign-system/-/0.1.28/design-system-0.1.28.tgz",
|
||||
"integrity": "sha512-pDzuiIW2zpkYeX9mR1ENxO2Xk+GTMNUQzxsC7C+p0veEnOC1XObHse9Q06GKJQ9+mff0eFCk9cuYCwW3kwB0rA==",
|
||||
"version": "0.1.29",
|
||||
"resolved": "https://gitea.siegeln.net/api/packages/cameleer/npm/%40cameleer%2Fdesign-system/-/0.1.29/design-system-0.1.29.tgz",
|
||||
"integrity": "sha512-Za4drshZhGqonR0QyZxDpo6UnhT+VaOCSRLIlmjRrVZD/8+E+wvjbCVO2/sX5EMCfho+x6Y6V7d4GHNwu38ioQ==",
|
||||
"dependencies": {
|
||||
"lucide-react": "^1.7.0",
|
||||
"react": "^19.0.0",
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
"generate-api:live": "curl -s http://localhost:8081/api/v1/api-docs -o src/api/openapi.json && openapi-typescript src/api/openapi.json -o src/api/schema.d.ts"
|
||||
},
|
||||
"dependencies": {
|
||||
"@cameleer/design-system": "^0.1.28",
|
||||
"@cameleer/design-system": "^0.1.29",
|
||||
"@tanstack/react-query": "^5.90.21",
|
||||
"lucide-react": "^1.7.0",
|
||||
"openapi-fetch": "^0.17.0",
|
||||
|
||||
@@ -10,9 +10,9 @@ export function useRefreshInterval(intervalMs: number): number | false {
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns `enabled` and `refetchInterval` tied to the LIVE/PAUSED toggle.
|
||||
* - LIVE: enabled=true, refetchInterval=intervalMs (fetch + poll)
|
||||
* - PAUSED: enabled=true, refetchInterval=false (fetch once, no polling)
|
||||
* Returns `enabled` and `refetchInterval` tied to the AUTO/MANUAL toggle.
|
||||
* - AUTO: enabled=true, refetchInterval=intervalMs (fetch + poll)
|
||||
* - MANUAL: enabled=true, refetchInterval=false (fetch once, no polling)
|
||||
*/
|
||||
export function useLiveQuery(intervalMs: number) {
|
||||
const { autoRefresh } = useGlobalFilters();
|
||||
|
||||
@@ -124,7 +124,7 @@ export default function AuditLogPage() {
|
||||
<span className={styles.tableMeta}>
|
||||
{totalCount} events
|
||||
</span>
|
||||
<Badge label="LIVE" color="success" />
|
||||
<Badge label="AUTO" color="success" />
|
||||
</div>
|
||||
</div>
|
||||
<DataTable
|
||||
|
||||
@@ -265,7 +265,7 @@ export default function Dashboard({ onExchangeSelect, activeExchangeId }: Dashbo
|
||||
<span className={styles.tableMeta}>
|
||||
{rows.length.toLocaleString()} of {(searchResult?.total ?? 0).toLocaleString()} exchanges
|
||||
</span>
|
||||
{!textFilter && <Badge label="LIVE" color="success" />}
|
||||
{!textFilter && <Badge label="AUTO" color="success" />}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -378,7 +378,7 @@ export default function DashboardL2() {
|
||||
<span className={styles.tableTitle}>Route Performance</span>
|
||||
<div className={styles.tableRight}>
|
||||
<span className={styles.tableMeta}>{routeRows.length} routes</span>
|
||||
<Badge label="LIVE" color="success" />
|
||||
<Badge label="AUTO" color="success" />
|
||||
</div>
|
||||
</div>
|
||||
<DataTable
|
||||
|
||||
@@ -718,7 +718,7 @@ export default function RouteDetail() {
|
||||
<span className={styles.tableTitle}>Processor Performance</span>
|
||||
<div className={styles.tableRight}>
|
||||
<span className={styles.tableMeta}>{processorRows.length} processors</span>
|
||||
<Badge label="LIVE" color="success" />
|
||||
<Badge label="AUTO" color="success" />
|
||||
</div>
|
||||
</div>
|
||||
<DataTable
|
||||
|
||||
@@ -295,7 +295,7 @@ export default function RoutesMetrics() {
|
||||
<span className={styles.tableTitle}>Per-Route Performance</span>
|
||||
<div className={styles.tableRight}>
|
||||
<span className={styles.tableMeta}>{rows.length} routes</span>
|
||||
<Badge label="LIVE" color="success" />
|
||||
<Badge label="AUTO" color="success" />
|
||||
</div>
|
||||
</div>
|
||||
<DataTable
|
||||
|
||||
Reference in New Issue
Block a user