メインコンテンツ

getMetrics

クラス: slmetric.Engine
名前空間: slmetric

(削除予定) モデル メトリクス データにアクセスする

メトリクス ダッシュボード ユーザー インターフェイス、関数 metricdashboardslmetric パッケージ API、および対応するカスタマイズは将来のリリースで削除される予定です。詳細については、Migrating from Metrics Dashboard to Model Maintainability Dashboardを参照してください。

説明

指定したモデル メトリクス エンジンからのモデル メトリクス データにアクセスします。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 に収集されたメトリクス データにアクセスします。

モデル メトリクスまたは作成したカスタム モデル メトリクスのメトリクス識別子。1 つ以上のメトリクス識別子を指定できます。slmetric.metric.getAvailableMetricsを呼び出してメトリクス識別子を取得できます。

例: 'mathworks.metrics.DescriptiveBlockNames'

getMetrics でメトリクス データを集計するコンポーネントの深さまたはレベル。名前と値のペアの引数として指定します。値は次のいずれかになります。

  • AllgetMetrics は詳細な結果をコンポーネント レベルで集計します。その後、コンポーネント レベルの結果を使用して、コンポーネント階層を走査することで集計値を計算します。getMetrics はコンポーネントレベルの結果のみを返します。

  • None — 測定内容および値を集計しません。このオプションを指定すると、getMetrics はメトリクス アルゴリズムで収集されたとおりのメトリクス値を返します。たとえば、メトリクス アルゴリズムが詳細な結果を返す場合、その詳細な結果が集計なしで返されます。slmetric.metric.Result オブジェクトの AggregatedValue プロパティと AggregatedMeasures プロパティは空になります。

例: 'AggregationDepth','None'

データ型: char

出力引数

すべて展開する

メトリクス エンジンからのメトリクス データ。

すべて展開する

モデル sldemo_mdlref_basic のモデル メトリクス データを収集してそのデータにアクセスします。

モデルを開く

openExample('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 で導入

すべて折りたたむ