• 로그인

사용자의 편의를 위해 제공되는 기계 번역입니다.

영문본과 번역본이 일치하지 않는 경우 영문본이 우선합니다. 보다 자세한 내용은 이 페이지를 방문하시기 바랍니다.

문제 신고

CodeStream을 사용한 성능 모니터링

New Relic CodeStream을 사용하면 개발자가 IDE에 관찰 가능성을 가져오고 일상의 일부로 만들어 자신이 담당하는 코드가 프로덕션 환경에서 어떻게 수행되고 있는지 확인할 수 있습니다.

CodeStream과 New Relic 연결

IDE에서 관찰 가능성에 액세스하려면 New Relic 사용자 키를 통해 CodeStream을 New Relic에 연결해야 합니다( New Relic 사용자 키 대해 자세히 알아보기).

사용자 키로 CodeStream을 New Relic에 연결하여 IDE에 관찰 가능성을 가져옵니다.

사용자 키가 있으면 CodeStream의 관찰 가능성 섹션에서 새 유물에 연결을 클릭한 다음 사용자 키를 붙여넣고 새 유물에 연결을 클릭합니다. New Relic 사용자 키를 사용하여 CodeStream에 가입했다면 이미 연결된 것입니다.

CodeStream에서 관찰 기능을 사용하려면 New Relic 사용자 유형의 핵심 사용자 또는 전체 플랫폼 사용자 가 있어야 합니다.

리포지토리를 New Relic 엔터티와 연결

CodeStream에서 사용할 수 있는 원격 분석 데이터는 상황에 따라 다릅니다. 즉, IDE에서 연 코드와 모두 관련이 있습니다. 이를 위해 CodeStream은 사용자가 연 리포지토리에 의해 구축된 New Relic의 엔터티를 알아야 하며 이러한 연결을 만드는 방법에는 여러 가지가 있습니다.

연결이 없는 경우 CodeStream에서 연결을 만들라는 메시지를 표시하는 경우가 있습니다. 예를 들어, CodeStream의 New Relic에서 오류를 보려고 하고 오류가 속한 엔터티가 리포지토리와 연결되어 있지 않은 경우 CodeStream은 적절한 리포지토리를 식별하도록 요청합니다. CodeStream 창의 관찰 가능성 섹션에는 IDE에서 연 모든 리포지토리에 대한 연결을 수행하라는 메시지도 표시됩니다.

메시지가 표시될 때 즉시 이러한 연결을 만드는 것이 시작하기에 좋은 방법이지만, 다음 방법 중 하나를 사용하는 것이 지속적인 수동 작업을 덜 필요로 하고 잘못 구성된 원격 URL과 같은 최종 사용자 실수의 가능성을 제거하기 때문에 권장합니다. 이러한 방법에는 리포지토리를 여러 엔터티와 연결할 수 있다는 추가 이점이 있습니다. 예를 들어 다른 환경(예: 프로덕션, 스테이징)을 나타내는 다른 엔터티가 있을 수 있으며 모두 동일한 저장소와 연결될 수 있습니다.

다음 방법 중 하나로 SSH 또는 HTTPS 형식으로 원격 URL을 지정할 수 있습니다.

  • git@github.com:newrelic/beta-docs-site.git
  • https://github.com/newrelic/beta-docs-site.git

주의

다른 프로토콜을 사용하는 경우 동일한 GitHub 리포지토리를 두 번 이상 추가할 수 있습니다. UI는 이에 대해 경고하지만 그렇게 하는 것을 막지는 않습니다.

예를 들어, https://github.com/tuna/repogit@github.com:tuna/repo 은 프로토콜이 다른 동일한 저장소입니다.

IDE의 관찰 가능성

CodeStream의 관찰 가능성 섹션 을 통해 개발자는 자신이 담당하는 코드와 관련된 오류를 IDE에서 바로 발견할 수 있습니다. 할당된 오류 외에도 New Relic APM 에이전트가 모니터링하는 서비스와 연결된 IDE에서 연 각 리포지토리에 대한 최근 오류가 나열됩니다.

IDE에서 열린 리포지토리와 관련된 최근 오류를 확인하세요.

오류를 클릭하여 세부정보를 보고 공동작업을 시작하세요 .

New Relic의 여러 엔터티와 연결된 저장소가 있을 수 있습니다. 이러한 경우 항목 간에 쉽게 전환할 수 있도록 리포지토리 이름 오른쪽에 드롭다운 목록이 표시됩니다.

오류를 확인하려는 엔터티를 선택합니다.

프로젝트가 New Relic에 의해 모니터링되지 않는 경우 관찰 가능성 섹션 의 제목에 있는 톱니바퀴 아이콘을 클릭한 다음 Instrument my App 을 선택하여 모니터링을 설정할 수 있습니다. CodeStream에는 Node JS, Java 및 .NET 프로젝트에 사용할 수 있는 설정 마법사가 있습니다.

코드 수준 측정항목

코드 수준 메트릭은 메서드 수준에서 코드가 어떻게 수행되고 있는지에 대한 자세한 통찰력을 제공합니다.New Relic .NET, Python 및 Ruby APM 에이전트가 자동으로 계측하는 각 방법에 대해 CodeLens라고 하는 각 방법 위에 삽입된 텍스트 줄을 통해 표시되는 황금 신호를 볼 수 있습니다.응답 시간, 처리량 및 오류율은 지난 30분 동안 표시됩니다.

코드 수준 메트릭은 Python/Ruby 프로젝트에서 계측된 각 메서드 위에 표시됩니다.

요구 사항

  • 분산 추적 을 활성화해야 합니다.
  • Python - 코드 수준 측정항목은 지원되는 Python 프레임워크 로 구현된 프로젝트에만 사용할 수 있습니다.VS Code를 사용하는 경우 언어 서버가 활성화된 상태로 Python 확장도 설치되어 있어야 합니다.
  • Ruby - 코드 수준 메트릭은 수동 추적이 있는 Rails 애플리케이션 및 Ruby 메서드에만 사용할 수 있습니다(자세한 내용은 여기 참조 ).Ruby 에이전트 구성에서 코드 수준 측정항목도 활성화 해야 합니다.VS Code를 사용하는 경우 언어 서버가 활성화된 상태로 Ruby 또는 Ruby Solargraph 확장이 설치되어 있어야 합니다.
  • .NET - 코드 수준 메트릭은 .NET 에이전트 구성에서 활성화 되어야 합니다.Visual Studio를 사용하는 경우 Tools > Options > Text Editor > All Languages > CodeLens 로 이동하고 "Enable CodeLens" 및 "Show CodeStream Code-Level Metrics"가 모두 선택되어 있는지 확인하여 CodeLense가 활성화되어 있는지 확인합니다.VS Code를 사용하는 경우 C# 확장이 설치되어 있어야 합니다.

각 황금 신호를 시각화하는 차트를 보려면 CodeLens를 클릭하십시오. 리포지토리가 New Relic의 여러 엔터티와 연결되어 있으면 해당 엔터티 간에 쉽게 전환할 수 있습니다. 이렇게 하면 편집기에 표시되는 황금 신호의 기반이 되는 엔터티가 변경됩니다.

차트 상단의 엔티티 이름을 클릭하면 New Relic에 대한 보다 자세한 서비스 수준 데이터를 볼 수 있습니다.

CodeLens 옵션

IDE 설정의 CodeStream 섹션을 통해 CodeLense가 표시되는 방식을 변경할 수 있습니다.

  • VS Code에서 설정으로 이동하여 "codestream"을 검색합니다.
  • JetBrains에서 Preferences/Settings > Tools > CodeStream 으로 이동합니다.

기본 CodeLens 형식은 다음과 같습니다.

avg duration: ${averageDuration} | throughput: ${throughput} | error rate: ${errorsPerMinute} - since ${since}

CodeStream: Show Golden Signals In Editor 설정을 선택 취소하여 CodeLense를 완전히 끌 수도 있습니다.

오류 조사

CodeStream은 IDE에서 연 코드에서 발생한 최근 오류를 보여주지만 New Relic의 오류 수신함 을 통해 보다 포괄적인 APM 오류 목록을 볼 수 있습니다. 스택 추적으로 특정 오류의 근본 원인을 조사할 준비가 되면 IDE에서 열기를 클릭하여 IDE의 코드로 직접 이동합니다.

해결을 위해 협력

일반적인 협업 세션에는 IDE의 코드에 대해 의견을 제시하는 개발자, 오류 받은 편지함에서 오류를 할당하는 DevOps 엔지니어, Slack을 따라가는 개발 관리자가 포함될 수 있습니다. CodeStream은 이미 사용 중인 도구에서 사람들을 만나 오류 검색과 오류 해결 사이의 시간을 단축합니다.

이 짧은 YouTube 비디오(약 2분 27초)를 보고 실제 작동을 확인하십시오.

관찰 가능성 섹션 에서 오류를 클릭했든 New Relic의 오류 받은 편지함 에서 IDE에서 열기를 클릭했든 CodeStream은 스택 추적을 포함한 모든 오류 세부 정보를 표시합니다.

스택 추적을 탐색하여 문제를 조사하십시오.

스택 추적에서 아무 프레임이나 클릭하면 IDE에서 해당 파일과 줄 번호로 바로 이동합니다. 저장소의 일부가 아닌 코드를 나타내는 스택 추적 프레임(예: 외부 라이브러리)은 클릭할 수 없습니다.

스택 추적을 탐색할 때 문제의 원인으로 보이는 코드를 발견하면 해당 코드를 선택하고 설명 아이콘을 클릭하여 토론을 시작하세요. CodeStream은 해당 코드를 터치한 가장 최근 사람을 자동으로 언급하므로 적절한 사람을 토론에 쉽게 참여시킬 수 있습니다.

편집기에서 코드를 선택하여 주석을 추가하세요.

  • 문제를 식별하면 CodeStream의 기존 팀원이나 리포지토리의 Git 커밋 기록을 기반으로 제안된 사람에게 오류를 할당할 수 있습니다.
  • 해결되지 않음에서 해결됨 또는 무시됨으로 오류 상태를 업데이트할 수 있습니다.
  • ... 추가 작업 메뉴를 사용하여 Slack 또는 Microsoft Teams에서 토론을 공유하세요.

빌드 SHA 또는 릴리스 태그를 오류와 연결

CodeStream에서 오류를 보고 오류와 연결된 빌드 SHA 또는 릴리스 태그인 git 참조가 없는 경우 이 경고가 표시될 수 있습니다. CodeStream은 git 참조를 사용하여 특정 스택 추적 오류를 오류를 트리거한 환경에서 실행 중인 코드 버전과 일치시킵니다. 오류를 조사하기 위해 git 참조를 구성할 필요는 없지만 오류를 일으킨 코드 버전을 보고 있지 않을 수 있다는 점을 염두에 두십시오.

git reference not configured 경고 메시지는 다음과 같습니다. Build SHA 또는 릴리스 태그를 오류와 연결하면 CodeStream이 올바른 버전의 코드를 보고 있는지 확인하는 데 도움이 될 수 있습니다.

환경 변수를 사용하여 New Relic APM 에이전트가 프로젝트의 각 빌드와 관련된 커밋 샤를 알 수 있도록 할 수 있습니다. 실행 중인 소프트웨어 버전과 연결된 릴리스 태그 를 사용할 수도 있습니다.

New Relic APM의 경우 커밋 샤 및/또는 릴리스 태그( tags.committags.releaseTag )가 TransactionTransactionError 이벤트의 속성으로 추가됩니다. APM 환경 변수를 사용하여 이러한 속성을 설정할 수 있습니다.

빌드 파이프라인의 일부로 이러한 변수 중 하나 또는 둘 다를 설정하는 것이 좋습니다.

  • NEW_RELIC_METADATA_COMMIT - 커밋 샤. 전체를 포함하거나 처음 7자만 포함할 수 있습니다(예: 734713b ).
  • NEW_RELIC_METADATA_RELEASE_TAG - 릴리스 태그(예: v0.1.209 또는 release-209 ). 사람이 읽을 수 있다는 장점이 있습니다.

이러한 변수를 설정하는 방법에 대한 자세한 내용은 각 언어에 대한 특정 구성 세부정보입니다.

git 참조를 구성한 경우 CodeStream은 로컬에 있는 코드 버전에 오류와 관련된 참조가 포함되어 있지 않은지 알려줍니다. 이 경우 오류를 보다 효과적으로 조사하고 해결할 수 있도록 해당 참조가 포함된 코드 버전을 확인해야 할 수 있습니다.

git reference not found 경고 메시지는 다음과 같습니다. 코드 버전이 오류를 트리거한 환경과 일치하지 않습니다. 오류를 더 잘 조사하려면 다음 참조를 가져오세요.

CodeStream은 오류에 연결된 스택 추적이 없는 경우에도 알려줍니다. 이것은 스택 추적이 New Relic에서 만료되었을 때 오래된 오류에서 발생합니다.

Pixie를 사용한 동적 로깅

Pixie를 사용한 동적 로깅을 사용하면 추가 로그 문으로 소스 코드를 계측하고, 다시 컴파일하고, 재배포할 필요 없이 프로덕션에서 Go 애플리케이션을 디버그할 수 있습니다. IDE에서 바로 함수 인수, 반환 값 및 대기 시간을 동적으로 캡처할 수 있습니다.

중요

동적 로깅은 현재 Go로 작성된 애플리케이션에서만 사용할 수 있으며 Pixie에서 모니터링하는 Kubernetes 클러스터 가 필요합니다.

로깅 세션을 시작하려면 Go 프로젝트에서 메소드 이름을 마우스 오른쪽 버튼으로 클릭하고 Pixie를 사용한 동적 로깅 을 선택합니다. New Relic 계정과 Kubernetes 정보(클러스터, 네임스페이스, 파드)를 선택한 후 1분에서 10분 범위의 로깅 세션을 시작할 수 있습니다.

모든 메소드 매개변수의 값이 실시간으로 캡처되기 시작하는 것을 볼 수 있습니다.

Copyright © 2022 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.