brunitto/cakephp-new-relic

CakePHP New Relic 插件。

1.3.1 2018-06-23 00:24 UTC

This package is not auto-updated.

Last update: 2024-09-28 19:25:48 UTC


README

CakePHP New Relic 插件。

构建状态

Build Status

概述

此插件扩展了CakePHP 请求周期,添加了一个专门的调度器过滤器,以支持 New Relic。当前版本支持

  • 命名事务
  • 浏览器计时

有关更多信息,请访问

PHP 框架:集成 New Relic 支持的指南

要求

此插件有以下要求

  • CakePHP 3.6 或更高版本
  • PHP 7.1 或更高版本
  • New Relic PHP 扩展

开发要求

  • PHPUnit 7.1 或更高版本

安装

使用 Composer 安装插件,在项目的根目录(其中包含 composer.json 文件)中执行以下命令

composer require brunitto/cakephp-new-relic

用法

启用命名事务

使用调度器

将调度器过滤器添加到 bootstrap.php 文件

// New Relic name transaction dispatcher filter
DispatcherFactory::add('NewRelic.NameTransaction');

使用中间件

将中间件添加到 src/Application.php 文件 RoutingMiddleware 之后

$middlewareQueue
    ->add(new RoutingMiddleware($this))
    ->add(new NameTransactionMiddleware());

启用浏览器计时

src/View/AppView.php 中加载插件辅助函数,在 initialize() 方法中添加以下行

$this->loadHelper('NewRelic.NewRelic');

如下所示

public function initialize()
{
    parent::initialize();
    $this->loadHelper('NewRelic.NewRelic');
}

在您的 布局 文件中,使用 NewRelic 辅助方法获取浏览器计时头部和尾部。

头部位于 </head> 元素之前

<head>
...
<!-- NEW RELIC BROWSER TIMING HEADER -->
<?= $this->NewRelic->getBrowserTimingHeader() ?>
</head>

尾部位于 </body> 元素之前

<body>
...
<!-- NEW RELIC BROWSER TIMING FOOTER -->
<?= $this->NewRelic->getBrowserTimingFooter() ?>
</body>

中间件支持

根据以下定义的中间件

中间件

开发指南

安装依赖项

使用 composer 程序安装

$ composer install --ignore-platform-reqs

运行测试

使用 phpunit 程序运行

$ vendor/bin/phpunit tests --color

发布新版本

  1. 在 GitHub 上计划发布,使用语义版本控制,定义哪些问题将包含在本版本中
  2. 切换到 development 并从最后一个稳定版本开始合并 master
  3. development 中工作,当您有可工作的代码时,提交并推送到 origin。这将触发 Travis CI 并尽快运行测试。如果您修复了问题,请在提交信息中使用 , fix #N 后缀,其中 #N 是问题标识符。这将关闭 GitHub 上的问题
  4. development 准备就绪时,将其合并到 master 并创建两个软标签:版本标签 1.2.3stable 标签。在推送之前可能需要删除 stable 标签。版本标签由 GitHub 和 Packagist 用于定义新版本和稳定版本
  5. master 推送到 origin,包括标签,并等待 Travis CI 运行并通过测试

问题

如果您对此插件有任何问题,请在此打开一个问题

https://github.com/brunitto/cakephp-new-relic/issues

贡献

如果您想贡献,可以克隆项目,添加功能并向官方存储库发送拉取请求

https://github.com/brunitto/cakephp-new-relic