from Sentry
2021-02-08 Sentry Memo
- Create a Sentry Project | Sentry Documentation
- platform: React, name: keicho-webclient
$ npm install --save @sentry/react @sentry/tracing
-
Next, import and initialize the Sentry module as early as possible, before initializing React: ts
import React from "react";
import ReactDOM from "react-dom";
import * as Sentry from "@sentry/react";
import { Integrations } from "@sentry/tracing";
import App from "./App";
Sentry.init({
dsn: "https://*****.ingest.sentry.io/5627136",
integrations: [new Integrations.BrowserTracing()],
// We recommend adjusting this value in production, or using tracesSampler
// for finer control
tracesSampleRate: 1.0,
});
ReactDOM.render(<App />, document.getElementById("root"));
- > The above configuration captures both error and performance data. To reduce the volume of performance data captured, change tracesSampleRate to a value between 0 and 1.
- 先日のエラーを故意に再現してみる ts
// @ts-ignore
console.log([][0].TalkID);
- ![image](https://gyazo.com/f3941c8b5f0b4a9ef3fc5900a8e0be19/thumb/1000)
- ![image](https://gyazo.com/3b94acb65985631e3c423394a6f06b4d/thumb/1000)
- 開発サーバでやってるのに`New alert from keicho-webclient in production`ってメールが届いてしまう
ts
Sentry.init({ ...
environment: process.env.NODE_ENV,
});
Sentryでエラー時にUser Feedbackのフォームを出す Sentryでパフォーマンス計測
追加の情報を送る
Sentry.setContext("Info", { TalkID: TalkID });
Server side
$ pip install --upgrade sentry-sdk
Import and initialize the Sentry SDK early in your application’s setup:
python
import sentry_sdk
sentry_sdk.init(
"https://013cb069fe1841fb920fd5d7e369debc@o376998.ingest.sentry.io/5628690",
traces_sample_rate=1.0
)
python
@app.route('/')
def root():
1 / 0
return "OK"
ローカルのサーバでエラーを出してSentryへの報告がうまく動いてるか確認したいが、Flaskの開発モードだとエラーがキャッチされてデバッグ画面になってしまう
-
一旦FLASK_ENV=developmentを外す
-
逆に言えばこれがついてることでローカルサーバでのエラーは報告されない、普段はそれで良い
-
追加の情報を送る
sentry_sdk.set_context("info", {"talk": talk, "text": text})