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
2.9k
1人で頑張らない! チームでSentryを活用する エラー管理体制の構築について
solnce
August 30, 2023
Tweet
Share
Other Decks in Programming
See All in Programming
iOS開発スターターキットの作り方
akidon0000
0
110
リッチエディターを安全に開発・運用するために
unachang113
1
230
MDN Web Docs に日本語翻訳でコントリビュートしたくなる
ohmori_yusuke
1
130
おやつのお供はお決まりですか?@WWDC25 Recap -Japan-\(region).swift
shingangan
0
150
20250708_JAWS_opscdk
takuyay0ne
2
140
猫と暮らす Google Nest Cam生活🐈 / WebRTC with Google Nest Cam
yutailang0119
0
180
可変変数との向き合い方 $$変数名が踊り出す$$ / php conference Variable variables
gunji
0
220
Vibe Codingの幻想を超えて-生成AIを現場で使えるようにするまでの泥臭い話.ai
fumiyakume
18
9k
Streamlitで実現できるようになったこと、実現してくれたこと
ayumu_yamaguchi
2
210
レトロゲームから学ぶ通信技術の歴史
kimkim0106
0
120
階層化自動テストで開発に機動力を
ickx
1
400
AI駆動のマルチエージェントによる業務フロー自動化の設計と実践
h_okkah
0
280
Featured
See All Featured
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
GitHub's CSS Performance
jonrohan
1031
460k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Facilitating Awesome Meetings
lara
54
6.5k
Faster Mobile Websites
deanohume
308
31k
Balancing Empowerment & Direction
lara
1
490
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.2k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.7k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1k
How to Think Like a Performance Engineer
csswizardry
25
1.8k
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