deleu / sensor
在AWS Lambda上使用X-Ray进行PHP性能分析
dev-master
2019-07-22 21:25 UTC
Requires
- php: ^7.2.2
- ext-json: *
- aws/aws-sdk-php: ^3.93
- bref/bref: ^0.3.9
- ocramius/proxy-manager: ^2.2
- psr/log: ~1.0
Requires (Dev)
- phpunit/phpunit: ^7.5
This package is auto-updated.
Last update: 2024-09-23 09:22:39 UTC
README
非生产就绪。
由X-Ray驱动的AWS Lambda可观测性
Laravel上的使用
在你的服务提供者中定义一个XRayClient实例。
$this->app->bind(XRayClient::class, function () {
return new \Aws\XRay\XRayClient([
'version' => '2016-04-12',
'region' => 'eu-west-1',
'credentials' => [
'key' => 'your-key',
'secret' => 'your-secret',
]
]);
});
然后扩展你想要Tap的类,并将传感器附加到它上。
$this->app->extend(LoginController::class, function (LoginController $service) {
$sensor = $this->app->make(\Deleu\Sensor\Sensor::class);
$tap = new \Deleu\Sensor\Tap($service, $sensor);
return $tap->listen(['showLoginForm']);
});
限制
不能Tap一个final
类。这是对Ocramius/ProxyManager的限制。
理想
- 提供一个简单的性能分析工具,帮助诊断Lambda函数执行缓慢。
- 从外部连接到代码,这样就不需要在你的核心类内部进行代码更改。
- 本项目不是为了替换完整的性能分析工具,而是简单地帮助确认你的Lambda函数中可能缓慢的部分
需要帮助
我已经习惯了Laravel提供的出色工具很长时间。我对Symfony容器一无所知,也不知道如何在不使用illumiate/config
或静态属性的情况下提供灵活的配置。如果你喜欢这个想法,并愿意帮助我把这个想法带到Laravel以外的社区,我会非常高兴。