Files
windmill/frontend/src/lib/components/DurationMs.svelte
T
203264b871 feat: warn when jobs spent a long time waiting in queue (#3856)
* Store jobs that waited for too long

* Add warnings as badges for long waited jobs

* Separate into self_wait_time and aggregate

Change the UI accordingly

* Prepare sqlx

* Update backend/windmill-queue/src/jobs.rs

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* Fix incorrect query

* Prepare sqlx

* Move insert to pull + UI fixes

Insert as soon as the job is pulled and therefore started.
Add a badge on the lfow timeline to show the self wait time

* Move to after the pull in the worker

Move the logic to after the pull in the worker in the case its not a
noop

* Remove weird line

* Remove unnecessary async

---------

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
2024-06-03 16:05:15 +02:00

20 lines
646 B
Svelte

<script lang="ts">
import { msToSec } from '$lib/utils'
import { Badge } from './common'
import { Hourglass } from 'lucide-svelte'
import WaitTimeWarning from './common/waitTimeWarning/WaitTimeWarning.svelte'
export let duration_ms: number
export let self_wait_time_ms: number | undefined = undefined
export let aggregate_wait_time_ms: number | undefined = undefined
</script>
<div>
<Badge large icon={{ icon: Hourglass, position: 'left' }}>
Ran in {msToSec(duration_ms)}s
{#if self_wait_time_ms || aggregate_wait_time_ms}
<WaitTimeWarning {self_wait_time_ms} {aggregate_wait_time_ms} variant="alert" />
{/if}
</Badge>
</div>