aeatech / snapshot-profiler-newrelic
Snapshot profiler newrelic
Installs: 9
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/aeatech/snapshot-profiler-newrelic
Requires
- php: >=8.2
- ext-newrelic: *
- aeatech/snapshot-profiler: ^1.0
Requires (Dev)
- mockery/mockery: ^1.6
- phpunit/phpunit: ^11.5
- roave/security-advisories: dev-master
This package is not auto-updated.
Last update: 2025-12-19 14:20:59 UTC
README
The package contains implementation of aeatech/snapshot-profiler-contracts to profile applications with newrelic. It can be used for production profiling.
System requirements:
- PHP >= 8.2
- ext-newrelic (tested on 12.1+)
Installation (Composer):
composer require aeatech/snapshot-profiler-newrelic
Quick start
<?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);
License
MIT License. See LICENSE for details.