IDE에서 골든 시그널를 사용한 앱 성능 향상

New Relic CodeStream의 코드 레벨 메트릭 소개

Published 7분 소요

작년에 뉴렐릭은 통합 개발 환경(IDE)에서 바로 실시간 코드 검토, 피드백, 주석 및 계측을 가능하게 만들어 IDE를 강화해주는 IDE 확장 프로그램 New Relic CodeStream을 출시했습니다. New Relic CodeStream은 현재 Visual Studio, Visual Studio 코드 및 JetBrain에서 사용할 수 있습니다.

CodeStream은 또한 뉴렐릭과 통합되어 코드 컨텍스트에서 텔레메트리 데이터를 자동으로 필터링할 수 있도록 해줍니다. 통합을 하면, IDE에 열려 있는 코드와 오류 데이터를 함께 확인할 수 있기 때문에, 더 쉽게 코드의 성능을 모니터링하고 실시간 데이터를 기반으로 오류를 해결할 수 있습니다.

오늘 뉴렐릭은 CodeStream과 뉴렐릭의 통합에 코드 레벨 메트릭을 포함시켰다고 발표했습니다. 이 메트릭은 코드와 함께 골든 시그널에 관한 다양한 데이터를 제공해주는 새로운 기능입니다.

두 개의 화면 중 한 개는 뉴렐릭 대시보드를 다른 화면은 IDE의 코드를 보여 주는 스크린샷

IDE에서 바로 코드 레벨 메트릭에 액세스

이제 뉴렐릭의 대시보드 모니터링 역량과 CodeStream IDE 확장을 결합함으로써, 코드 함수를 더 자세히 살펴볼 수 있습니다. 코드 레벨 메트릭으로 함수에 대한 옵저버빌리티를 즉시 확보할 수 있습니다.

분산 추적을 사용하면, 몇 가지 속성이 스팬 데이터에 자동으로 첨부되므로, IDE에 Google의 골든 시그널 정보를 매끄럽게 표시할 수 있습니다. 리포지토리에 있는 계측 함수의 경우, 정보를 IDE에서 직접 가져올 수 있습니다. 이 예시는 IDE에서 함수 바로 위에 응답 시간, 처리량 및 오류율이 텍스트로 표시되는 것을 보여 줍니다.

이 예시는 함수를 선택하고 응답 시간, 처리량 및 오류율에 대한 세부 정보를 볼 수 있는 IDE의 패널을 보여 줍니다.

이러한 골든 시그널을 사용하면, 코드에서 오류 속도, 레이턴시, 트래픽 및 포화 상태를 향상시킬 수 있는 기회를 식별할 수 있습니다. 모든 것을 IDE에서 직접 확인할 수 있다는 추가적인 이점이 있으며, CodeStream을 통해 통신할 때 이러한 신호에 대한 보다 중요한 컨텍스트를 코드베이스에 추가할 수 있습니다. 

표시된 함수와 가장 관련이 있는 정보를 파악하기 위해 특수 필터를 적용하거나 수많은 데이터 스트림의 구문을 분석할 필요가 없습니다. CodeStream 통합은 텔레메트리 데이터를 자동으로 필터링하여, 가장 최근에 선택한 함수형 코드와 매치되는 인사이트가 담긴 창을 IDE에 제공합니다. 

코드 레벨 메트릭은 코딩 위치로 뉴렐릭의 역량을 직접 가져올 수 있는 완전한 옵저버빌리티 에코시스템을 향한 여정의 시작에 불과합니다.

지금 바로 코드 레벨 메트릭으로 시작해 보십시오

CodeStream을 사용해 코드 레벨 메트릭을 시작하려면, Python 에이전트를 업데이트하거나 설치해야 하고, IDE가 최신 CodeStream 확장을 지원 및 사용해야 합니다.

1. Python 에이전트를 업데이트합니다.

에이전트를 설치하거나 업데이트하려면 IDE에서 다음 명령을 실행합니다. 

  • 에이전트를 업데이트하려면, pip install -- upgrade newrelic 명령을 실행합니다.
  • 에이전트를 설치하려면, pip install newrelic 명령을 실행합니다.
  • 설치 중에 휠 구축 문제가 발생하는 경우, --no-use-pep517 플래그를 사용합니다.

올바른 Python 에이전트가 설치되었는지 확인하려면 다음 단계를 따릅니다.

  • New Relic One에서 APM 서비스에 대한 환경 탭(왼쪽 메뉴 표시줄의 설정 하단)으로 이동합니다.
  • 에이전트 버전이 7.10.0.175(또는 최신 버전)로 표시되는지 확인합니다.

2. CodeStream 확장을 설치합니다

IDE의 마켓플레이스로 이동하여 VS Code 또는 JetBrains IDE의 다른 확장을 설치하는 것과 같은 방식으로 CodeStream 확장을 설치할 수 있습니다. 최신 버전(v12.12 이상)을 실행하고 있어야 합니다.

3. CodeStream 계정을 신청합니다.

아직 CodeStream을 사용하고 있지 않은 경우, 계정을 만들어야 합니다.

CodeStream은 다양한 계정 등록 옵션을 제공하지만 Sign up with New Relic(뉴렐릭으로 등록하기)을 선택하는 것이 좋습니다. 그러면 CodeStream에 등록하고 New Relic One 계정을 연결하는 것을 한 단계에서 완료할 수 있습니다.

이미 기업 내에 CodeStream을 사용하고 있는 직원이 있는 경우, 새 조직을 만드는 대신 이미 생성된 CodeStream 조직으로 새로운 사용자를 초대해야 합니다.

기업의 CodeStream 관리자가 회사 이메일로 등록하는 모든 직원을 초대 없이 기존 조직에 추가할 수도 있습니다. 이 경우, 등록 후 가입할 수 있는 해당 조직 목록이 표시됩니다.

CodeStream 계정 만들기 창 스크린샷

Sign up with New Relic을 선택하면, 뉴렐릭의 사용자 API 키를 입력하라는 메시지가 표시됩니다. 사용자 API 키를 생성하려면 여기를 클릭하십시오.

CodeStream 등록 시 뉴렐릭 사용자 API 키 입력 스크린샷

4. 뉴렐릭에 연결합니다.

뉴렐릭 이외의 등록 옵션을 선택한 경우, 등록 완료 후 뉴렐릭에 연결해야 합니다. CodeStream 창의 Observability 섹션에서 Connect to New Relic One 버튼을 클릭하면 됩니다.

CodeStream 설정 뉴렐릭에 연결 버튼 스크린샷

5. 리포지토리를 Python 서비스와 연결합니다.

이제 CodeStream 창의 Observability 섹션에 IDE에 열려 있는 모든 리포지토리 목록이 표시됩니다. 통합하려는 리포지토리가 열려 있는지 확인합니다. 목록에 있는 경우, New Relic One 계정에서 상응하는 APM 서비스를 선택할 수 있습니다. 이 스크린샷의 hello-ny 예시를 참조하십시오.

New Relic Codestream의 Python 서비스와 리포지토리를 연결하는 예시 스크린샷

이 리포지토리와 통신하는 서비스가 여러 개 있는 경우(예: 다른 환경의 다른 서비스), 뉴렐릭의 Service Summary 페이지로 이동하여 오른쪽 하단에 있는 Repositories 섹션을 찾아 추가적인 repo<>service 연결을 생성할 수 있습니다.

repo<>service 연결을 생성하면, Observability 섹션에 해당 서비스에 대한 최근 오류가 표시되는 것을 볼 수 있습니다.

6. Python 프로젝트를 오픈합니다.

그런 다음, IDE에서 뉴렐릭의 계측 서비스와 통신하는 Python 프로젝트를 엽니다. Visual Studio를 사용하는 경우, 골든 시그널이 계측된 메서드 위에 CodeLens로 나타나는 것을 볼 수 있습니다.

IDE에서 직접 골든 시그널을 보여 주는 스크린샷

골든 시그널을 선택하면 보다 자세한 내용을 볼 수 있습니다.

현재 IDE에 열려 있는 리포지토리가 뉴렐릭 리포지토리의 서비스와 연결되어 있지 않으면, 리포지토리를 뉴렐릭 리포지토리에 연결하라는 메시지가 표시됩니다.