Negative utilization in eventLoopUtilization for worker_threads #40525
Labels
perf_hooks
Issues and PRs related to the implementation of the Performance Timing API.
worker
Issues and PRs related to Worker support.
Version
v14.18.1, v15.14.0, v16.11.1, v17.0.0-pre (as of 16 Oct `21)
Platform
Linux marcus 5.13.19-200.fc34.x86_64 #1 SMP Sat Sep 18 16:32:24 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
Subsystem
worker_threads
What steps will reproduce the bug?
Repository with example: https://github.com/tshemsedinov/wtu
How often does it reproduce? Is there a required condition?
If worker event loop is empty in delta calculation period.
What is the expected behavior?
Delta fields
active
andutilization
are expected to be positive,utilization
expected to be[0..1]
.What do you see instead?
Negative values in ~50% cases. But if you add
setInterval
with empty handler for minimum eventloop load, utilization will be always between 0 and 1.Additional information
I know that it is a stable API but it would be better in far future:
loopIdleTime()
call andnow()
in lower level, but my experiments in this field is not successful, still getting negative utilization.performance.eventLoopUsage(): EventLoopUsage
andperformance.eventLoopUtilization(usage1, usage2): EventLoopUtilization
.internal/worker.js
and 3 ininternal/perf/event_loop_utilization.js
.The text was updated successfully, but these errors were encountered: