repositories
/
poolifier.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'elu-strategy' of github.com:poolifier/poolifier into elu-strategy
[poolifier.git]
/
src
/
pools
/
worker.ts
diff --git
a/src/pools/worker.ts
b/src/pools/worker.ts
index 35d2c0abaa331ecad6e9a0404deaa90c00ef7d4c..ba9393ab9ba8241e5f1a1184165d42055b859835 100644
(file)
--- 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'
import type { CircularArray } from '../circular-array'
import type { Queue } from '../queue'
@@
-46,9
+47,9
@@
export interface Task<Data = unknown> {
*/
readonly data?: Data
/**
*/
readonly data?: Data
/**
- *
Submission t
imestamp.
+ *
T
imestamp.
*/
*/
- readonly
submissionT
imestamp?: number
+ readonly
t
imestamp?: number
/**
* Message UUID.
*/
/**
* Message UUID.
*/
@@
-56,55
+57,75
@@
export interface Task<Data = unknown> {
}
/**
}
/**
- *
Worker tasks usage
statistics.
+ *
Measurement
statistics.
*
* @internal
*/
*
* @internal
*/
-export interface
TasksUsage
{
+export interface
MeasurementStatistics
{
/**
/**
- * Number of tasks executed.
+ * Measurement aggregation.
+ */
+ aggregation: number
+ /**
+ * Measurement average.
*/
*/
-
run
: number
+
average
: number
/**
/**
- *
Number of tasks running
.
+ *
Measurement median
.
*/
*/
-
running
: number
+
median
: number
/**
/**
- *
Tasks runtime
.
+ *
Measurement history
.
*/
*/
- runTime: number
+ history: CircularArray<number>
+}
+
+/**
+ * Task statistics.
+ *
+ * @internal
+ */
+export interface TaskStatistics {
/**
/**
- *
Tasks runtime history
.
+ *
Number of tasks executed
.
*/
*/
- runTimeHistory: CircularArray<number>
+ executed: number
/**
/**
- *
Average tasks runtime
.
+ *
Number of tasks executing
.
*/
*/
-
avgRunTime
: number
+
executing
: number
/**
/**
- *
Median tasks runtime
.
+ *
Number of tasks queued
.
*/
*/
-
medRunTime
: number
+
queued
: number
/**
/**
- *
Tasks wait time
.
+ *
Number of tasks failed
.
*/
*/
- waitTime: number
+ failed: number
+}
+
+/**
+ * Worker usage statistics.
+ *
+ * @internal
+ */
+export interface WorkerUsage {
/**
/**
- * Tasks
wait time history
.
+ * Tasks
statistics
.
*/
*/
- waitTimeHistory: CircularArray<number>
+ tasks: TaskStatistics
/**
/**
- *
Average tasks wait time
.
+ *
Tasks runtime statistics
.
*/
*/
- avgWaitTime: number
+ runTime: MeasurementStatistics
/**
/**
- *
Median tasks wait time
.
+ *
Tasks wait time statistics
.
*/
*/
- medWaitTime: number
+ waitTime: MeasurementStatistics
/**
/**
- *
Number of tasks errored
.
+ *
Event loop utilization
.
*/
*/
- e
rror: number
+ e
lu: EventLoopUtilization | undefined
}
/**
}
/**
@@
-143,9
+164,9
@@
export interface WorkerNode<Worker extends IWorker, Data = unknown> {
*/
readonly worker: Worker
/**
*/
readonly worker: Worker
/**
- * Worker node
tasks
usage statistics.
+ * Worker node
worker
usage statistics.
*/
*/
-
tasksUsage: Tasks
Usage
+
workerUsage: Worker
Usage
/**
* Worker node tasks queue.
*/
/**
* Worker node tasks queue.
*/