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.5k
1人で頑張らない! チームでSentryを活用する エラー管理体制の構築について
solnce
August 30, 2023
Tweet
Share
Other Decks in Programming
See All in Programming
仮想ファイルシステムを導入して開発環境のストレージ課題を解消する
segadevtech
2
390
Scala におけるコンパイラエラーとの付き合い方
chencmd
1
150
GoのIteratorに詳しくなってしまう
inatonix
1
170
フロントエンドのテストからアクセシビリティをしれっと広めていく
nano72mkn
3
700
Swiftコードバトル必勝法
toshi0383
0
140
From Spring Boot 2 to Spring Boot 3 with Java 22 and Jakarta EE
ivargrimstad
0
940
(非公開スライド追加)座談会 「Strict ConcurrencyとSwift 6が開く新時代: 私たちはどう生きるか?」
shiz
1
140
Ebitengineの1vs1ゲーム WebRTCの活用
ponyo877
0
330
どうしてこうなった?から理解するActive Recordの関連の裏側
willnet
5
510
ESLint Rule により事業, 技術ドメインに沿った制約と誓約を敷衍させるアプローチのすゝめ
shinyaigeek
1
2.7k
デザインシステムとコンポーネント指向によるフロントエンド開発プロセスの革新 / Innovation in Frontend Development Processes through Design Systems and Component-Oriented Architecture
nrslib
7
5k
Mergeable Libraryで 高速なアプリ起動を実現しよう!
giginet
PRO
1
1.8k
Featured
See All Featured
GraphQLとの向き合い方2022年版
quramy
43
13k
From Idea to $5000 a Month in 5 Months
shpigford
378
46k
Agile that works and the tools we love
rasmusluckow
327
20k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
230
17k
RailsConf 2023
tenderlove
26
790
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
28
2.2k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
25
1.3k
Unsuck your backbone
ammeep
667
57k
We Have a Design System, Now What?
morganepeng
48
7.1k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
33
1.7k
Code Reviewing Like a Champion
maltzj
518
39k
Thoughts on Productivity
jonyablonski
65
4.2k
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