focal (3) scheduler.3erl.gz

Provided by: erlang-manpages_22.2.7+dfsg-1ubuntu0.2_all bug

NAME

       scheduler - Measure scheduler utilization

DESCRIPTION

       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).

DATA TYPES

       sched_sample()

       sched_type() = normal | cpu | io

       sched_id() = integer()

       sched_util_result() =
           [{sched_type(), sched_id(), float(), string()} |
            {total, float(), string()} |
            {weighted, float(), string()}]

              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.

EXPORTS

       sample() -> sched_sample()

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

       sample_all() -> sched_sample()

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

       utilization(Seconds) -> sched_util_result()

              Types:

                 Seconds = integer() >= 1

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

       utilization(Sample) -> sched_util_result()

              Types:

                 Sample = sched_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()).

       utilization(Sample1, Sample2) -> sched_util_result()

              Types:

                 Sample1 = Sample2 = sched_sample()

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