CodeStream의 코드 레벨 메트릭을 통한 개발 수명 주기 최적화

개발 워크플로우에 대한 포괄적인 옵저버빌리티를 확보하고 통합 개발 환경(IDE)에서 작업 중인 애플리케이션에 대한 가시성을 높일 수 있습니다.

Published 8분 소요

개발 과정에서 발생하는 문제나 애플리케이션의 성능과 관련된 문제는 사후 대응적으로 해결되는 경우가 많아 엔지니어링 팀에게 많은 부담을 안겨줍니다. 뉴렐릭 CodeStream을 사용하면, 다른 팀이나 엔드 유저의 보고에 의존하지 않고 성능 관련 데이터에 액세스하여 문제를 더 빠르게 파악할 수 있습니다. 이제 개발 워크플로우에 옵저버빌리티를 통합하여 릴리스 시간을 단축할 수 있게 되었습니다.

뉴렐릭 CodeStream을 IDE에 통합하면, 일상적인 개발 작업에 영향을 주지 않으면서 코드의 성능을 더 잘 이해하고 애플리케이션 문제를 해결할 수 있습니다. IDE를 벗어나지 않고 작업 중인 환경에서 중요한 텔레메트리 데이터를 가장 세부적인 수준에서 액세스할 수 있습니다.

뉴렐릭 CodeStream은 다음과 같은 혜택을 제공합니다.

  • 코드 레벨 메트릭 - 응답 시간, 오류율 같은 텔레메트리 데이터를 메서드 수준에서 확인하며 개발 작업을 수행할 수 있습니다. 이는 코드베이스의 어떤 함수가 코드에 문제를 야기하는지 식별하는 데 도움이 됩니다.
  • 서비스 레벨 텔레메트리 - IDE에 열려 있는 리포지토리와 연관된 서비스들의 텔레메트리 데이터는 물론, 오류율과 응답 시간의 핵심 신호, 호출되는 서비스 등 오류와 취약점을 보다 빠르게 발견하는 데 필요한 서비스에 액세스할 수 있습니다. 

뉴렐릭 CodeStream이 실제로 어떻게 활용되는지 직접 확인해보십시오.

코드 레벨 메트릭을 통한 엔지니어링 가속화

소프트웨어 업계의 빠른 혁신은 팀의 업무 성과와 고품질 코드를 얼마나 빨리 제공할 수 있는지로 가늠합니다. CodeStream은 더 나은 코드를 더 짧은 시간에 배포하는 데 필요한 정보를 제공합니다. CodeStream IDE 확장 프로그램은 텔레메트리 데이터에 대한 상시 뷰를 제공하여 개발자의 일상적인 업무에 소프트웨어 성능을 더해줍니다. 응답 시간과 오류율을 보여주는 코드 레벨 메트릭은 IDE에서 코드의 각 메서드 위에 텍스트 줄로 표시되어 애플리케이션의 품질과 안정성을 향상하는 데 도움을 줍니다.

지난 30분 동안의 메트릭이 표시되며, 이 기간에 대한 샘플 사이즈도 포함됩니다.

또한 각 메트릭을 클릭하면 메트릭을 시각화한 일련의 차트가 표시됩니다. 또한 뉴렐릭의 APM 서비스 요약 페이지를 클릭하면 더 많은 인사이트를 얻을 수 있습니다.

한가지 예를 소개합니다.

메트릭을 가져올 서비스를 변경해 스테이징이나 QA 같은 하위 수준 환경에서 코드가 어떻게 수행되고 있는지 확인할 수 있기 때문에, 성능 문제에 대해 보다 선제적인 접근 방식을 취할 수 있습니다. 이러한 메트릭을 사용하면 고객과 수익에 영향을 미치기 전에 문제를 미리 파악하여 개발 수명 주기를 최적화할 수 있습니다.

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

데이터 기반 코드 검토로 전환

CodeStream을 사용하면 풀 요청과 피드백 요청에 대한 코드 레벨 메트릭을 diff 뷰에서 확인하고 보다 효과적으로 코드를 검토할 수 있습니다. 이러한 기능은 코드의 성능을 알려줌으로써 코드 검토 프로세스를 개선하고 롤아웃하는 코드의 우수성을 보장해줍니다.

Screenshot of code-level metrics in code diffs

성능 문제가 있는 경우, 풀 요청의 일부로 해결되도록 만들 수 있습니다. 코드가 이미 변경되었다면 지금이 성능 문제를 해결할 시기입니다. 사용자에게 영향을 주기 전에 쉽게 다시 보낼 수 있습니다.

서비스 레벨 텔레메트리를 통해 보다 빠르게 문제 식별 및 해결

각 메서드 위에 있는 코드 레벨 메트릭과 PR 및 피드백 요청에서 모든 서비스가 어떻게 연동되는지 확인할 수 있습니다. 서비스의 전반적인 상태를 보장하려면 발생할 수 있는 중요 인시던트를 신속하게 식별하고 대응할 수 있도록 모든 것이 서로 어떻게 작동하는지 ‘큰 그림’을 파악하는 것이 중요합니다.

지금까지는 IT/운영 팀에게 문제를 보고하는 것이 일반적인 접근 방식이었습니다. 뉴렐릭 CodeStream은 Observability 섹션에서 성능 정보에 액세스할 수 있도록 함으로써 기존 작업 방식을 바꿔놓았습니다.

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

이 섹션에서 다음 정보에 액세스할 수 있습니다.

  • Golden Metrics: 서비스의 작동 상태를 보여주는 응답 시간과 오류율의 주요 신호입니다.
  • Service Level Objectives: 서비스 성능과 정의된 서비스 수준 목표(SLO)를 비교해 보여줍니다.
  • Vulnerabilities: 뉴렐릭 취약점 관리가 리포지토리와 관련된 서비스에서 발견한 취약점이 표시됩니다.
  • Related Services: 서비스를 호출하거나 서비스에 의해 호출되는 모든 서비스에 대한 주요 메트릭을 보여줍니다.
  • Errors: 서비스에서 발생한 최근 오류를 보여줍니다. 스택 트레이스를 살펴보며 문제를 찾고 다른 팀원들과 협력하여 문제를 해결할 수 있습니다.

뉴렐릭 CodeStream 시작하기

시작할 준비가 되셨습니까? Python, Ruby, .NET, Java, PHP, node.js 및 Go가 포함된 프레임워크는 다음 지침에 따라 IDE에 CodeStream을 통합할 수 있습니다.

아직 뉴렐릭 계정이 없으신가요? 지금 무료 계정을 신청하세요.

1. 최신 APM 에이전트를 설치합니다.

코드 레벨 메트릭을 지원하는 APM 에이전트 버전을 설치하거나 업데이트할 때 뉴렐릭의 30여개 기능과 함께 CodeStream을 가져올 수 있습니다.

참고: Node.jsGo 에이전트의 경우, 에이전트 설정에서 코드 레벨 메트릭을 활성화해야 합니다.특정 에이전트의 요구 사항은 관련 문서를 확인하십시오.

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

IDE의 마켓플레이스로 이동하여 CodeStream 확장을 설치합니다. 최신 버전이 실행되고 있는지 확인합니다.

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

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

Sign up with New Relic을 선택합니다. New Relic User API Key를 입력하라는 메시지가 표시됩니다. API 키를 입력하면, CodeStream에 등록하고 뉴렐릭 계정에 연결할 수 있습니다.

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

IDE에서 코드 레벨 메트릭을 확인할 APM 서비스에 해당되는 리포지토리를 엽니다. 리포지토리가 APM 서비스와 연결되어 있지 않은 경우, CodeStream의 옵저버빌리티 섹션에 뉴렐릭 엔터티를 선택하고 리포지토리와 연관시키라는 메시지가 표시됩니다.

뉴렐릭 APM 서비스와 리포지토리를 연결하는 CodeStream의 옵저버빌리티 섹션 스크린샷

이 리포지토리에 여러 서비스(예: 환경에 따라 다른 서비스)가 연관될 수 있습니다. 뉴렐릭의 APM 서비스에 대한 Summary 페이지에서 추가적인 리포지터리 서비스를 연결할 수 있습니다. 오른쪽 하단의 Repositories 섹션으로 이동합니다.

뉴렐릭의 APM 서비스 요약 페이지 스크린샷

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

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

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