Skip to content

pj8/Pj8.SentryModule

Repository files navigation

Pj8.SentryModule

Continuous Integration

BEAR.SundayアプリケーションのエラーとパフォーマンスをSentryでモニタリングします。

インストール

Composerインストール

composer require pj8/sentry-module

モジュールインストール

use BEAR\Package\AbstractAppModule;
use BEAR\Package\Context\ProdModule as PackageProdModule;
use BEAR\Sunday\Extension\Error\ErrorInterface;
use Pj8\SentryModule\SentryModule;
use Pj8\SentryModule\SentryErrorHandler;

class ProdModule extends AbstractAppModule
{
    protected function configure(): void
    {
        // ...
        $this->install(new PackageProdModule());
        // PackageProdModuleの後にSentryModuleをインストール
        $this->install(new SentryModule([
            'dsn' => 'https://secret@sentry.example.com/1'
        ])
        $this->rename(ErrorInterface::class, 'original');
        $this->bind(ErrorInterface::class)->to(SentryErrorHandler::class);
    }
}

パフォーマンスモニタリング

パフォーマンス計測するメソッドにMonitorable 属性またはアノテーションを付与します。

use Pj8\SentryModule\Annotation\Monitorable;

#[Monitorable]
public function foo()
{
}
use Pj8\SentryModule\Annotation\Monitorable;

/** @Monitorable **/
public function foo()
{
}

BEAR.Resourceサポート

BEAR.Resourceのリソースリクエストを全てモニタリングします。

$this->install(new SentryModule(['dsn' => 'https://secret@sentry.example.com/1']));
$this->install(new ResourceMonitorModule());