네 가지 골든 시그널인 응답 시간, 처리량, 오류율 및 포화도를 모니터링하는 경우, 애플리케이션의 상태와 성능에 대한 개요를 빠르게 확인할 수 있습니다. 기존에는 이러한 메트릭은 운영, 데브옵스 또는 사이트 안정성 엔지니어링(SRE) 팀의 영역이었습니다. 하지만 이러한 서비스를 위한 코드를 작성하는 애플리케이션 개발자는 어떨까요?

코드의 성능을 이해하고 고객 문제를 해결하려면, 서비스와 시스템 레벨에서 코드 내 메서드까지 골든 메트릭을 보여 주는 풍부한 컨텍스트와 옵저버빌리티 솔루션이 필요합니다. 코드 레벨 메트릭과 서비스 레벨 텔레메트리를 통해, 애플리케이션에 영향을 미치는 서비스와 코드 라인을 확인할 수 있습니다.

코드 레벨 메트릭

뉴렐릭 CodeStream IDE 확장 프로그램은 코드 레벨 메트릭에 대한 보편적이고 상시 사용할 수 있는 뷰를 제공하여, 개발자의 일상 업무에 소프트웨어 역량을 제공합니다. 애플리케이션 서비스에 적용할 수 있는 세 가지 골든 메트릭은 코드의 각 메서드 위에 CodeLens라 불리는 텍스트 줄로 표시되며, 뉴렐릭 APM 에이전트에 의해 자동으로 계측됩니다.

이 예는 응답 시간, 처리량 및 오류율의 골든 시그널을 보여줍니다.

각 메트릭을 시각화하는 차트 세트를 위한 CodeLens 를 선택합니다. 또한 뉴렐릭의 APM 서비스 요약 페이지를 클릭하면 더 많은 인사이트를 얻을 수 있습니다.

무엇보다도, 표시되는 코드 레벨 메트릭에 대한 서비스를 변경할 수도 있습니다. 이를 통해 스테이징이나 QA 같은 여러 다른 환경에서 코드가 어떻게 실행되는지 확인할 수 있으므로 성능 문제에 보다 선제적인 접근 방식을 취할 수 있습니다. 문제가 운영 환경에 영향을 미치지 않도록 만들 수 있습니다.

IDE에 표시되는 코드 레벨 메트릭에 대한 서비스 변경 스크린샷

서비스 레벨 텔레메트리

실제 코드의 성능을 확인하는 것은 일상적인 작업에서 가장 중요한 부분일 수 있지만, 더 큰 그림을 볼 필요가 있습니다. 이를 위해 스스로에게 이런 질문을 해봐야 합니다.

  • 내 코드로 구축된 서비스는 어떻게 실행되고 있는가?
  • 내 코드와 관련된 서비스들은 어떻게 실행되고 있는가?

인시던트가 발생하지 않는 한 개발자는 이러한 상황을 마주할 일이 거의 없습니다.

CodeStream의 옵저버빌리티 섹션은 이렇게 오래된 접근 방식을 바꾸어줍니다. 통합 개발 환경(IDE)에 열려 있는 리포지터리와 관련된 서비스의 골든 메트릭을 한눈에 확인할 수 있으며, 클릭 한 번으로 서비스를 호출하거나 호출하는 서비스에 대한 메트릭을 살펴볼 수 있습니다.

이 스크린샷은 응답 시간, 처리량 및 서비스의 오류율, 호출 서비스 및 호출되는 서비스의 예를 보여줍니다.

 

서비스와 그 서비스가 호출하는 서비스 및 해당 서비스가 호출되는 서비스의 메트릭 스크린샷

서비스 레벨 텔레메트리를 통해, 통합 개발 환경(IDE)에서 바로 총체적인 뷰를 확보할 수 있습니다.

CodeStream 비디오 지침

이 기능에 대한 간단한 설명은 아래의 Nerd Bytes 비디오를 참조하십시오.

간단하게 시작할 수 있는 코드 레벨 메트릭

시작하려면 다음 지침을 따르십시오. 코드 레벨 메트릭은 현재 Python, Ruby, .NET 및 Go에 대해 지원됩니다. Java 지원은 프라이빗 프리뷰로 제공되므로, 참여를 원하시면 codestream@newrelic.com으로 연락하십시오. PHP 및 Node.js 지원은 곧 제공될 예정입니다!

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

APM 에이전트를 코드 레벨 메트릭을 지원하는 버전으로 업데이트합니다.

  • NET - 버전 9.9.0 이상
  • Python - 버전 7.10.0.175 이상
  • Ruby - 버전 8.10.0 이상
  • Go - 버전 3.18.0 이상

NETGo의 경우, 에이전트 설정에서 코드 레벨 메트릭을 활성화해야 합니다.

2. CodeStream 확장을 설치합니다.

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

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

확장을 설치한 후, 이미 뉴렐릭 사용자인 경우에도 CodeStream 계정을 생성하라는 메시지가 표시됩니다.

CodeStream은 다양한 계정 등록 옵션을 제공하지만 Sign up with New Relic(뉴렐릭으로 등록하기)을 선택하는 것이 좋습니다. 그러면 한 단계로 CodeStream에 등록하고 뉴렐릭 계정에 연결할 수 있습니다. 뉴렐릭 사용자 API 키를 입력하라는 메시지가 표시됩니다.

4. 리포지토리를 사용하는 APM 서비스와 연결합니다.

코드 레벨 메트릭을 확인할 APM 서비스와 통신하는 통합 개발 환경에서 리포지토리를 엽니다. 리포지토리가 APM 서비스와 연결되어 있지 않은 경우, CodeStream의 옵저버빌리티 섹션에 연결을 구축하라는 메시지가 표시됩니다.

CodeStream 계정 만들기 창 스크린샷

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

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

5. 파일을 열고 각 CodeLens를 찾습니다.

리포지토리에서 소스 파일을 열고 계측된 각 메서드 위에 있는 CodeLens에서 골든 메트릭을 찾습니다.

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