X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fpools%2Fworker.ts;h=841a2bcb1513ba3dc017d4b599ef61e3329611ab;hb=4f487526a63c873d168386250b40ad8103c5a4d8;hp=716376faf54ac6925cf4d4ff2ea4804e1d2cb38e;hpb=29ee7e9a3f325f87d889ef09ffc1eea4916a782f;p=poolifier.git diff --git a/src/pools/worker.ts b/src/pools/worker.ts index 716376fa..841a2bcb 100644 --- a/src/pools/worker.ts +++ b/src/pools/worker.ts @@ -1,3 +1,4 @@ +import type { EventLoopUtilization } from 'node:perf_hooks' import type { CircularArray } from '../circular-array' import type { Queue } from '../queue' @@ -37,12 +38,20 @@ export type ExitHandler = ( * @internal */ export interface Task { + /** + * Task name. + */ + readonly name?: string /** * Task input data that will be passed to the worker. */ readonly data?: Data /** - * UUID of the message. + * Timestamp. + */ + readonly timestamp?: number + /** + * Message UUID. */ readonly id?: string } @@ -56,7 +65,7 @@ export interface TasksUsage { /** * Number of tasks executed. */ - run: number + ran: number /** * Number of tasks running. */ @@ -77,10 +86,30 @@ export interface TasksUsage { * Median tasks runtime. */ medRunTime: number + /** + * Tasks wait time. + */ + waitTime: number + /** + * Tasks wait time history. + */ + waitTimeHistory: CircularArray + /** + * Average tasks wait time. + */ + avgWaitTime: number + /** + * Median tasks wait time. + */ + medWaitTime: number /** * Number of tasks errored. */ error: number + /** + * Event loop utilization. + */ + elu: EventLoopUtilization | undefined } /**