Files
windmill/frontend/src/lib/components/QueueMetricsDrawer.svelte
T
Ruben FiszelandClaude Opus 5 569adb85c1 feat: live queue status per tag and bounded queue metric charts (#11067)
* feat: live per-tag queue status and bounded charts in the queues drawer

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011fYMqh7R8FnePmbYzirJXZ

* fix: drop stale chart failures and test the queue metrics series query

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011fYMqh7R8FnePmbYzirJXZ

* fix: name the queue status refresh, skip overlapping polls, soften the no-worker warning

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011fYMqh7R8FnePmbYzirJXZ

* feat: draw a stuck tag's queue delay exactly as it climbs (#11071)

* feat: store a stuck tag's queue delay as its head's wait start

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011fYMqh7R8FnePmbYzirJXZ

* fix: keep a climb's top inside a slot and stamp held delays exactly

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011fYMqh7R8FnePmbYzirJXZ

* fix: redraw a climb as soon as its head leaves, and document the lookup slack

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011fYMqh7R8FnePmbYzirJXZ

---------

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-10 18:40:54 +00:00

39 lines
965 B
Svelte

<script lang="ts">
import { Drawer, DrawerContent } from './common'
import QueueMetricsDrawerInner from './QueueMetricsDrawerInner.svelte'
import QueueStatusTable from './QueueStatusTable.svelte'
import QueueAlerts from './QueueAlerts.svelte'
import WorkspaceFairnessEvents from './WorkspaceFairnessEvents.svelte'
import { enterpriseLicense } from '$lib/stores'
let drawer: Drawer | undefined = $state()
export function openDrawer() {
drawer?.openDrawer()
}
</script>
<Drawer bind:this={drawer} size="1000px">
<DrawerContent
title="Queues"
on:close={drawer.closeDrawer}
documentationLink="https://www.windmill.dev/docs/core_concepts/worker_groups#queue-metrics"
>
<QueueStatusTable />
<div class="py-8"></div>
<QueueMetricsDrawerInner />
<div class="py-8"></div>
<QueueAlerts />
{#if $enterpriseLicense}
<div class="py-8"></div>
<WorkspaceFairnessEvents />
{/if}
<div class="py-8"></div>
</DrawerContent>
</Drawer>