Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
1人で頑張らない! チームでSentryを活用する エラー管理体制の構築について
Search
solnce
August 30, 2023
Programming
1
3.1k
1人で頑張らない! チームでSentryを活用する エラー管理体制の構築について
solnce
August 30, 2023
Tweet
Share
Other Decks in Programming
See All in Programming
360° Signals in Angular: Signal Forms with SignalStore & Resources @ngLondon 01/2026
manfredsteyer
PRO
0
140
Package Management Learnings from Homebrew
mikemcquaid
0
230
16年目のピクシブ百科事典を支える最新の技術基盤 / The Modern Tech Stack Powering Pixiv Encyclopedia in its 16th Year
ahuglajbclajep
5
1k
それ、本当に安全? ファイルアップロードで見落としがちなセキュリティリスクと対策
penpeen
7
4k
AIフル活用時代だからこそ学んでおきたい働き方の心得
shinoyu
0
140
20260127_試行錯誤の結晶を1冊に。著者が解説 先輩データサイエンティストからの指南書 / author's_commentary_ds_instructions_guide
nash_efp
1
1k
Python’s True Superpower
hynek
0
110
Data-Centric Kaggle
isax1015
2
780
CSC307 Lecture 09
javiergs
PRO
1
840
2026年 エンジニアリング自己学習法
yumechi
0
140
AI によるインシデント初動調査の自動化を行う AI インシデントコマンダーを作った話
azukiazusa1
1
750
なぜSQLはAIぽく見えるのか/why does SQL look AI like
florets1
0
480
Featured
See All Featured
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Writing Fast Ruby
sferik
630
62k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.7k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
1
1.4k
Into the Great Unknown - MozCon
thekraken
40
2.3k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
950
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
290
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
440
Game over? The fight for quality and originality in the time of robots
wayneb77
1
120
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.3k
Leo the Paperboy
mayatellez
4
1.4k
Transcript
© Magic Moment 2023 1人で頑張らない! チームでSentryを活用する エラー管理体制の構築について © Magic Moment
2023 株式会社Magic Moment Technologiesチーム Takahiro Ishida
© Magic Moment 2023 自己紹介 2 • Takahiro Ishida •
株式会社Magic Moment • フロントエンド テックリード • GitHub: @solnce • Twitter: @solnce3 • 自作キーボードにハマっています
© Magic Moment 2023 Magic Moment / 営業行動支援システムMagic Moment Playbookについて①
3 • 株式会社Magic Moment • 営業行動支援システム 「Magic Moment Playbook」の開発・提供 • 開発組織は23名(フロント6名)+業務委託 • 昨年9月にシリーズB完了で累計調達額20億円 • React / SPAの運用上で Sentry を使っています
© Magic Moment 2023 Magic Moment / 営業行動支援システムMagic Moment Playbookについて②
4
© Magic Moment 2023 今日話すこと 5 Sentryを活用して みんなでエラーを管理したい! 🛠🛠🛠🛠
© Magic Moment 2023 Sentryを運用する上での課題 課題 6 Sentryを導入してからエラーハンドリングがしやすくなりましたが チームの運用課題がいろいろと出てきました
© Magic Moment 2023 課題 7 運用が属人化しがち
© Magic Moment 2023 運用が属人化しがち 課題 8 見る人もエラー修正する人も、有志による特定の人に寄りがち
© Magic Moment 2023 自分が実装していない部分は 対応に時間がかかる 😵 課題 9
© Magic Moment 2023 自分が実装していない部分は 対応に時間がかかる 😵 課題 10 対象範囲のドメイン知識が不足していたり、実装が複雑な箇所だと難しい
© Magic Moment 2023 エラー対応のやりかたが 技術力や経験によって変わる 🥺 課題 11
© Magic Moment 2023 エラー対応のやりかたが 技術力や経験によって変わる 🥺 課題 12 どこまで影響範囲を考慮するべきなのか、実装で対処できるものか判断が難しい
© Magic Moment 2023 発生件数が少ないエラーを 対応するかの判断が人による 🧐 課題 13
© Magic Moment 2023 発生件数が少ないエラーを 対応するかの判断が人による 🧐 課題 14 リリースした機能によっては使われるまでにタイムラグがあり
発生件数を対応条件にしていると対応の判断がしにくい
© Magic Moment 2023 どうやって対策しているか 15 私達はこうやって対策しました 🤟🤟🤟
© Magic Moment 2023 どうやって対策しているか 16 毎週1時間、フロント全員で Sentry を確認・修正する時間を確保する
© Magic Moment 2023 どうやって対策しているか 17 ◦ 1週間で発生した課題の対応方法について全員で議論しています ◦ 品質に関わるので、参加者が少なくても必ずやるようにしています
毎週1時間、フロント全員で Sentry を確認・修正する時間を確保する
© Magic Moment 2023 どうやって対策しているか 18 ⭕ 運用が属人化しがち 毎週1時間、フロント全員で Sentry
を確認・修正する時間を確保する
© Magic Moment 2023 どうやって対策しているか 19 ペアタスクでエラーを調査・修正する 🙌
© Magic Moment 2023 どうやって対策しているか 20 ◦ ドメインに詳しい人を交えて、影響範囲や不明点を減らしています ◦ 再現方法の調査や実装方針も話し合い、最適な方法で解決します
ペアタスクでエラーを調査・修正する 🙌
© Magic Moment 2023 どうやって対策しているか 21 ⭕ ドメイン知識不足 ⭕ 対応方法の判断
ペアタスクでエラーを調査・修正する 🙌
© Magic Moment 2023 どうやって対策しているか 22 過去3回以上発生したら エラー対応の対象とする ⏳
© Magic Moment 2023 どうやって対策しているか 23 ◦ 毎週集計しているのを利用して、会の回数でトリアージしています ◦ 件数が多い場合やクリティカルなものはチームで確認して即時対応します
過去3回以上発生したら エラー対応の対象とする ⏳
© Magic Moment 2023 どうやって対策しているか 24 ⭕ 発生件数が少ないエラーの判断 過去3回以上発生したら エラー対応の対象とする
⏳
© Magic Moment 2023 実際に管理している画面 25
© Magic Moment 2023 実際に管理している画面 26 その週で発生したエラーを見て、 対応方法の案や、やるべきかどうかをチームで話し合います
© Magic Moment 2023 実際に管理している画面 27
© Magic Moment 2023 実際に管理している画面 28 件数自体は少ないが3週に渡って発生しているので対応するようにしています
© Magic Moment 2023 運用する上でのTips 🍟 Tips 29 エラートラッキングを楽にする仕組み
© Magic Moment 2023 • リリースバージョンを設定する ◦ デプロイ時にリリースごとのファイルハッシュを使って、どのリリースに起因して発生 したエラーなのかを追えるようにしています •
環境名を送信 ◦ 社内本番(テスト環境)とお客様環境を区別して、重大なエラーがあっても早く対応で きるようにしています • SourceMapのアップロード ◦ どのファイルで発生したのか、原因箇所の特定を早くしています ◦ webpack の devtools で hidden-source-map を指定してから Sentry にアッ プロードしています Tips 30
© Magic Moment 2023 今後やっていきたいこと 🤓 今後やっていきたいこと 31
© Magic Moment 2023 • TagやBreadcrumbsに適切な情報を追加したい ◦ 分析に役立つ情報を弊社に合わせてカスタマイズしたい ◦ どういうのを送信すればいいのか設計中
• SourceMapのbuildの改善 ◦ SourceMapを生成するとbuild時間がながいので簡易的なSourceMapを送るよ うにしたい 今後やっていきたいこと 32
© Magic Moment 2023 まとめ まとめ 33
© Magic Moment 2023 • 継続的な取り組みからSentryが活用できる • 発生件数が少ないエラーでも会を区切る方法でトリアージができる • みんなで協力してやればエラーは怖くない!
まとめ 34 運用の仕方についても毎週チームで議論していて改善しています!
© Magic Moment 2023 宣伝 35 バックエンド、フロントエンド、 サーバーサイド、QAエンジニアなど 幅広く募集中です! https://www.magicmoment.jp/recruit/
Wantedly のブログ記事も ぜひご覧ください! https://www.wantedly.com/companies/magicmoment/stories ZennでTechBlogやっています! https://zenn.dev/magicmoment We’re Hiring!
© Magic Moment 2023 THANK YOU © Magic Moment 2023
36