`recon:node_stats` - Issue in number of reductions
- Dominant language
- Erlang
- Stars
- 1.4k
- Forks
- 276
- PR merge metrics
- No merged PRs in 30d
Description
The function `node_stats(N, Interval, FoldFun, Init)` has an issue with the returned number of reductions. This is because `erlang:statistics(reductions)` returns a tuple with `{Total, Count_since_last_call}` but those calls are global.
`recon` relies on calling this function twice and using the count, but if any other process in the same VM calls `erlang:statistics(reductions)`, then the returned number is much lower than the real number.
You can see it for instance calling `recon:node_stats_list(1, 1000)` in a task and, just before one second has passed, call `erlang:statistics(reductions)` manually. Alternatively, call `recon:node_stats_list(1, 1000)` twice, concurrently: one of the two stats will have a very very low number of reductions.
Probably reductions should instead be computed as delta between the `Total` (first element).
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.