X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fpools%2Fselection-strategies%2Fselection-strategies-types.ts;h=b96bb029a0befe39ce438beb368e2c0dbecb87ab;hb=4f487526a63c873d168386250b40ad8103c5a4d8;hp=18ba40b410d5190271a82d248a12b5e2179485de;hpb=a85e62704fb177dc2cafc88915a6590d1bf179b5;p=poolifier.git diff --git a/src/pools/selection-strategies/selection-strategies-types.ts b/src/pools/selection-strategies/selection-strategies-types.ts index 18ba40b4..b96bb029 100644 --- 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 ELU worker selection strategy. + * + * @experimental + */ + LEAST_ELU: 'LEAST_ELU', /** * Fair share worker selection strategy. */ @@ -65,7 +71,7 @@ export interface WorkerChoiceStrategyOptions { * * @internal */ -export interface RequiredStatistics { +export interface TaskStatistics { /** * Require tasks runtime. */ @@ -90,6 +96,10 @@ export interface RequiredStatistics { * Require tasks median wait time. */ medWaitTime: boolean + /** + * Event loop utilization. + */ + elu: boolean } /** @@ -97,9 +107,9 @@ export interface RequiredStatistics { */ export interface IWorkerChoiceStrategy { /** - * Required tasks usage statistics. + * Required tasks statistics. */ - readonly requiredStatistics: RequiredStatistics + readonly taskStatistics: TaskStatistics /** * Resets strategy internals. *