jaapio/phpbench-blackfire

该软件包已被废弃,不再维护。未建议替代软件包。

phpbench的黑火执行器

安装: 180

依赖关系: 0

建议者: 0

安全: 0

星标: 2

关注者: 2

分支: 1

开放问题: 1

类型:composer-plugin

dev-master / 1.x-dev 2021-09-17 13:02 UTC

This package is auto-updated.

Last update: 2023-10-29 20:58:56 UTC


README

此仓库包含一个PHPBench Blackfire扩展,它允许您使用Blackfire.io来分析您的基准测试。该扩展包含一个自定义执行器和记录器。执行器可以在没有记录器的情况下使用,没有执行器则不能使用记录器。

请注意,记录器使用的是高级/企业版Blackfire功能,使用记录器是可选的。

安装

由于PHPBench使用自动加载器加载扩展类,因此它需要通过composer安装扩展。此外,此扩展正在构建自己的自动加载器,用于在基准测试执行期间连接到Blackfire。因此,唯一的安装方法是composer。

要安装此扩展,请执行以下命令。

composer require phpbench/phpbench jaapio/phpbench-blackfire

此扩展需要Blackfire代理来对执行的基准测试进行代码注入,就像使用blackfire.io的任何其他实现一样。

配置

要启用扩展,请将扩展添加到您的PHPBench配置中。扩展将像以下示例所示从PHPBench配置中选取设置。configenv都是可选的。

当您的Blackfire账户没有环境时,可以省略env

config是包含用于与Blackfire API进行认证的客户端ID和客户端令牌的Blackfire ini文件的路径。省略config设置时,将查找用户的家目录中的配置文件。最后的回退是环境变量BLACKFIRE_CLIENT_IDBLACKFIRE_CLIENT_TOKENBLACKFIRE_ENDPOINT

{
  "bootstrap": "vendor/autoload.php",
  "path": "tests/benchmark",
  "extensions": [
    "Jaapio\\Blackfire\\Extension"
  ],
  "blackfire" : {
    "config": 'path/to/blackfire.ini',
    "env": "<id>"
  }
}

执行

要运行具有完整功能的构建,您可以执行以下命令。phpbench run -l blackfire --executor=blackfire --tag="Build_name"

参考

PHPBench允许您为每个基准测试设置引用。这些引用将转换为配置报告中的步骤,并在Blackfire中可见。

断言 (高级/企业版)

Blackfire有添加断言的选项。此扩展支持在基准测试上设置的执行器注释中的这些断言。表达式不会被扩展解析,而是原样传递。有关断言的更多信息,请参阅Blackfire文档。

class YourBench
{

    /**
     * @Executor(
     *     "blackfire",
     *     assertions={
     *      {"expression"="main.peak_memory < 11kb", "title"="memory peak"},
     *      "main.wall_time < 1ms"
     *      }
     * )
     */
    public function benchMd5() : void
    {
        md5('test');
    }

迭代和变体

每次基准测试的执行,包括迭代和变体,都作为单独的配置文件发送到Blackfire。请注意,当错误地使用此扩展时,创建的配置文件数量可能非常大。我不建议结合大量基准测试使用大量迭代。这很可能会使您的Blackfire账户过载。