• /
  • EnglishEspañol日本語한국어Português
  • 로그인지금 시작하기

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

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

문제 신고

악기 바둑 부문

New Relic for Go를 사용하면 Go 애플리케이션에서 트랜잭션 의 특정 세그먼트를 모니터링하여 특정 기능 또는 코드 블록에 대한 자세한 정보를 얻을 수 있습니다.

기능 및 코드 블록의 시간 측정

Segments 애플리케이션 트랜잭션 의 특정 부분입니다. 로그된 세그먼트를 통해 외부 호출, 데이터스토어 호출, 대기열에 메시지 추가, 백그라운드 작업 등의 함수 및 코드 블록에 소요된 시간을 측정할 수 있습니다.

Example: 배송 정보와 신용 카드 정보를 모두 처리하는 결제 프로세스와 연결된 프로세서가 있습니다. 귀하는 해당 프로세서를 배송용 세그먼트 하나와 지불용 세그먼트 하나, 이렇게 두 부분으로 나누도록 강제할 수 있습니다.

코드 블록 세그먼트

트랜잭션을 계측하면 해당 트랜잭션 에서 하나 이상의 세그먼트를 계측할 준비가 된 것입니다.

임의의 코드 블록을 세그먼트로 계측하려면 다음 패턴을 사용하고 트랜잭션에 대해 설정된 변수 이름으로 txn 을 포함합니다.

segment := newrelic.Segment{}
segment.Name = "mySegmentName"
segment.StartTime = txn.StartSegmentNow()
// ... code you want to time here ...
segment.End()

StartSegment 편리한 도우미입니다. 세그먼트를 만들고 시작합니다.

segment := txn.StartSegment("mySegmentName")
// ... code you want to time here ...
segment.End()

기능 세그먼트

함수를 세그먼트로 계측하는 것은 본질적으로 임의의 코드 블록을 세그먼트로 계측하는 것과 동일합니다. 주요 차이점은 함수에 불연속적인 끝이 있기 때문에 Go의 defer 문 을 사용할 수 있다는 것입니다.

함수를 세그먼트로 계측하려면 함수 시작 부분에 다음 코드를 추가하고 트랜잭션에 대해 설정된 변수 이름으로 txn 을 포함합니다.

defer txn.StartSegment("mySegmentName").End()

네스트 세그먼트

세그먼트는 중첩될 수 있습니다. 종료되는 세그먼트는 가장 최근에 시작된 세그먼트여야 합니다.

다음은 다른 세그먼트 내에서 시작하고 끝나는 세그먼트의 예입니다.

s1 := txn.StartSegment("outerSegment")
s2 := txn.StartSegment("innerSegment")
// s2 must end before s1
s2.End()
s1.End()

값이 0인 세그먼트는 안전하게 종료될 수 있습니다. 따라서 다음 코드는 조건문이 실패하더라도 안전합니다.

var s newrelic.Segment
if recordSegment {
s.StartTime = txn.StartSegmentNow()
}
// ... code you wish to time here ...
s.End()

데이터 저장소 세그먼트

로그를 남기고 데이터 스토어를 호출할 수 있습니다. 데이터스토어 세그먼트는 뉴렐릭에 있는 APM Transactions breakdown Databases Transactions 페이지 의 테이블과 탭에 나타납니다.

MySQL, PostgreSQL 또는 SQLite 데이터베이스 드라이버를 사용하는 경우 Datastore 세그먼트를 추가하는 가장 쉬운 방법은 사전 구축된 통합 패키지를 사용하는 것입니다. 그렇지 않으면 각 데이터베이스 호출에 대해 Datastore 세그먼트를 수동으로 만들 수 있습니다.

외부 세그먼트

웹 서비스, 클라우드의 리소스 및 기타 네트워크 호출과 같은 외부 서비스에 대한 호출을 추가할 수 있습니다. 외부 세그먼트는 뉴렐릭의 Transactions breakdown 테이블과 External services 페이지 에 표시됩니다.

외부 세그먼트를 계측하는 두 가지 방법이 있습니다.

메시지 생산자 세그먼트

RabbitMQ 및 Kafka와 같은 대기열 시스템에 메시지를 추가하는 Go 기능을 호출할 수 있습니다. 메시지 생성자 세그먼트는 뉴렐릭의 APM Transactions breakdown 에 나타납니다.

메시지 생성자 세그먼트를 계측하는 방법은 한 가지뿐입니다.

Copyright © 2024 New Relic Inc.

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