Main Content


Statistics of past execution periods

Since R2022b


stats = statistics(rate) returns statistics for the previous periods of code execution. stats is a structure with these fields: Periods, NumPeriods, AveragePeriod, StandardDeviation, and NumOverruns.

Here is a sample execution graphic using the default setting, 'slip', for the OverrunAction property in the ros2rate object. See OverrunAction for more information on overrun code execution.

Workflow of call to statistics with slip overrun action method.

The output of statistics is:

stats = 

              Periods: [0.7 0.11 0.7 0.11]
           NumPeriods: 4
        AveragePeriod: 0.09
    StandardDeviation: 0.0231
          NumOverruns: 2

Input Arguments

collapse all

ROS 2 loop execution object, specified as ros2rate object. This object contains the information for the DesiredRate and other info about the execution. See ros2rate for more information.

Output Arguments

collapse all

Time execution statistics, returned as a structure. This structure contains the following fields:

  • Period — All time periods (returned in seconds) used to calculate statistics as an indexed array. stats.Period(end) is the most recent period.

  • NumPeriods — Number of elements in Periods

  • AveragePeriod — Average time in seconds

  • StandardDeviation — Standard deviation of all periods in seconds, centered around the mean stored in AveragePeriod

  • NumOverruns — Number of periods with overrun

Version History

Introduced in R2022b

See Also