Commit fc27f5f
[Settings] Frontend 에러 모니터링 툴 Sentry를 도입한다. (#349)
* feat: Sentry 패지키 설치 및 환경 세팅
- @sentry/react 패키지 추가
- 개발/프로덕션 환경별 활성화 제어
- VITE_SENTRY_DSN, VITE_ENABLE_SENTRY 환경변수 추가
* feat: GlobalErrorBoundary에 Sentry 에러 추적 연동
- React 에러 자동 캡처 및 Sentry 전송
- 에러 발생 컴포넌트, URL, timestamp 등 메타데이터 추가
* feat: SectionErrorBoundary에 Sentry 에러 추적 연동
- SectionErrorBoundary의 에러 같은 경우에는 특정 섹션만 고장나고 앱은
계속 동장하기에 level Warning으로 마킹
- SectionErrorBoundary로 감싼 컴포넌트에서 생긴 에러 자동 캡처 및 Sentry 전송(주로 API 페칭 영역일듯)
- 에러 발생 컴포넌트, URL, timestamp 등 메타데이터 추가
* settings : Sentry 발생시 Replay 녹화 기능 설정
* feat : GlobalErrorBoundary 제거 및 React Router에 Sentry에러 트래킹 통합
- wrapCreateBrowserRouterV6로 라우팅 에러 자동 캡처 기능 추가
- React router가 라우팅 전역 에러를 캐치한 경우 errorPage 컴포넌트를 렌더링하는데, 이 errorPage에 센트리 caputreException을 추가하여 Router 에러 트레킹
* fix : useGetBattleInfo 훅에서 throwonError 옵션을 true로 설정
- 에러바운더리에 캐치되기 위해서는 꼭 필요한 옵션인데 아마 누락되어있었던 것 같아, true로 설정했습니다
* feat : Sentry 사용자 컨텍스 트 정보 설정 추가
>>
>> - 게스트 로그인 / Oauth 로그인 각 케이스마다 구분하여 사용자 정보 설정 추가
>> - Oauth의 로그인의 경우 어느 provider를 이용했는지 정보 추가
>> - 로그인 시 자동등록, 로그아웃 시 자동 제거 로직 적용
>> - AuthStore 타입에 provider 필드 추가 (github | kakao)
* feat: WebSocket 연결 실패 Sentry 모니터링 추가
- connect_error 이벤트를 Sentry로 전송하여 실시간 추적
- 소켓 상태 및 배틀 정보를 컨텍스트로 포함
* feat: WebSocket 재연결 3번 실패시 Sentry 로그 보내는 로직 추가
- reconnect_failed 이벤트를 Sentry로 전송
- 3번 재연결 시도 실패 시 에러 로깅
* feat: WebSocket 생명주기 이 벤트에 Sentry Breadcrumb 추가
>>
>> - connect, reconnect, disconnect, reconnect_attempt 이벤트에 breadcrumb 추가
>> - 에러 발생 시 이벤트 타임라인 추적 용도
* feat: 배틀 페이즈/라운드 변경 Sentry Breadcrumb 추가
- battle:phase:updated 이벤트에 breadcrumb 추가
- battle:round:updated 이벤트에 breadcrumb 추가
* feat: 서버 소켓 에러 이벤트 Sentry 추적 추가
- battle:join:error - 배틀 입장 실패
- battle:attack:error - 공격 제출 실패
- battle:defense:error - 방어 제출 실패
- battle:attack:vote:error - 공격 투표 실패
- battle:defense:vote:error - 방어 투표 실패
- battle:chat:error - 채팅 전송 실패
- battle:team:vote:error - 팀 투표 실패
- battle:user:skip:error - 스킵 요청 실패
* feat: 팀 변경 Sentry Breadcrumb 추가
- battle:team:updated 이벤트에 breadcrumb 추가
* fix : OauthStore에서 유저 토큰이 없는경우 리프레시 토큰을 받아오는 로직 제거
* test: Vitest테스트 환경에 sentry 모킹 설정 추가
* test : 임시 문제되는 테스트 제거1 parent a0712e9 commit fc27f5f
File tree
20 files changed
+409
-112
lines changed- frontend
- src
- commons
- apis
- components/ErrorBoundary
- hooks
- stores
- test
- types
- pages
- battlePage/hooks
- errorPage
- teamSelectPage
- sdk
- test/mocks
20 files changed
+409
-112
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
| 2 | + | |
| 3 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
17 | | - | |
| 17 | + | |
18 | 18 | | |
| 19 | + | |
19 | 20 | | |
20 | 21 | | |
21 | 22 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
| 3 | + | |
3 | 4 | | |
4 | 5 | | |
5 | 6 | | |
| |||
15 | 16 | | |
16 | 17 | | |
17 | 18 | | |
18 | | - | |
19 | 19 | | |
20 | 20 | | |
21 | | - | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
22 | 24 | | |
23 | 25 | | |
24 | 26 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | | - | |
3 | 2 | | |
4 | 3 | | |
5 | 4 | | |
| |||
44 | 43 | | |
45 | 44 | | |
46 | 45 | | |
47 | | - | |
48 | | - | |
49 | | - | |
50 | | - | |
51 | | - | |
52 | | - | |
53 | | - | |
54 | | - | |
55 | | - | |
56 | | - | |
57 | | - | |
58 | | - | |
59 | | - | |
60 | | - | |
61 | | - | |
62 | | - | |
63 | | - | |
64 | | - | |
65 | | - | |
66 | | - | |
67 | | - | |
68 | | - | |
69 | | - | |
70 | | - | |
71 | | - | |
72 | | - | |
73 | | - | |
74 | | - | |
75 | | - | |
76 | | - | |
77 | | - | |
| 46 | + | |
78 | 47 | | |
79 | 48 | | |
80 | 49 | | |
| |||
88 | 57 | | |
89 | 58 | | |
90 | 59 | | |
| 60 | + | |
91 | 61 | | |
92 | 62 | | |
93 | 63 | | |
| |||
Lines changed: 0 additions & 42 deletions
This file was deleted.
Lines changed: 24 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
| 2 | + | |
2 | 3 | | |
3 | 4 | | |
4 | 5 | | |
5 | 6 | | |
| 7 | + | |
6 | 8 | | |
7 | 9 | | |
8 | 10 | | |
| |||
28 | 30 | | |
29 | 31 | | |
30 | 32 | | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
31 | 55 | | |
32 | 56 | | |
33 | 57 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | | - | |
| 10 | + | |
| 11 | + | |
11 | 12 | | |
12 | 13 | | |
13 | 14 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
69 | 69 | | |
70 | 70 | | |
71 | 71 | | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
72 | 79 | | |
73 | 80 | | |
74 | 81 | | |
| |||
98 | 105 | | |
99 | 106 | | |
100 | 107 | | |
| 108 | + | |
101 | 109 | | |
102 | | - | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
103 | 127 | | |
104 | 128 | | |
105 | 129 | | |
| |||
114 | 138 | | |
115 | 139 | | |
116 | 140 | | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
117 | 145 | | |
118 | 146 | | |
119 | 147 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
66 | 66 | | |
67 | 67 | | |
68 | 68 | | |
69 | | - | |
70 | | - | |
71 | | - | |
72 | | - | |
73 | | - | |
74 | | - | |
75 | | - | |
76 | | - | |
77 | | - | |
78 | | - | |
79 | | - | |
80 | | - | |
81 | | - | |
82 | | - | |
83 | | - | |
84 | | - | |
85 | | - | |
86 | | - | |
| 69 | + | |
87 | 70 | | |
88 | 71 | | |
89 | 72 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
| 12 | + | |
12 | 13 | | |
0 commit comments