fspringveldt/silverstripe-module-metrics

一个实验性模块,提供正在使用的SilverStripe模块的指标

安装: 8

依赖: 0

建议者: 0

安全: 0

星标: 0

关注者: 2

分支: 1

开放问题: 0

类型:silverstripe-module

dev-master 2017-11-10 02:44 UTC

This package is auto-updated.

Last update: 2024-09-13 10:25:37 UTC


README

此模块旨在为开发运维团队提供有关多个网站中SilverStripe模块使用的相关信息。它通过分析模块的DataObjects和数据扩展类来实现。

  1. DataObjects:如果其中至少有一个具有行,则假定模块正在使用
  2. 数据扩展:如果引入了具有非空值的任何新列,则假定模块正在使用。

注意:`DataExtension::augmentDataBase()` 也会修改数据库(参见Versioned或Translatable),但没有结构化的方式来确定这些修改是什么。对于这些模块,需要在模块级别进行一些分析,以确定哪些表的存在的可靠程度可以确定模块的使用情况。

要求

  • SilverStripe ^3.1

安装和设置

  1. 将仓库克隆到您的 /tmp/ss-module-metrics 目录下
git clone https://github.com/fspringveldt/silverstripe-module-metrics /tmp/ss-module-metrics
  1. 在您克隆此项目到的同一目录中创建一个简单的文本文件(例如,/tmp/ss-module-metrics),将您要包含在扫描中的所有SilverStripe目录的路径放入该文件中。以下是一个名为input.txt的文件示例,其中包含以下内容
$HOME/www/ss-site-1
$HOME/www/ss-site-2
  1. 从您的bash命令提示符运行以下命令以输出其结果
cd /tmp/ss-module-metrics/ && >output.txt && awk '{printf "php cli-module-metrics.php %s >> output.txt\n", $0}' input.txt | sh

注意。通过在您的脚本中包含类似清单的SilverStripe文件(Core.php),您引入了重新生成缓存文件的可能性,这可能会对前端用户造成问题。因此,必须确保脚本以Web服务器的用户身份运行。

  1. 此命令将在中指定的所有网站上运行模块使用检查器,将输出以JSON格式发送到名为的文件中。以下字段按网站和模块输出。此文件可以导入MySQL进行进一步分析。
[
  {
      "Site": "http:\/\/dev.ss3.local",
      "ModuleName": "userforms",
      "InUse": 1,
      "UsageType": "DataObject",
      "RecordsFound": 2,
      "FieldInUse": null,
      "TableInUse": "EditableCheckbox",
      "LastEdited": "2017-08-01 23:24:32"
  }
]

字段描述

  • 站点:Director::baseURL()的输出
  • 模块名称:实际模块
  • 使用:可以是0、1或2。值为2表示模块没有数据库交互
  • 使用类型:可以是以下之一
    • 扩展 - 此模块引入的扩展列具有有效数据(即非空且不等于0)
    • 数据对象 - 此模块引入的数据对象有数据
    • 增强数据库 - 在DataExtension::augmentDatabase()中引入的表中找到行
    • 无数据库交互 - 在此模块中未找到数据库交互
  • 找到的记录数:数据对象情况下找到的记录数
  • 正在使用的字段:第一个具有非空值的DataExtension字段。
  • 正在使用的表:第一个具有行的数据库表
  • 最后修改:表中的LastEdited列

按表格格式化示例结果

Sample formatted output

许可证

许可证

我们包括了一个3条款BSD许可证,您可以使用它作为默认值。我们提倡BSD许可证,因为它是最自由和最开放的许可证之一。

如果您想使用其他许可证,请随意更改license.md。您可以使用choosealicense.com来帮助选择适合您项目的许可证。

维护者

错误跟踪器

问题将在本存储库的问题部分进行跟踪。在提交问题之前,请阅读现有问题以确保您的独一无二。

如果问题看起来像是一个新bug

  • 创建一个新问题
  • 描述重现您问题的步骤以及预期的结果。单元测试、截图和屏幕录制在这里可能会有帮助。
  • 尽可能详细地描述您的环境:SilverStripe版本、浏览器、PHP版本、操作系统、任何安装的SilverStripe模块。

请直接向模块维护者报告安全问题。请不要在bug跟踪器中提交安全问题。

开发和贡献

如果您想为模块做出贡献,请确保您发起了一个拉取请求,并与模块维护者进行讨论。