CodeStream을 사용한 오류 검색 및 디버깅

오류 데이터를 자동으로 필터링하여 문제를 빠르게 해결해주는 CodeStream

Published 5분 소요

뉴렐릭은 2021년 10월 New Relic CodeStream 을 출시했습니다. 이제 CodeStream의 생산성 및 옵저버빌리티 역량이 뉴렐릭의 오류 추적 솔루션인 에러스 인박스(errors inbox)기능과 결합되었습니다. 

CodeStream IDE 확장 프로그램은 GitHub 및 GitLab 같은 툴과 원활하게 통합되어, 통합 개발 환경(IDE)에서 pull 요청을 관리하고 새 분기를 시작하며, 코드 검토를 요청할 수 있도록 해줍니다. 에러스 인박스와 함께 사용하면, IDE에 바로 뉴렐릭의 다양한 오류 데이터를 확인할 수 있습니다. CodeStream은 현재 IDE에 열려 있는 코드를 기반으로 오류 데이터를 자동으로 필터링할 수 있습니다.

New Relic CodeStream으로, 간단하게 오류를 추적하고 우선순위를 정해 해결할 수 있습니다. 팀원들과 공동으로 문제 진단 전략에 대해 작업을 하고, 로그나 기타 성능 데이터를 분석할 때 여러 다른 툴 간에 컨텍스트를 전환할 필요가 없습니다. 코드 내에서 오류와 문제에 대해 더 잘 이해하고 우선순위를 지정함으로써, 기술 팀은 모든 스프린트에서 기술 부채를 줄이고 엔드유저에 영향을 미치기 전에 중요한 오류를 효율적으로 해결할 수 있습니다.

IDE에서 오류를 검색하고 해결하는 방법

1. IDE에 CodeStream 확장을 설치합니다. (VS Code, Visual Studio 및 JetBrain에 사용 가능)

2. 오류 데이터 수신을 시작하려면, CodeStream 퀵스타트 통합을 사용해 뉴렐릭에 연결하거나, IDE에서 CodeStream 패널의 Observability 섹션에 있는 'Connect to New Relic One'을 선택합니다. 그런 다음 현재 작업 중인 서비스에서 발생하는 오류를 확인하고, CodeStream 개발 도구 통합과 협업 기능을 활용할 수 있습니다.

 

 

3. 뉴렐릭에서 오류를 선택하면 해당 오류에 대한 추가 정보를 볼 수 있습니다. 여기에서 스택 트레이스를 둘러보고 오류가 발생한 파일과 코드 줄로 직접 이동할 수 있습니다. 아래의 예시 스크린샷에서는 배포 시점에서 프로세스 하나가 실패했음을 알 수 있습니다. 호출 스택을 살펴보면, 청구 서비스에 대한 호출로 인해 오류가 발생했다는 것을 확실하게 볼 수 있습니다

4. 오류에 대한 더욱 자세한 맥락을 얻고 좀 더 심층적으로 분석하려면, 오류 제목을 선택하여 뉴렐릭으로 바로 이동합니다.

예를 들어, 이전 단계에서 표시된 RuntimeError를 분석하려는 경우, 해당 오류 제목을 선택하기만 하면 뉴렐릭의 에러스 인박스로 바로 이동됩니다. 여기에서 모든 관련 트랜잭션의 특성과 메타데이터는 물론 주변 로그와 오류가 발생한 시기 및 위치에 대한 집계 측정치 등 문제가 되는 개별 오류 인스턴스에 대한 다양한 정보에 액세스할 수 있습니다.

5. 뉴렐릭에서 충분한 정보를 수집했으면, Open in IDE 버튼을 선택하여 코드로 돌아갑니다. 여기서 태그할 동료를 지정하고, 검토 중인 코드 줄에 주석을 달며, 수정 작업을 위해 협업할 수 있습니다.

팀원들과 해결책을 찾아 구현한 경우, 에러스 인박스의 오류 워크플로우 관리 기능을 사용해 티켓 상태를 업데이트하고 오류를 ‘해결됨(Resolved)’ 상태로 표시할 수 있습니다.

CodeStream의 다양한 혜택

CodeStream의 또 다른 혜택은 CodeStream을 사용해 워크플로우를 개선하는 9가지 방법을 확인해 보십시오. CodeStream은 방해 요소를 제한할 수 있는 강력한 도구이며, Jira, GitHub 및 Slack과의 통합을 통해 기존 워크플로우에 포함시킬 수도 있습니다 .

또한 IDE에서 바로 팀원들과 코드에 대해 토론할 수 있도록 해주는 강력한 협업 기능도 지원합니다. 토론 내용이 코드와 함께 저장되므로 팀은 시간이 지나면서 지식 기반을 구축할 수 있습니다. 지식 기반은 개발 팀이 주석이 달린 코드 베이스를 사용해 작업하고 있음을 의미하며, 이는 특히 새로운 개발자가 빠르게 생산성을 높이는 데 도움을 줍니다.