DEVGRU

プログラミングと競馬予想について書きます

Angular + Sentry でやたらとUpdateが走る現象を解決する

Angular + Sentry 環境でやたらと Update (ツリーの更新)が走る現象を指摘されたところ、 微妙な問題があったので解決した。

どうやら zone.js と Sentry の Breadcrumb の両方で console.log() を置き換えようとしているのがいろいろまずいらしい(斜め読み)。

github.com

これについてエレガントな解決方法はどうやら観測範囲には見当たらないそうなので、シンプルにSentryのBreadcrumbを停止させた。

Sentry.init({
    dsn: (DSN),
    integrations: [
        // console.*() の置換に起因してChange Detectionが連発するので
        // Breadcrumb を諦めて console.*() の置換をやめる
        // Ref.
        // https://github.com/getsentry/sentry-javascript/issues/1883
        // https://docs.sentry.io/platforms/javascript/default-integrations/#breadcrumbs
        new Sentry.Integrations.Breadcrumbs({ console: false }),
    ],
});

これで現象は収まった。

Angularアプリケーションプログラミング

Angularアプリケーションプログラミング

AngularによるモダンWeb開発 基礎編 第2版

AngularによるモダンWeb開発 基礎編 第2版

Angular Webアプリ開発 スタートブック

Angular Webアプリ開発 スタートブック