Displays / Charts
MonitoringChart
Realtime monitoring line chart with synthetic polling.
Real-time monitoring
Cluster Health
Statusidle
Last updateWaiting
Samples0
CPU--
Memory--
Latency--
Time range
Poll interval
Series
Waiting for first monitoring sample
Visible series
Current Snapshot
null
Polling State
{
"status": "idle",
"pollIntervalMs": 2000,
"maxPoints": 180,
"snapshotEndpoint": "/api/monitoring/snapshot",
"sampleCount": 0,
"pollCount": 0,
"lastUpdatedAt": null,
"error": null,
"display": {
"timeRangeMs": 60000,
"pollIntervalMs": 2000,
"customTimeRange": null,
"visibleMetrics": [
"cpu",
"memory",
"latency"
]
}
}Series Buffer
[]
Chart Configuration
{
"component": {
"title": "Cluster Health",
"renderer": "recharts",
"maxPoints": 180,
"retainedSamples": 0,
"displayedSamples": 0
},
"controls": {
"timeRange": 60000,
"pollIntervalMs": 2000,
"customTimeRange": null,
"visibleMetrics": [
"cpu",
"memory",
"latency"
]
},
"options": {
"timeRanges": [
{
"label": "30s",
"value": 30000
},
{
"label": "1m",
"value": 60000
},
{
"label": "2m",
"value": 120000
},
{
"label": "Custom",
"value": "custom"
},
{
"label": "All",
"value": null
}
],
"pollIntervals": [
{
"label": "1s",
"value": 1000
},
{
"label": "2s",
"value": 2000
},
{
"label": "5s",
"value": 5000
},
{
"label": "10s",
"value": 10000
},
{
"label": "Never",
"value": null
}
],
"metrics": [
{
"key": "cpu",
"label": "CPU",
"color": "var(--ts-chart-cpu)",
"threshold": {
"value": 80,
"direction": "above",
"label": ">= 80.0%"
}
},
{
"key": "memory",
"label": "Memory",
"color": "var(--ts-chart-memory)",
"threshold": {
"value": 85,
"direction": "above",
"label": ">= 85.0%"
}
},
{
"key": "latency",
"label": "Latency",
"color": "var(--ts-chart-latency)",
"threshold": {
"value": 200,
"direction": "above",
"label": ">= 200 ms"
}
}
]
},
"thresholds": {
"cpu": {
"breached": false,
"latestValue": null,
"threshold": {
"value": 80,
"direction": "above"
}
},
"memory": {
"breached": false,
"latestValue": null,
"threshold": {
"value": 85,
"direction": "above"
}
},
"latency": {
"breached": false,
"latestValue": null,
"threshold": {
"value": 200,
"direction": "above"
}
}
}
}