aeatech/snapshot-profiler-newrelic
The package contains implementation of aeatech/snapshot-profiler-contracts to profile applications with newrelic. It can be used for production profiling.
System requirements:
Installation (Composer):
composer require aeatech/snapshot-profiler-newrelic
<?php
declare(strict_types=1);
use AEATech\SnapshotProfiler\Profiler;
use AEATech\SnapshotProfilerNewrelic\Adapter;
use AEATech\SnapshotProfilerNewrelic\Saver;
require_once 'vendor/autoload.php';
/**
* Start initialization
*/
$saver = new Saver();
$adapter = new Adapter('appName', 'license');
$profiler = new Profiler($adapter);
$profilingOptions = [
Adapter::OPTION_KEY_SNAPSHOT_NAME => 'snapshot name',
/**
* It must be true for cli processes or false for web processes
*/
Adapter::OPTION_KEY_IS_BACKGROUND_PROCESS => true,
Adapter::OPTION_KEY_CUSTOM_PARAMETERS => [
'parameter 1' => true,
'parameter 2' => 2,
'parameter 3' => 3.14,
'parameter 4' => 'string value',
],
];
/**
* End initialization
*/
/**
* Start profiling
*/
$profiler->enable();
$profiler->setProfilingOptions($profilingOptions);
for ($i = 0; $i < 10; $i++) {
random_int(1, 10);
}
/**
* $data is always empty and added for backward compatibility with xhprof
*/
$data = $profiler->disable();
/**
* End profiling
*/
/**
* Start customization (not necessarily)
*/
/**
* Save profiling result
* It's doing nothing and added for backward compatibility with xhprof
*/
$saver->save($data);
MIT License. See LICENSE for details.
How can I help you explore Laravel packages today?