From 0359cdc8552ad056e976a8c097624b4305ef6755 Mon Sep 17 00:00:00 2001 From: Sverker Eriksson Date: Thu, 11 Jan 2018 20:52:27 +0100 Subject: runtime_tools: Add scheduler module --- lib/runtime_tools/doc/src/Makefile | 8 +- lib/runtime_tools/doc/src/ref_man.xml | 1 + lib/runtime_tools/doc/src/scheduler.xml | 135 ++++++++++++++++++++++++++++++++ lib/runtime_tools/doc/src/specs.xml | 1 + 4 files changed, 144 insertions(+), 1 deletion(-) create mode 100644 lib/runtime_tools/doc/src/scheduler.xml (limited to 'lib/runtime_tools/doc') diff --git a/lib/runtime_tools/doc/src/Makefile b/lib/runtime_tools/doc/src/Makefile index 5ce40bb995..83375d4525 100644 --- a/lib/runtime_tools/doc/src/Makefile +++ b/lib/runtime_tools/doc/src/Makefile @@ -41,7 +41,13 @@ RELSYSDIR = $(RELEASE_PATH)/lib/$(APPLICATION)-$(VSN) # Target Specs # ---------------------------------------------------- XML_APPLICATION_FILES = ref_man.xml -XML_REF3_FILES = dbg.xml dyntrace.xml erts_alloc_config.xml system_information.xml msacc.xml +XML_REF3_FILES = \ + dbg.xml \ + dyntrace.xml \ + erts_alloc_config.xml \ + system_information.xml \ + msacc.xml \ + scheduler.xml XML_REF6_FILES = runtime_tools_app.xml XML_PART_FILES = part_notes.xml part_notes_history.xml part.xml diff --git a/lib/runtime_tools/doc/src/ref_man.xml b/lib/runtime_tools/doc/src/ref_man.xml index d2fb7a29af..eb3a6f0f5c 100644 --- a/lib/runtime_tools/doc/src/ref_man.xml +++ b/lib/runtime_tools/doc/src/ref_man.xml @@ -37,6 +37,7 @@ + diff --git a/lib/runtime_tools/doc/src/scheduler.xml b/lib/runtime_tools/doc/src/scheduler.xml new file mode 100644 index 0000000000..dd8bf73bae --- /dev/null +++ b/lib/runtime_tools/doc/src/scheduler.xml @@ -0,0 +1,135 @@ + + + + +
+ + 2018 + Ericsson AB. All Rights Reserved. + + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + + + + + 1 + + + + + scheduler.xml +
+ scheduler + Measure scheduler utilization + +

This module contains utility functions for easier measurement and + calculation of scheduler utilization, otherwise obtained from calling the + more primitive + statistics(scheduler_wall_time).

+

The simplest usage is to call + scheduler:utilization(Seconds).

+
+ + + + + + + + + + + + + + +

A list of tuples containing results for individual schedulers + as well as aggregated averages. Util is the scheduler utilization + as a floating point value between 0.0 and 1.0. Percent is the + same utilization as a more human readable string expressed in percent.

+ + {normal, SchedulerId, Util, Percent} + Scheduler utilization of a normal scheduler with number + SchedulerId. + {cpu, SchedulerId, Util, Percent} + Scheduler utilization of a dirty-cpu scheduler with number + SchedulerId. + {io, SchedulerId, Util, Percent} + Scheduler utilization of a dirty-io scheduler with number + SchedulerId. This tuple will only exist if both samples were + taken with sample_all/0. + {total, Util, Percent} + Total utilization of all normal and dirty-cpu schedulers. + {weighted, Util, Percent} + Total utilization of all normal and dirty-cpu schedulers, + weighted against maximum amount of available CPU time. + +
+
+
+ + + + + + Get scheduler utilization sample. + +

Return a scheduler utilization sample for normal and dirty-cpu + schedulers.

+
+
+ + + + Get scheduler utilization sample. + +

Return a scheduler utilization sample for all schedulers, + including dirty-io schedulers.

+
+
+ + + + Measure scheduler utilizations during a period of time. + +

Measure utilization for normal and dirty-cpu schedulers during + Seconds seconds, and then return the result.

+
+
+ + + + Measure scheduler utilizations since sample. + +

Calculate scheduler utilizations for the time interval from when + Sample was taken and "now". The same as calling + scheduler:utilization(Sample, scheduler:sample_all()).

+
+
+ + + + Measure scheduler utilizations between two samples. + +

Calculates scheduler utilizations for the time interval between + the two samples obtained from calling + sample/0 or + sample_all/0.

+
+
+ +
+
diff --git a/lib/runtime_tools/doc/src/specs.xml b/lib/runtime_tools/doc/src/specs.xml index 978bd39e55..33fe7fa370 100644 --- a/lib/runtime_tools/doc/src/specs.xml +++ b/lib/runtime_tools/doc/src/specs.xml @@ -2,4 +2,5 @@ + -- cgit v1.2.3