项目作者: brunitto

项目描述 :
CakePHP New Relic plugin.
高级语言: PHP
项目地址: git://github.com/brunitto/cakephp-new-relic.git
创建时间: 2016-02-14T15:23:07Z
项目社区:https://github.com/brunitto/cakephp-new-relic

开源协议:MIT License

下载


CakePHP NewRelic

CakePHP New Relic plugin.

Build status

Build Status

Overview

This plugin extends the CakePHP Request cycle, adding
a specialized Dispatcher Filter that adds
support for New Relic. The current version supports:

  • Name transactions
  • Browser timing

For more information, visit:

PHP Frameworks: Integrating support for New Relic

Requirements

This plugin has the following requirements:

  • CakePHP 3.6 or greater
  • PHP 7.1 or greater
  • New Relic PHP extension

Development requirements:

  • PHPUnit 7.1 or greater

Installation

Install the plugin using Composer, executing the
following command in your project’s root directory (where the composer.json
file is located.)

  1. composer require brunitto/cakephp-new-relic

Usage

Enable name transaction

Using Dispatcher

Add the Dispatcher Filter to the bootstrap.php file:

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

Using Middleware

Add the Middleware to the src/Application.php file after the
RoutingMiddleware:

  1. $middlewareQueue
  2. ->add(new RoutingMiddleware($this))
  3. ->add(new NameTransactionMiddleware());

Enable browser timing

Load the plugin helper within src/View/AppView.php, add the following line
within the initialize() method:

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

Like this:

  1. public function initialize()
  2. {
  3. parent::initialize();
  4. $this->loadHelper('NewRelic.NewRelic');
  5. }

In your Layouts files, use
the NewRelic helper methods to get the browser timing header and footer.

The header goes right before the </head> element:

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

And the footer goes right before the </body> element:

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

Middleware support

This plugin is ready for Middleware, as defined in:

Middleware

Development guidelines

Install dependencies

Install using composer program:

  1. $ composer install --ignore-platform-reqs

Running tests

Run using phpunit program:

  1. $ vendor/bin/phpunit tests --color

Releasing a new version

  1. Plan a release on GitHub, using Semantic Versioning, defining which issues
    will be on this release
  2. Checkout to development and merge master, starting from the last stable
    version
  3. Work in development, commiting and pushing to origin when you have
    working code. This will trigger Travis CI and run tests as soon as possible. If
    you fix an issue, use the , fix #N suffix in commit messages, where #N is the
    issue identifier. This will close issues on GitHub
  4. When the development is ready to go, merge in master and creates two
    soft tags: the version tag 1.2.3 and the stable tag. It might be necessary
    to remove the stable tag before pushing. The version tag is used by GitHub and
    Packagist to define a new release and a stable release
  5. Push master to origin including the tags and wait for Travis CI to
    run and the tests to pass

Issues

If you have some problem with this plugin, please open an issue on:

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

Contribute

If you’d like to contribute, you can fork the project, add features and send
pull requests in the official repository:

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