summaryrefslogtreecommitdiff
path: root/erts/doc
diff options
context:
space:
mode:
authorSverker Eriksson <sverker@erlang.org>2021-11-22 23:08:08 +0100
committerSverker Eriksson <sverker@erlang.org>2022-01-11 22:55:03 +0100
commit0e3db5dd1eb310519a5b5cd0d2da4acd1dab8177 (patch)
treea5daea89047767edca417dc34677c25c42ac7050 /erts/doc
parentf2cfea03520d106a46d24d0bbde9ebc631c532c6 (diff)
downloaderlang-0e3db5dd1eb310519a5b5cd0d2da4acd1dab8177.tar.gz
erts: Clarify system_flag(scheduler_wall_time,_) docs
Diffstat (limited to 'erts/doc')
-rw-r--r--erts/doc/src/erlang.xml34
1 files changed, 30 insertions, 4 deletions
diff --git a/erts/doc/src/erlang.xml b/erts/doc/src/erlang.xml
index 26f3f768f6..39c2095dc8 100644
--- a/erts/doc/src/erlang.xml
+++ b/erts/doc/src/erlang.xml
@@ -9350,10 +9350,36 @@ ok
<fsummary>Set system flag scheduler_wall_time.</fsummary>
<desc>
<p>
- Turns on or off scheduler wall time measurements.</p>
- <p>For more information, see
- <seeerl marker="#statistics_scheduler_wall_time">
- <c>statistics(scheduler_wall_time)</c></seeerl>.</p>
+ Try enable or disable scheduler wall time measurements by passing
+ <c><anno>Boolean</anno></c> as either <c>true</c> or <c>false</c>.
+ </p>
+ <p>
+ For more information about how to use scheduler wall time
+ measurements, see <seeerl marker="#statistics_scheduler_wall_time">
+ <c>statistics(scheduler_wall_time)</c></seeerl>.
+ </p>
+ <p>
+ Scheduler wall time measurements has a node global state. It is either
+ enabled for all processes on the node or disabled for all
+ processes. Each process has a logical counter initialized as zero. A
+ call with <c><anno>Boolean</anno></c> as <c>true</c> will increase
+ that counter one step for the calling process. A call with
+ <c>false</c> will decrease it one step unless it already is
+ zero. The node global state for <c>scheduler_wall_time</c> will be
+ enabled as long as there is at least one process alive with a counter
+ value larger than zero. When a process terminates, its counter will
+ also disappear. To ensure <c>scheduler_wall_time</c> is kept enabled,
+ the process that enabled it must therefore be kept alive.
+ </p>
+ <p>
+ Returns the old value of the node global state, <c>true</c> if
+ scheduler wall time measurements were enabled, <c>false</c>
+ if it were disabled.
+ </p>
+ <p>
+ Scheduler wall time measurements do consume some cpu overhead and
+ should not be left turned on unless used.
+ </p>
</desc>
</func>