Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feat] #236 - Sentry Capture 코드 추가 #237

Merged
merged 2 commits into from
May 19, 2023

Conversation

lsj8706
Copy link
Member

@lsj8706 lsj8706 commented May 19, 2023

🌴 PR 요약

  • 지난 세미나에서 32기 활동 회원들이 앱을 사용했을 때 4명의 유저에게 메인뷰에서 네트워크 알럿이 보여지고 앱이 정상적으로 동작하지 않는 이슈가 있었습니다.
  • 물론, 정말 네트워크 에러로 인해 이 AlertVC가 나오는건 바람직하지만 현재 추정상 다른 이유로도 해당 알럿이 보여지고 정상적으로 앱이 동작하지 않는 것 같습니다.
  • 이전에 에러 핸들링을 하면서 네트워크 알럿뷰가 보여지게 되는 경우는 2가지로 설정했습니다. (엣지 케이스가 더 있을 수 있습니다.)
  1. 정말 네트워크 에러(모야 에러)
  2. Entity 디코딩 에러
  • 정확한 원인 파악을 위해 이번에 Sentry의 capture를 지난번에 구현한 에러 핸들링 코드들에 넣어서 어디서 문제가 생겼는지 파악하고자 합니다.

🌱 작업한 브랜치

🌱 PR Point

image

에러의 연관값 스트링도 받아와서 센트리에서 확인하고 싶은데 이걸 8.7.0 이후 버전부터 지원을 하는 거 같아요 저희가 사용하고 있는 버전은 8.5.0이구요! 이걸 8.7.0 이상으로 올리고 싶은데 왜 안될까요....

그래서 https://docs.sentry.io/platforms/apple/guides/ios/usage/?original_referrer=https%3A%2F%2Fwww.google.com%2F 우선 이 링크에 있는 것처럼 예전 방식인 Error Description을 에러 타입에 추가하여 센트리 홈페이지에서 텍스트를 확인할 수 있도록 했습니다..!

image

  • 이런식으로 나와요!

📮 관련 이슈

@lsj8706 lsj8706 added Feat 새로운 기능 구현 세진🤝🏻 labels May 19, 2023
@lsj8706 lsj8706 requested review from elesahich, 0inn, L-j-h-c and devxsby May 19, 2023 06:02
@lsj8706 lsj8706 self-assigned this May 19, 2023
@pull-request-size pull-request-size bot added size/M and removed size/S labels May 19, 2023
Copy link
Contributor

@0inn 0inn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

아예 8.7.0으로 버전업이 안되나요 ?
아니면 올려도 연관값 스트링이 안보이는 걸까요 ?
고생하셨습니다 ~ 👍🏻 에러 잡는 게 쉽지 않네요 ㅠ ㅠ

@@ -98,6 +98,7 @@ extension MainViewModel {
useCase.mainErrorOccurred
.sink { error in
output.isLoading.send(false)
SentrySDK.capture(error: error)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

현재 이 상황에서 연관값 스트링을 받아올 수 없는 상황인거죠 ?
그럼 이번에는 디코딩 오류인지 네트워크 오류인지를 파악할 수 있겠군요 . .

Copy link
Member Author

@lsj8706 lsj8706 May 19, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

저는 세팅을 잘못한건지 계속 8.6.0으로 받아져요 ㅜㅜ
혹시 다른 분들은 될지도 모르니 시간날 때 한번 테스트 해봐주세요..!

아 그리고! PR에 수정을 해놓았는데 연관값 스트링은 새로운 방식으로는 못받아오지만 Sentry 에서 예전버전부터 지원하던 기능이 있어서 그걸로 우선 적용시켰어요~! Error 타입에 getDebugDescription 함수를 추가해서 에러 스트링을 받아올 수 있도록 했어요!
그래서 PR에 있는 두번째 이미지 보면 "테스트 에러 타입2"라는 텍스트가 있는데 이게 .networkError(message: "테스트 에러 타입2")를 캡쳐해온 거에요! 신규 버전에서는 이 함수 없이 바로 연관값 스트링을 받아올 수 있나봐요

그래서 8.7.0으로 올릴 수 있으면 연관값을 바로 센트리로 보내는 게 더 편하고 확장성도 좋을 거 같아요..🥲

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

오 그래도 에러값 스트링으로 받아올 수 있어서 일단은 상관없을 것 같긴 하네요 ~!
image
저는 .upToNext("8.7.0")로 버전업하니 제대로 다운받아지는 것 같긴합니다 . .

Copy link
Member Author

@lsj8706 lsj8706 May 19, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

오잉.. tuist fetch 하신건가요? 저도 .upToNext("8.7.0")로 했는데 계속 8.6.0으로 가져요 ㅜ
image

image

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tuist clean 한번 해보실래요??

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

버전으로 인식이 안된다면 브랜치 또는 커밋넘버를 지정하는것도 가능합니당

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

음 . . tuist clean -> tuist fetch 해도 똑같나요 ?
똑같이 한 것 같은데 안되네요 🧐

Copy link
Member Author

@lsj8706 lsj8706 May 19, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tuist clean도 해봤는데 안됐어요!
이상하네...

우선 지금 적용한 방식으로도 에러 파악에는 문제가 없을 것 같고 지금 테스트 기간이 거의 없는데 억지로 버전 올렸다가 다른 사이드 이펙트가 생길수도 있으니 다음 업데이트 때 버전 올려보고 앱도 사용해보면서 그 다음에 처리해도 될 것 같아요!

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

시간이 많이 지났지만 Sentry 버전이 안 올라갔던 이유를 찾아서 기록용으로 남기겠습니다..!
tuist fetch -u 로 실행하면 최신 버전으로 업데이트가 되는 것을 확인했습니다.

참고 자료: https://baegteun.tistory.com/3
image

블로그 글 읽다가 우연히 발견해서 테스트해보니까 8.7.3으로 잘 올라가네요.

@lsj8706 lsj8706 merged commit ace6a6e into sopt-makers:develop May 19, 2023
@lsj8706 lsj8706 deleted the feat/#236-메인뷰-Sentry branch May 19, 2023 11:55
lsj8706 added a commit to lsj8706/SOPT-Stamp-iOS that referenced this pull request Dec 20, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feat 새로운 기능 구현 size/M 세진🤝🏻
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Feat] 메인 뷰 관련 Sentry 코드 추가
3 participants