quickshell: poll k8s metrics only while the popout is open
The metrics poller spawned the heavy k8s-metrics script every 15s all day even though its data only renders in the popout. Gate it on the popout being open (triggeredOnStart fetches immediately on open) and slow the pill's status poll from 30s to 120s.
This commit is contained in:
@@ -56,7 +56,7 @@ Singleton {
|
||||
// Kubernetes
|
||||
readonly property bool kubeEnabled: true
|
||||
readonly property string kubeNamespace: "tenant-5"
|
||||
readonly property int kubeStatusRefreshMs: 30000
|
||||
readonly property int kubeStatusRefreshMs: 120000
|
||||
readonly property int kubeMetricsRefreshMs: 15000
|
||||
|
||||
// Idle daemon
|
||||
|
||||
@@ -86,19 +86,13 @@ Singleton {
|
||||
onTriggered: statusProc.running = true
|
||||
}
|
||||
|
||||
// Metrics poller
|
||||
// Metrics poller — only while the popout is open (metrics are popout-only).
|
||||
// triggeredOnStart fetches immediately when the popout opens.
|
||||
Timer {
|
||||
interval: Config.kubeMetricsRefreshMs
|
||||
running: Config.kubeEnabled
|
||||
running: Config.kubeEnabled && PopoutState.active === "kubernetes"
|
||||
repeat: true
|
||||
onTriggered: metricsProc.running = true
|
||||
}
|
||||
|
||||
// Stagger: fire metricsProc once at startup (500ms after status)
|
||||
Timer {
|
||||
id: metricsStagger
|
||||
interval: 500
|
||||
repeat: false
|
||||
triggeredOnStart: true
|
||||
onTriggered: metricsProc.running = true
|
||||
}
|
||||
|
||||
@@ -114,9 +108,7 @@ Singleton {
|
||||
}
|
||||
|
||||
Component.onCompleted: {
|
||||
if (Config.kubeEnabled) {
|
||||
if (Config.kubeEnabled)
|
||||
statusProc.running = true;
|
||||
metricsStagger.running = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user