samuelnogueira / cache-datastore-newrelic
将任何 psr/simple-cache 或 psr/cache 实现的调用报告为自定义 New Relic Datastore
1.1.0
2024-04-03 20:38 UTC
Requires
- php: ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0
- ext-newrelic: >=7.5.0
- psr/cache: ^3.0
- psr/simple-cache: ^3.0
Requires (Dev)
- phpstan/phpstan: 1.10.66
- phpstan/phpstan-strict-rules: 1.5.2
- phpunit/phpunit: 9.6.16
- squizlabs/php_codesniffer: 3.9.1
- symfony/cache: 6.0.19
- thecodingmachine/phpstan-strict-rules: 1.0.0
Provides
README
将任何 psr/simple-cache
或 psr/cache
实现的调用报告为自定义 New Relic Datastore。
使用 newrelic_record_datastore_segment 函数记录对不支持的数据库的调用。
要求
需要 New Relic PHP Agent 版本 >= 7.5.0。
使用方法
装饰你的现有
\Psr\Cache\CacheItemPoolInterface
\Psr\SimpleCache\CacheInterface
分别使用
\Samuelnogueira\CacheDatastoreNewrelic\CacheItemPoolDecorator
\Samuelnogueira\CacheDatastoreNewrelic\SimpleCacheDecorator
使用 PSR-6: Caching Interface 的示例
use Psr\Cache\CacheItemPoolInterface; use Samuelnogueira\CacheDatastoreNewrelic\CacheItemPoolDecorator; use Samuelnogueira\CacheDatastoreNewrelic\DatastoreParams; /** @var CacheItemPoolInterface $cache */ return new CacheItemPoolDecorator( $cache, // your cache adapter new DatastoreParams('My Database Product'), );
使用 PSR-16: Common Interface for Caching Libraries (即 Simple Cache) 的示例
use Psr\SimpleCache\CacheInterface; use Samuelnogueira\CacheDatastoreNewrelic\SimpleCacheDecorator; use Samuelnogueira\CacheDatastoreNewrelic\DatastoreParams; /** @var CacheInterface $cache */ return new SimpleCacheDecorator( $cache, // your cache adapter new DatastoreParams('My Database Product'), );