mir-insight / cakephp-newrelic
CakePHP 5 NewRelic Integration
Installs: 120
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 12
Type:cakephp-plugin
Requires
- php: >=8.1
- cakephp/cakephp: ^5.0|^4.0
Requires (Dev)
- cakephp/debug_kit: ^5.0
- phpunit/phpunit: ^10.0
This package is auto-updated.
Last update: 2025-06-02 08:51:45 UTC
README
A CakePHP 5 plugin for NewRelic integration that provides automatic transaction tracking, error reporting, and custom metrics.
Requirements
- PHP 8.1 or higher
- CakePHP 5.0 or higher
- NewRelic PHP extension
Installation
You can install this plugin into your CakePHP application using composer.
composer require mir-insight/cakephp-newrelic
Configuration
- Load the plugin in your
config/bootstrap.php
:
// Load the plugin $app->addPlugin('NewRelic');
- Configure the plugin in your
config/app.php
or create a new fileconfig/newrelic.php
:
return [ 'NewRelic' => [ 'enabled' => true, 'appName' => 'My Application', 'captureParams' => true, 'customParameters' => [ 'environment' => 'production', 'version' => '1.0.0', ], ], ];
Usage
The plugin automatically integrates with your CakePHP application and provides the following features:
- Automatic transaction tracking for all HTTP requests
- Exception tracking
- Custom parameter and metric tracking
- Custom tracer methods
Using the NewRelic Service
You can access the NewRelic service in your controllers, components, or other services:
use NewRelic\Service\NewRelicServiceInterface; class MyController extends AppController { public function index(NewRelicServiceInterface $newRelic) { // Add custom parameters $newRelic->addCustomParameter('user_id', $this->Auth->user('id')); // Add custom metrics $newRelic->addCustomMetric('custom/feature_usage', 1.0); // Record exceptions try { // Your code here } catch (\Throwable $e) { $newRelic->recordException($e); throw $e; } } }
Custom Tracers
You can add custom tracer methods in your configuration:
return [ 'NewRelic' => [ 'customTracers' => [ 'App\Model\Table\UsersTable::findActive', 'App\Service\CacheService::get', ], ], ];
Features
- Automatic transaction tracking
- Exception tracking
- Custom parameter tracking
- Custom metric tracking
- Custom tracer methods
- Middleware integration
- Service container integration
- Configuration options
Contributing
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
License
The MIT License (MIT). Please see License File for more information.