PHPackages                             charlesportwoodii/yii-newrelic - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Logging &amp; Monitoring](/categories/logging)
4. /
5. charlesportwoodii/yii-newrelic

AbandonedArchivedLibrary[Logging &amp; Monitoring](/categories/logging)

charlesportwoodii/yii-newrelic
==============================

Yii wrapper around the New Relic PHP API

1.0.1(11y ago)01.9k1Modified BSDPHP

Since Jan 6Pushed 11y ago1 watchersCompare

[ Source](https://github.com/charlesportwoodii/yii-newrelic)[ Packagist](https://packagist.org/packages/charlesportwoodii/yii-newrelic)[ RSS](/packages/charlesportwoodii-yii-newrelic/feed)WikiDiscussions master Synced 3w ago

READMEChangelog (1)DependenciesVersions (3)Used By (1)

yii-newrelic
============

[](#yii-newrelic)

Yii wrapper around the [New Relic](https://newrelic.com/) [PHP API](https://newrelic.com/docs/php/the-php-api).

Introduction
------------

[](#introduction)

yii-newrelic is a wrapper around the New Relic PHP API. Automatic tracking of module/controller/action ID's is supported. Automatic injection of timing header and footer also supported.

\###Requirements

- PHP 5.2+
- [New Relic for PHP](https://newrelic.com/docs/php/new-relic-for-php)
- One of the following OS's:
- Linux 2.6+, glibc 2.5+ with NPTL support
- OpenSolaris 10
- FreeBSD 7.3+
- MacOS/X 10.5+
- Apache 2.2 or 2.4 via mod\_php
- Intel CPU

\###Installation

1. Install the New Relic PHP driver on your web server per [New Relic For PHP](https://newrelic.com/docs/php/new-relic-for-php) instructions.
2. Place this extension in /protected/extensions/yii-newrelic/.
3. In main.php, add the following to 'components':

```
	'newRelic' => array(
		'class' => 'ext.yii-newrelic.YiiNewRelic',
	),
	'clientScript' => array(
		'class' => 'ext.yii-newrelic.YiiNewRelicClientScript',
	),

```

4. If you are using a script that subclasses `CClientScript`, instead of adding 'clientScript' to your 'components', you will instead need to orphan that extension's script and extend it from `YiiNewRelicClientScript` instead. To do so, change `extends CClientScript` to `extends YiiNewRelicClientScript`, and then add a line before that class declaration that says:

```
	Yii::import('ext.yii-newrelic.YiiNewRelicClientScript');

```

5. In main.php, add the following to the top-level array:

```
	'behaviors' => array(
		'onBeginRequest' => array(
			 'class' => 'ext.yii-newrelic.behaviors.YiiNewRelicWebAppBehavior',
		),
	),

```

6. Create subclass of `CWebApplication`, e.g. `NewRelicApplication`.
7. In this new class, e.g. `NewRelicApplication`, add a method::

```
	public function beforeControllerAction($controller, $action) {
		Yii::app()->newRelic->setTransactionName($controller->id, $action->id);
		return parent::beforeControllerAction($controller, $action);
	}

```

8. To use your new subclassed `CWebApplication`, modify index.php similar to:

```
	$config=dirname(__FILE__).'/../protected/config/main.php';
	require_once(dirname(__FILE__).'/../yii-1.1.12.b600af/framework/yii.php');
	require_once(dirname(__FILE__).'/../protected/components/system/PromocastApplication.php');
	$app = new NewRelicApplication($config);
	$app->run();

```

9. In console.php, add the following to 'components':

```
	'newRelic' => array(
		'class' => 'ext.yii-newrelic.YiiNewRelic',
	),

```

10. In console.php, add the following to the top-level array:

```
	'behaviors' => array(
		'onBeginRequest' => array(
			 'class' => 'ext.yii-newrelic.behaviors.YiiNewRelicConsoleAppBehavior',
		),
		'onEndRequest' => array(
			 'class' => 'ext.yii-newrelic.behaviors.YiiNewRelicConsoleAppBehavior',
		),
	),

```

\###Features

- yii-newrelic automatically detects whether the New Relic PHP extension is properly installed.
- Automatic association of Yii module/controller/action ID's.
- Automatic injection of New Relic timing header/footer into your HTML layouts.
- Console commands also supported.

\###Usage

- TODO: Finish docs with use cases with YiiNewRelic API wrapper methods

\###Known issues and other comments

- A future release will aim to avoid needing to call YiiNewRelic::nameTransaction() via CWebApplication subclass. This seems to be the only reliable mechanism for determining the actual controller/action in use. An attempt was made to use Yii::app()-&gt;getUrlManager()-&gt;parseUrl(Yii::app()-&gt;getRequest()) in YiiNewRelicWebAppBehavior, but this does not seem to produce consistent results.
- Console apps currently only set the class name to YiiNewRelic::nameTransaction().
    A future release will attempt to include the action as well.
- Your contributions, as always, are greatly appreciated.

License
-------

[](#license)

Modified BSD License

###  Health Score

32

—

LowBetter than 69% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity18

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity64

Established project with proven stability

 Bus Factor1

Top contributor holds 66.7% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~76 days

Total

2

Last Release

4114d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/630969?v=4)[Charles R. Portwood II](/maintainers/charlesportwoodii)[@charlesportwoodii](https://github.com/charlesportwoodii)

---

Top Contributors

[![paul-veterinary](https://avatars.githubusercontent.com/u/264701457?v=4)](https://github.com/paul-veterinary "paul-veterinary (8 commits)")[![charlesportwoodii](https://avatars.githubusercontent.com/u/630969?v=4)](https://github.com/charlesportwoodii "charlesportwoodii (3 commits)")[![ptheofan](https://avatars.githubusercontent.com/u/880939?v=4)](https://github.com/ptheofan "ptheofan (1 commits)")

---

Tags

yiinew relic

### Embed Badge

![Health badge](/badges/charlesportwoodii-yii-newrelic/health.svg)

```
[![Health](https://phpackages.com/badges/charlesportwoodii-yii-newrelic/health.svg)](https://phpackages.com/packages/charlesportwoodii-yii-newrelic)
```

###  Alternatives

[intouch/laravel-newrelic

Laravel 5 NewRelic Integration

1731.2M](/packages/intouch-laravel-newrelic)[samdark/yii2-psr-log-target

Yii 2 log target which uses PSR-3 compatible logger

841.9M13](/packages/samdark-yii2-psr-log-target)[jackwh/laravel-new-relic

Monitor your Laravel application performance with New Relic

113924.0k](/packages/jackwh-laravel-new-relic)[baibaratsky/yii2-rollbar

Rollbar for Yii2

35131.9k](/packages/baibaratsky-yii2-rollbar)[sobanvuex/php-newrelic

PHP Library for New Relic Agent

16520.7k5](/packages/sobanvuex-php-newrelic)[upscale/swoole-newrelic

New Relic APM monitoring of Swoole web-server

1619.7k](/packages/upscale-swoole-newrelic)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
