ferd / ferd/recon

`recon:node_stats` - Issue in number of reductions

Open
#108 1 comment 1 reaction 0 assignees View on GitHub
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.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.