jeremyharris / cakephp-newrelic
New Relic是CakePHP的一个插件,它使得事务处理更加有用
Requires
This package is not auto-updated.
Last update: 2023-04-29 09:28:24 UTC
README
CakePHP New Relic 插件
New Relic插件是CakePHP的一个插件,它使您的[New Relic](https://newrelic.com)事务更容易阅读和理解。它还为您提供了更好的灵活性,以忽略某些事务(例如,管理面板)。默认情况下,New Relic事务基于文件名,难以阅读。此插件使用基本路由对其进行组织,即,将事务
/posts/edit/2
放置在以下New Relic事务中
/posts/edit
这使您能够深入了解与特定操作相关的问题,而不是基于文件名。要基于操作聚合,参数也会被忽略。
要求
- CAKEPHP 2.0+
- 一个New Relic账户
- 服务器上的New Relic代理(已启用)
安装
手动
- 下载此: http://github.com/jeremyharris/cakephp-newrelic/zipball/master
- 解压缩下载内容。
- 将生成的文件夹复制到 app/Plugin/NewRelic/
GIT 子模块
在您的应用目录中键入
git submodule add git://github.com/jeremyharris/cakephp-newrelic.git Plugin/NewRelic
git submodule update --init
Composer
确保 require
在 composer.json
中存在。这将安装插件到 Plugin/NewRelic
{
"require": {
"jeremyharris/cakephp-newrelic": "dev-master"
}
}
使用
加载插件
CakePlugin::loadAll(); // or CakePlugin::load('NewRelic');
将以下过滤器添加到您的分发过滤器(在 `bootstrap.php` 中)
Configure::write('Dispatcher.filters', array(
'AssetDispatcher', //default
'CacheDispatcher', //default
'NewRelic.NewRelicFilter'
));
现在,事务将按基本路由命名,即 :controller/:action
。
更改应用程序名称
将应用程序名称添加到 `bootstrap.php` 中
Configure::write('NewRelic.appName', 'My App Name');
忽略事务
有时您不想向New Relic报告某些内容。例如,导入可能需要很长时间,并且可能会破坏您的平均值。管理面板也是您可能不想报告给New Relic的示例之一。您可以根据路由忽略事务,如下所示
Configure::write('NewRelic.ignoreRoutes', array(
'/admin/:controller/:action/*',
'/users/import'
));
NewRelic.ignoreRoutes
使用路由系统,因此请像在 routes.php
文件中连接路由一样使用它们。
真实用户监控(RUM)
如果您想使用New Relic的RUM,有一个小助手可以帮助您实现。将助手添加到您的控制器中
public $helpers = array(
'NewRelic.NewRelic'
);
然后,将以下内容添加到您的布局中
<!DOCTYPE html>
<html>
<head>
<?php echo $this->NewRelic->start(); ?>
...
</head>
<body>
...
<?php echo $this->NewRelic->end(); ?>
</body>
</html>
许可证
版权所有(c)Jeremy Harris
特此授予任何人获得本软件及其相关文档文件(以下简称“软件”)的副本的权利,无需支付任何费用,可以在不受限制的情况下处理软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本,并允许向提供软件的人士进行此类操作,但须遵守以下条件:
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
软件按“原样”提供,不提供任何形式的保证,无论是明示的还是暗示的,包括但不限于适销性、特定用途适用性和非侵权性。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论该责任基于合同、侵权或其他任何原因,无论该索赔、损害或其他责任源于、因之而起或与此软件或软件的使用或其他操作有关。