getMetrics

Класс: slmetric. Engine
Пакет: slmetric

Доступ к метрическим данным модели

Описание

Доступ к данным метрики модели из заданного механизма метрики модели. Когда вы звоните executeМеханизм метрики собирает метрические данные. Возвращенные метрические данные основаны на определенных архитектурных компонентах. Компонентами являются следующие объекты Simulink:

  • Модель

  • Блок Subsystem

  • График

  • Блок MATLAB function

  • Защищенная модель

пример

Results = getMetrics(metric_engine) возвращает метрические данные для всех метрик, выполненных механизмом метрики.

Results = getMetrics(metric_engine,MetricIDs) возвращает метрические данные для заданных метрических идентификаторов.

Results = getMetrics(metric_engine,MetricIDs,'AggregationDepth',ad) возвращает метрические данные для заданных идентификаторов метрики и определяет, как агрегировать данные.

Входные параметры

расширить все

Когда вы звоните execute, metric_engine собирает метрические данные для всех доступных метрик MathWorks или для заданной MetricIDs. Вызывающие getMetrics обращается к собранным метрическим данным в metric_engine.

Идентификатор метрики для Модели Metrics или пользовательских метрик модели, которые вы создаете. Можно задать один или несколько метрических идентификаторов. Вы можете получить идентификаторы метрики, позвонив slmetric.metric.getAvailableMetrics.

Пример: 'mathworks.metrics.DescriptiveBlockNames'

Глубина или уровень в компоненте, для которого getMetrics агрегирует метрические данные, заданные как аргумент пары "имя-значение". Значения являются одним из следующих:

  • AllgetMetrics агрегирует подробные результаты по уровню компонента. Затем результаты уровня компонента используются для вычисления агрегированных значений путем прохождения иерархии компонентов. getMetrics возвращает только результаты уровня компонента.

  • None - Не агрегировать измерения и значения. Если вы задаете эту опцию, getMetrics возвращает метрические значения, собранные метрическим алгоритмом. Для примера, если метрический алгоритм возвратов подробные результаты, подробные результаты возвращаются без агрегирования. AggregatedValue и AggregatedMeasures свойства возвращенного slmetric.metric.Result объекты пусты.

Пример: 'AggregationDepth','None'

Типы данных: char

Выходные аргументы

расширить все

Метрические данные из механизма метрики.

Примеры

расширить все

Сбор и доступ к метрическим данным модели для sldemo_mdlref_basic модели.

Создайте slmetric.Engine Объекту и установите корень в модели для анализа.

metric_engine = slmetric.Engine();

% Include referenced models and libraries in the analysis.
% These properties are on by default.
metric_engine.ModelReferencesSimulationMode = 'AllModes';
metric_engine.AnalyzeLibraries = 1;

setAnalysisRoot(metric_engine, 'Root',  'sldemo_mdlref_basic');

Сбор метрических данных модели

execute(metric_engine, 'mathworks.metrics.SimulinkBlockCount');

Получите метрические данные модели, которая возвращает массив slmetric.metric.ResultCollection объекты, res_col.

res_col = getMetrics(metric_engine, 'mathworks.metrics.SimulinkBlockCount');

Отображение результатов для mathworks.metrics.SimulinkBlockCount метрический.

for n=1:length(res_col)
    if res_col(n).Status == 0
        result = res_col(n).Results;
        
        for m=1:length(result)
            disp(['MetricID: ',result(m).MetricID]);
            disp(['  ComponentPath: ', result(m).ComponentPath]);
            disp(['  Value: ', num2str(result(m).Value)]);
            disp(['  AggregatedValue: ', num2str(result(m).AggregatedValue)]);
        end
    else
        disp(['No results for:', result(n).MetricID]);
    end
    disp(' ');
end
Введенный в R2016a