Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
➕ 이슈 번호
🔎 작업 내용
이 풀 리퀘스트는 백엔드 애플리케이션의 WebSocket 이벤트와 서비스 메서드에 대한 포괄적인 로깅 및 추적 기능을 도입합니다. 변경 사항에는 소켓 이벤트를 로깅하기 위한 새로운 인터셉터와 메서드 호출 및 실행 시간을 추적하기 위한 데코레이터 구현이 포함됩니다.
주요 변경 사항:
로깅 및 추적 구현:
BE/src/common/interceptor/SocketEventLoggerInterceptor.ts
: WebSocket 이벤트와 서비스 메서드 호출을 로깅하기 위한SocketEventLoggerInterceptor
추가.AsyncLocalStorage
를 사용하여 추적 컨텍스트를 관리하는TraceStore
와TraceContext
클래스 도입. 서비스 메서드와 클래스를 추적하기 위한Trace
와TraceClass
데코레이터 구현.WebSocket 게이트웨이 통합:
BE/src/game/game.gateway.ts
: 소켓 이벤트를 로깅하기 위해 WebSocket 게이트웨이에SocketEventLoggerInterceptor
통합. 테스트 목적으로 느린 이벤트를 시뮬레이션하고 로깅하기 위한 새로운handleSlowEvent
메서드 추가.서비스 클래스에서의 추적:
BE/src/game/service/game.chat.service.ts
: 모든 메서드의 추적을 활성화하기 위해GameChatService
클래스에TraceClass
데코레이터 적용.BE/src/game/service/game.room.service.ts
: 메서드 추적을 위해GameRoomService
클래스에TraceClass
데코레이터 적용.BE/src/game/service/game.service.ts
:GameService
클래스에TraceClass
데코레이터를 적용하고, 실행을 추적하기 위해longBusinessLogic
메서드에Trace
데코레이터 적용.BE/src/game/service/quiz.cache.service.ts
: 메서드 호출을 추적하기 위해QuizCacheService
클래스에TraceClass
데코레이터 적용.🖼 참고 이미지
🎯 리뷰 요구사항 (선택)
✅ Check List