Визуализация выполнения графика с помощью профилировщика действия

Профилировщик активности позволяет вам изучить поведение своего Stateflow® график. Когда вы включаете профилировщик действия, после моделирования ваша диаграмма Stateflow подсвечивается, чтобы показать, какие состояния были введены, были приняты переходы или были выполнены функции в течение времени, которое выполняется симуляция, также известное как время симуляции. Кроме того, вы можете увидеть длительность времени, которое было потрачено в каждом состоянии. Чтобы настроить время симуляции, на вкладке Simulation, измените номер Времени остановки.

С помощью профилировщика действий вы можете быстро

  1. Оцените поведение вашего графика.

  2. Просмотрите состояния и переходы на графике, которые никогда не вводятся и не принимаются.

Профилировщик активности не поддерживается в ссылочных моделях или в режиме быстрого перезапуска.

Отладка с помощью профилировщика действий

Профилировщик действия можно использовать в качестве дополнения к отладчику Stateflow. С помощью Профилировщик можно сразу увидеть области на графике, которые никогда не были достигнуты или были постоянно активны, что может привести к более быстрому процессу отладки. Кроме того, можно просмотреть атомарные состояния, чтобы увидеть, как часто они вводятся и как часто берутся их соответствующие переходы. С помощью этой информации легче идентифицировать проблемы логики перехода и решить проблемные области на вашем графике, такие как:

  • Переходы, которые принимаются слишком часто и не служат никакой цели

  • Графики, которые активируются слишком часто и замедляют эффективность, например, неожиданный цикл

  • Узкое место, такое как состояние контроллера, которое имеет несколько входящих переходов

После нахождения конкретных проблемных областей можно задать точки останова для отладки графика. Без профилировщика действий необходимо задать много точек останова на графике, чтобы точно определить проблемную область.

Включите профилировщик действия

Чтобы включить профилировщик действия, в редакторе Stateflow, на вкладке Debug, нажмите Activity Profiler. В нижней части редактора Stateflow под графиком появится панель профилировщика действия.

The activity profiler pane.

Чтобы показать, как выполняется каждое состояние, переход и функция, нажмите Run. В редакторе Stateflow ваш график подсвечивается, чтобы показать, сколько раз вводится состояние, выполняется переход или выполняется функция. На панели профилировщика действия показаны четыре столбца: Состояние, Длительность, Процент длительности и Количество записей.

Панель профилировщика действий остается пустой в любое время выполнения симуляции или приостановлена для отладки. После завершения симуляции заполняется панель Профилировщик действия (Activity Profiler), и появляется подсветка холста.

The activity profiler after running the simulation.

В State столбце перечислены состояния на диаграмме Stateflow, а также их дочерние состояния. В Duration столбце отображается длительность времени (в секундах), проведенного в каждом состоянии во время симуляции. В Duration Percentage столбце показана полоса, которая представляет, какой процент времени выполнения был потрачен в каждом состоянии относительно родительского графика. Столбец Number of Entries - это количество раз, когда каждое состояние было введено во время симуляции.

Вы также можете навести указатель мыши на состояние или перейти, чтобы увидеть эти данные.

После выполнения симуляции можно отключить подсветку и таблицу Профилировщик. На вкладке Debug откройте раскрывающийся список Профилировщик.

The Activity Profiler drop-down.

Чтобы выключить подсветку холста, очистите Canvas Highlight. Чтобы выключить таблицу Профилировщик, снимите флажок Table View.

Настройки профилировщика действий

Профилировщик действия настраивается. У вас есть опция подсветить определенную группу объектов на графике или изменить цветовую схему. Установка подсветки позволяет вам фокусироваться только на одной области. Изменение цветовой схемы может помочь вам визуализировать данные различными способами.

Опции подсветки

Чтобы изменить опции подсветки, в таблице Профилировщик действия (Activity Profiler) выберите раскрывающееся меню Настройки профилировщика действия (Activity Profiler preferences). The Activity Profiler Preferences button.В разделе Canvas Highlight Options можно выбрать включение подсветки для:

  • Государства

  • Переходы

  • Функции

Это глобальная настройка. Если вы измените эту настройку в одной модели, все другие модели появятся только таким образом.

Опции цветовой схемы

Профилировщик действия Stateflow позволяет настраивать просмотр профилировщика действия с помощью различных цветовых схем. Чтобы изменить цветовую схему, выберите раскрывающееся меню Настройки профилировщика действия (Activity Profiler preferences). В группе «Цветовая схема» выберите цвет. Вы можете выбрать из следующих цветовых схем:

  • Синий

  • Красный

  • Зеленый

  • HotCold

  • Осень

  • Круто

  • Самолет

  • Parula

Таблица в верхней части таблицы Профилировщик показывает, как цвета появляются на карте.

The Blue scheme legend.

Эта легенда для Blue схема показывает, как цвет постепенно темнеет, когда состояние вводится чаще.

HotCold - схема подсветки, которая используется для визуализации верхних 80% и низких 20% объектов на диаграмме Stateflow.

The HotCold scheme legend.

Легенда для HotCold показывает, как состояния или переходы, которые были введены: от 0% до 20% относительно родительского графика подсвечиваются синим цветом. Состояния, которые вводятся от 80% до 100%, подсвечиваются красным цветом.

The activity profiler using the HotCold color scheme.

На этом графике можно увидеть, что состояния upshifting, downshifting и first были активными в течение 20% или менее от общего времени выполнения. Все gear_state, selection_state и steady_state состояний были активны в течение 80% или более времени выполнения. Состояния second и third были активны между 20 и 80% времени выполнения. fourth состояния не был введен вообще и остается не подсвеченным.

Исследовать

Чтобы просмотреть только субдиаграммы и их дочерние состояния, в таблице Профилировщик действия (Activity Profiler) щелкните правой кнопкой мыши имя субдиаграммы и выберите Explore. Таблица Профилировщик действия настраивается таким образом, чтобы включать только данные об этой субдиаграмме и его дочерних состояниях. После выбора субдиаграммы в качестве текущих возможностей для панели Профилировщик действия, процент длительности зависит от выбранной субдиаграммы.

Похожие темы