getMetrics

Класс: slmetric. Механизм
Пакет: slmetric

Метрические данные о модели Access

Синтаксис

Results = getMetrics(metric_engine)
Results = getMetrics(metric_engine,MetricIDs)
Results = getMetrics(metric_engine,MetricIDs,'AggregationDepth',ad)

Описание

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

  • Модель

  • Блок Subsystem

  • График

  • Блок MATLAB function

  • Модель Protected

пример

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

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

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

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

развернуть все

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

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

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

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

  • Все getMetrics агрегировал подробные результаты к уровню компонента. Затем результаты уровня компонента используются, чтобы вычислить агрегированные значения путем пересечения иерархии компонентов. 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.AnalyzeModelReferences = 1;
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