repositories
/
poolifier.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'master' into elu-strategy
[poolifier.git]
/
src
/
pools
/
selection-strategies
/
selection-strategies-types.ts
diff --git
a/src/pools/selection-strategies/selection-strategies-types.ts
b/src/pools/selection-strategies/selection-strategies-types.ts
index 5723bd67da6af4b765bcb0e163e48643d48a72e7..0fbb4d4d43165737d3bd3c0c7378b2c55d7e03d2 100644
(file)
--- a/
src/pools/selection-strategies/selection-strategies-types.ts
+++ b/
src/pools/selection-strategies/selection-strategies-types.ts
@@
-14,6
+14,12
@@
export const WorkerChoiceStrategies = Object.freeze({
* Least busy worker selection strategy.
*/
LEAST_BUSY: 'LEAST_BUSY',
* Least busy worker selection strategy.
*/
LEAST_BUSY: 'LEAST_BUSY',
+ /**
+ * Least ELU worker selection strategy.
+ *
+ * @experimental
+ */
+ LEAST_ELU: 'LEAST_ELU',
/**
* Fair share worker selection strategy.
*/
/**
* Fair share worker selection strategy.
*/
@@
-35,22
+41,32
@@
export const WorkerChoiceStrategies = Object.freeze({
*/
export type WorkerChoiceStrategy = keyof typeof WorkerChoiceStrategies
*/
export type WorkerChoiceStrategy = keyof typeof WorkerChoiceStrategies
+/**
+ * Measurement options.
+ */
+interface MeasurementOptions {
+ /**
+ * Set measurement median.
+ */
+ median: boolean
+}
+
/**
* Worker choice strategy options.
*/
export interface WorkerChoiceStrategyOptions {
/**
/**
* Worker choice strategy options.
*/
export interface WorkerChoiceStrategyOptions {
/**
- *
Use tasks median runtime instead of average runtime
.
+ *
Runtime options
.
*
*
- * @defaultValue
false
+ * @defaultValue
\{ median: false \}
*/
*/
- medRunTime?: boolean
+ runTime?: MeasurementOptions
/**
/**
- *
Use tasks median wait time instead of average runtime
.
+ *
Wait time options
.
*
*
- * @defaultValue
false
+ * @defaultValue
\{ median: false \}
*/
*/
- medWaitTime?: boolean
+ waitTime?: MeasurementOptions
/**
* Worker weights to use for weighted round robin worker selection strategy.
* Weight is the tasks maximum average or median runtime in milliseconds.
/**
* Worker weights to use for weighted round robin worker selection strategy.
* Weight is the tasks maximum average or median runtime in milliseconds.
@@
-61,35
+77,39
@@
export interface WorkerChoiceStrategyOptions {
}
/**
}
/**
- *
Pool worker node worker usage
statistics requirements.
+ *
Measurement
statistics requirements.
*
* @internal
*/
*
* @internal
*/
-export interface TaskStatisticsRequirements {
- /**
- * Require tasks runtime.
- */
- runTime: boolean
+interface MeasurementStatisticsRequirements {
/**
/**
- * Require
tasks average runtim
e.
+ * Require
measurement aggregat
e.
*/
*/
- a
vgRunTim
e: boolean
+ a
ggregat
e: boolean
/**
/**
- * Require
tasks median runtim
e.
+ * Require
measurement averag
e.
*/
*/
-
medRunTim
e: boolean
+
averag
e: boolean
/**
/**
- * Require
tasks wait time
.
+ * Require
measurement median
.
*/
*/
- waitTime: boolean
+ median: boolean
+}
+
+/**
+ * Pool worker node worker usage statistics requirements.
+ *
+ * @internal
+ */
+export interface TaskStatisticsRequirements {
/**
/**
- *
Require tasks average wait time
.
+ *
Tasks runtime requirements
.
*/
*/
- avgWaitTime: boolean
+ runTime: MeasurementStatisticsRequirements
/**
/**
- *
Require tasks median wait time
.
+ *
Tasks wait time requirements
.
*/
*/
- medWaitTime: boolean
+ waitTime: MeasurementStatisticsRequirements
/**
* Event loop utilization.
*/
/**
* Event loop utilization.
*/