Main Content

本页翻译不是最新的。点击此处可查看最新英文版本。

使用度量仪表板收集和探查度量数据

注意

度量仪表板将在以后的版本中删除。对于大小、架构和复杂度度量,请改用 Model Maintainability Dashboard。有关详细信息,请参阅Monitor the Complexity of Your Design Using the Model Maintainability Dashboard

度量仪表板收集并整合来自多个基于模型的设计工具的质量度量数据,为您提供工程质量状态的评估。要打开控制板,请执行以下操作:

  • 在 App 库中,点击度量仪表板

  • 在命令行中输入 metricsdashboard(system)system 可以是模型名称,也可以是子系统的模块路径。系统不能为 Configurable Subsystem 模块。

您可以使用控制板收集度量数据,也可以使用 slmetric.Engine API 以编程方式收集度量数据。打开控制板时,如果您以前收集过某个模型的度量数据,控制板将用数据库中的现有数据进行填充。

如果要使用控制板收集(或重新收集)度量数据,请在工具栏中:

  • 使用 Options 菜单指定是否在数据集合中包括模型引用和库。

  • 点击所有度量。如果您不想收集需要编译模型的度量,请点击 Non-Compile Metrics

度量仪表板提供系统名称和数据收集时间戳。如果数据收集过程中出现问题,请点击警报图标以查看警告。

对于每个模型或子系统,一次只能打开一个控制板。此外,如果为某个模型或子系统打开了控制板,并且您以编程方式收集该模型或子系统的度量数据,则该控制板会自动关闭。

Metrics Dashboard for the model sf_car

度量仪表板小组件

度量仪表板包含能够可视化下列类别的度量数据的小组件:大小、建模指导原则合规性和架构。要更详细地浏览数据,请点击单个度量小组件。对于选定的度量,用一个表来显示模型组件级别的值、聚合值和测量值(如果适用)。从该表中,控制板提供数据源的可追溯性和超链接,以便您可以获得详细结果和对问题进行故障排除的建议操作。浏览钻入的数据时,请注意:

  • 度量仪表板基于组件来提供度量数据。组件可以是模型、子系统、图或 MATLAB Function 模块。

  • 您可以在视图中查看结果。对于 High IntegrityMAB 合规性小组件,您还可以选择 Grid 视图。要查看突出显示的结果,请在网格视图中,点击一个单元格。

  • 要按值或聚合值对结果进行排序,请点击对应的值列标题。

  • 对于 High IntegrityMAB 合规性小组件之外的度量,您可以过滤结果。要过滤结果,请在 Table 视图中,选择 TYPECOMPONENTPATH 列标题右侧的上下文菜单。从 TYPE 菜单中,选择适用的组件。从 COMPONENTPATH 菜单中,在搜索栏中键入组件名称或路径。度量仪表板会保存小组件的过滤器,因此您可以查看其他小组件的度量详细信息并返回到过滤结果。

  • 视图中,值或聚合值为 n/a 表示该组件没有可用结果。如果值和聚合值为 n/a视图不会列出该组件。而 Tree 视图会列出这样的组件。

    Table view of Metric Details showing the model "sf_car" and the Stateflow chart "shift_logic". Tree view of Metric Details showing the component hierarchy.

  • 采集的度量数据用于量化整个系统,包括同一模型的各实例。对于聚合值,度量引擎会将引用层次结构中某模型的每个实例的数据进行聚合。例如,如果同一模型在系统层次结构中引用两次,则其模块计数在整个系统模块计数中参与两次。

  • 如果子系统、图或 MATLAB Function 模块使用了某参数或标记为存在某问题,则父组件的对应参数计数或问题计数会增加。

  • 度量仪表板会分析变体。

对于自定义度量,您可以指定要添加到控制板的小组件。您也可以删除小组件。要了解有关自定义度量仪表板的详细信息,请参阅Customize Metrics Dashboard Layout and Functionality

Size

下表列出了度量仪表板小组件,这些小组件提供系统大小的总体情况。当您钻入小组件时,此表还会列出可用的详细信息。

小组件度量钻入的数据
模块Simulink block count (mathworks.metrics.SimulinkBlockCount)按组件列出的模块数
模型Model file count (mathworks.metrics.ModelFileCount)按组件列出的模型文件数量
文件File count (mathworks.metrics.FileCount)按组件列出的模型和库文件数量
MATLAB LOCEffective lines of MATLAB code (mathworks.metrics.MatlabLOCCount)按组件列出的 Stateflow 中 MATLAB Function 模块和 MATLAB 函数中的有效代码行
Stateflow LOCEffective lines of code for Stateflow blocks (mathworks.metrics.StateflowLOCCount)按组件列出的 Stateflow 模块的有效代码行
系统接口
  • Input and Output count (mathworks.metrics.ExplicitIOCount)

  • Parameter count (mathworks.metrics.ParameterCount)

  • 按组件列出的输入和输出数量(包括触发端口)

  • 按组件列出的参数个数

建模指导原则合规性

对于此特定系统,模型合规性小组件指示符合行业标准和规范的级别。下表列出了与建模指导原则合规性相关的度量仪表板小组件,以及钻入小组件时可用的详细信息。

小组件度量钻入的数据
高完整性合规性Model Advisor standards check compliance - High Integrity (mathworks.metrics.ModelAdvisorCheckCompliance.hisl_do178)

对于每个组件:

  • 通过的检查的百分比

  • 每个检查的状态

与模型顾问集成以获得更详细的结果。

MAB 合规性Model Advisor standards check compliance - MAB (mathworks.metrics.ModelAdvisorCheckCompliance.maab)

对于每个组件:

  • 通过的检查的百分比

  • 每个检查的状态

与模型顾问集成以获得更详细的结果。

高完整性检查问题Model Advisor standards issues - High Integrity (mathworks.metrics.ModelAdvisorCheckIssues.hisl_do178)
  • 按组件列出的合规性检查问题数量(请参阅以下注释)。

  • 不存在问题或聚合问题的组件不会列出。

MAB 检查问题Model Advisor standards issues - MAB (mathworks.metrics.ModelAdvisorCheckIssues.maab)
  • 按组件列出的合规性检查问题数量(请参阅以下注释)。

  • 不存在问题或聚合问题的组件不会列出。

代码分析警告Warnings from MATLAB Code Analyzer (mathworks.metrics.MatlabCodeAnalyzerWarnings)按组件列出的代码分析器警告数。
诊断警告Simulink diagnostic warning count (mathworks.metrics.DiagnosticWarningsCount)
  • 按组件列出的 Simulink 诊断警告数。

  • 如果有警告,则在控制板的顶部会显示一个超链接,该超链接可打开诊断查看器。

注意

如果分析配置参数的合规性检查发现存在问题,则该问题会添加到未通过检查的模型的问题计数。

您可以使用度量仪表板对您自己的模型顾问检查组执行合规性和问题检查。有关详细信息,请参阅Customize Metrics Dashboard Layout and Functionality

架构

下列小组件提供系统架构的视图:

  • Potential Reuse/Actual Reuse 小组件显示所有克隆件子组件的占比和所有链接库模块组件的占比。橙色表示可能存在重用。蓝色表示实际发生重用。

  • 其他系统架构小组件使用值尺度。对于度量的每个值范围,彩条指示位于该范围内的组件的数量。颜色越深表示组件越多。

下表列出了与架构相关的度量仪表板小组件,以及选择小组件时可用的详细信息。

小组件度量钻入的数据

潜在重用 /实际重用

潜在重用 (mathworks.metrics.CloneContent) 和实际重用 (mathworks.metrics.LibraryContent)

克隆件子组件总数的百分比

链接到库模块的组件总数的百分比

通过点击 Open Conversion Tool 按钮与 Identify Modeling Clones 工具集成。

模型复杂度Cyclomatic complexity (mathworks.metrics.CyclomaticComplexity)按组件列出的模型复杂度
模块Simulink block count (mathworks.metrics.SimulinkBlockCount)按组件列出的模块数
Stateflow LOCEffective lines of code for Stateflow blocks (mathworks.metrics.StateflowLOCCount)按组件列出的 Stateflow 模块的有效代码行
MATLAB LOCEffective lines of MATLAB code (mathworks.metrics.MatlabLOCCount)按组件列出的 Stateflow 中 MATLAB Function 模块和 MATLAB 函数中的有效代码行

度量阈值

对于 Model Complexity、Modeling Guideline Compliance 和 Reuse 小组件,度量仪表板包含默认阈值。这些值指示您的数据是合规还是需要审核(警告)。对于合规数据,小组件显示绿色。对于警告数据,小组件显示黄色。没有度量阈值的小组件显示蓝色。

  • 对于 Modeling Guideline Compliance 度量,度量阈值为零个模型顾问问题。如果您的模型有问题,则小组件显示黄色。如果没有问题,小组件显示绿色。

  • 如果您的模型有警告,则 Code AnalyzerDiagnostic 小组件为黄色。如果没有警告,小组件显示绿色。

  • 对于重用小组件,度量阈值为零。如果您的模型有潜在的克隆件,小组件显示黄色。如果没有潜在的克隆件,小组件显示绿色。

  • 对于 Model Complexity 小组件,度量阈值为 30。如果您的模型的圈复杂度大于 30,则小组件显示黄色。如果该值小于或等于 30,小组件显示绿色。

您可以为度量仪表板中的所有小组件指定自己的度量阈值。您也可以指定对应于不合规范围的值。有关详细信息,请参阅Customize Metrics Dashboard Layout and Functionality

度量仪表板使用限制

使用度量仪表板时,请注意以下几点:

  • 度量仪表板的分析所基于的根对象不能为 Configurable Subsystem 模块。

  • 模型顾问是度量仪表板中用于数据收集的工具,一个模型只能有一个打开的模型顾问会话。因此,当控制板收集数据时,它会关闭现有模型顾问会话。

  • 如果您使用 sl_customization.m 文件自定义模型顾问检查,这些自定义会更改您的控制板结果。例如,如果隐藏控制板用于收集度量的某些模型顾问检查,则控制板不会收集这些度量的结果。

  • 度量仪表板不会将与模块无关的 MAB 检查纳入问题计数范围。这类检查包括警告字体格式或文件名的检查。在 Model Advisor Check Issues 小组件中,该工具可能报告零个 MAB 问题,但仍然在 MAB Modeling Guideline Compliance 小组件中报告问题。有关这些问题的详细信息,请点击 MAB Modeling Guideline Compliance 小组件。

相关主题