• 로그인

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

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

문제 신고

iOS SDK API 가이드

iOS SDK API를 사용하여 맞춤 데이터를 추가합니다 . 예를 들어:

  • 자신의 코드를 계측합니다.
  • 모바일 앱의 이벤트에서 상호 작용 추적을 시작 및 중지합니다.
  • 맞춤 측정항목을 기록합니다.
  • 사용자 정의 속성 및 이벤트 보내기
  • 자동으로 지원되지 않는 라이브러리에서 네트워킹을 추적합니다.
  • 사용자 세션을 분석 이벤트 및 속성(iOS SDK 버전 5.9.0 이상 )과 연결하려면 Objective-C 또는 Swift 로 사용자 정의 식별자 값을 설정하십시오.

주의

추적은 크게 최적화되어 있지만 성능 오버헤드가 발생합니다. 수백 번 호출될 것으로 예상되는 계측 방법을 피하십시오.

SDK 설치

one.newrelic.com > Add more data 로 이동하고 iOS 지침에 따라 앱이 최신 iOS SDK로 계측되었는지 확인하십시오.

이 문서에는 다음에 대한 iOS SDK 계측 요구 사항이 포함되어 있습니다.

사용자 정의 속성 및 이벤트 에 사용 가능한 메소드에 대한 자세한 내용은 iOS SDK API 참조를 참조하십시오 . 다음에 대한 기능 플래그를 구성 할 수도 있습니다.

  • 오브젝티브-C
  • 빠른

자동으로 계측된 클래스 및 메서드

다음 메소드(목록에 있는 클래스 및 해당 하위 클래스에 대한)는 이미 New Relic에 의해 계측됩니다. 추적하기 위해 사용자 정의 계측을 추가할 필요가 없습니다.

클래스

New Relic이 자동으로 계측한 분석법

UIViewController

  • viewDidLoad:
  • viewWillAppear:
  • viewDidAppear:
  • viewWillDisappear:
  • viewDidDisappear:
  • viewWillLayoutSubviews:
  • viewDidLayoutSubviews:

UIImage

  • imageNamed:
  • imageWithContentsOfFile:
  • imageWithData:
  • imageWithData:scale:
  • initWithContentsOfFile:
  • initWithData:
  • initWithData:scale:

NSJSONSerialization

  • JSONObjectWithData:options:error:
  • JSONObjectWithStream:options:error:
  • dataWithJSONObject:options:error:
  • writeJSONObject:toStream:options:error:

NSManagedObjectContext

  • executeFetchRequest:error:
  • processPendingChanges

에이전트는 다양한 방법에 대한 성능을 Interactions 페이지 에 표시되는 요약 메트릭으로 집계합니다. 요약 범주에는 다음이 포함됩니다.

  • View loading
  • UI layout
  • Database
  • Images
  • JSON
  • Network

Objective-C 코드 계측

상호작용 코드 분석 및 타임라인에 자신의 Objective-C 코드를 표시하려면 메서드 시작 부분에 _START 호출을 추가하고 메서드 끝에 _STOP 호출을 추가하세요.

중요

_START 에 대해 항상 _STOP 를 포함하고 주어진 메소드에 이러한 명령 세트를 하나만 포함합니다. 추적 시스템은 자동으로 클래스와 메서드 이름을 선택하고 메서드에 대한 성능 메트릭을 New Relic에 보고합니다.

- (void)myMethod
{
NR_TRACE_METHOD_START(0);
// … existing code
NR_TRACE_METHOD_STOP;
}

ARC를 사용하지 않는 경우 이 버전의 _STOP 매크로를 사용하여 메모리 누수를 방지하세요.

NR_NONARC_TRACE_METHOD_STOP;

메서드의 성능이 APM 개요 페이지의 요약 데이터에 포함되도록 하려면 NRTraceType 열거형 값 중 하나를 _START 매크로에 전달합니다. 예를 들어:

NR_TRACE_METHOD_START(NRTraceTypeDatabase);

Objective-C: 맞춤 속성 및 이벤트 보고

NewRelic 개체의 메서드를 사용하여 사용자 지정 속성 및 이벤트를 보고합니다 . Objective-C에서 사용자 정의 속성 및 이벤트에 사용할 수 있는 방법에 대한 자세한 내용은 iOS SDK API 참조를 참조 하세요.

BOOL 결과를 반환하는 메서드는 성공하면 YES 을 반환하고 작업이 완료되지 않으면 NO 를 반환합니다. 이 메서드는 New Relic iOS SDK 버전 5.0.0 이상에서 사용할 수 있습니다.

SDK는 한 번에 최대 128개의 사용자 정의 사용자 정의 속성 을 저장할 수 있습니다. 128개 이상의 속성을 저장하려고 하면 SDK가 NO 을 반환합니다.

사용자 정의 속성 이름은 필요한 가장 간단한 형식을 사용해야 하며 New Relic은 공백을 포함하지 않는 단일 단어 속성을 권장합니다. 속성 구문 은 낙타의 경우 형식을 지정할 수 있으므로 My Custom AttributemyCustomAttribute 로 지정하는 것이 좋습니다. 맞춤 측정항목과 마찬가지로:

  • 이름을 지정할 때 / ] [ | * 문자를 사용하지 마십시오.
  • 다중 바이트 문자를 피하십시오.

Objective-C: 맞춤형 네트워크 요청 추적

트랜잭션 네트워크 요청을 HTTP 요청과 유사한 용어로 표현할 수 있다면 추적할 수 있습니다. 잘 구성된 URL을 사용하고 매우 가변적인 경로나 호스트 이름을 포함하지 않습니다.

완료 되는 요청의 경우 다음 방법을 사용하십시오.

[NewRelic noticeNetworkRequestForURL:(NSURL*)url
httpMethod:(NSString*)httpMethod
withTimer:(NRTimer *)timer
responseHeaders:(NSDictionary *)headers
statusCode:(NSInteger)httpStatusCode
bytesSent:(NSUInteger)bytesSent
bytesReceived:(NSUInteger)bytesReceived
responseData:(NSData *)responseData
andParams:(NSDictionary *)params];

매개변수에는 다음이 포함됩니다.

매개변수

설명

url

요청의 URL

httpMethod

요청의 메서드 유형입니다. 예를 들어 POST, GET 등

timer

네트워크 요청 시간을 측정한 NRTimer

headers

사용 가능한 경우 HTTP 응답 헤더를 포함하는 사전

httpStatusCode

응답 상태 코드

httpStatusCode 이 400보다 크거나 같은 경우 에이전트는 서버 오류를 기록하고 제공된 경우 responseData 본문을 캡처할 수 있습니다.

bytesSent

요청 본문의 크기

bytesReceived

responseBody의 크기

responseData

에이전트가 서버 오류 매개변수를 기록하는 경우 캡처된 응답 본문 데이터

params

HTTP 트랜잭션이 오류인 경우 HTTP 오류 메트릭에 포함된 추가 매개변수

소켓 또는 운영 체제 오류로 인해 실패한 요청의 경우 다음 방법을 사용하십시오.

[NewRelic noticeNetworkFailureForURL:(NSURL *)url
httpMethod:(NSString*)httpMethod
withTimer:(NRTimer *)timer
andFailureCode:(NSInteger)iOSFailureCode];

매개변수에는 다음이 포함됩니다.

매개변수

설명

url

요청의 URL

httpMethod

요청의 메서드 유형입니다. 예를 들어 POST, GET 등

timer

네트워크 요청 시간을 측정한 NRTimer

iOSFailureCode

실패 코드

오류 코드는 NSURLError* 코드로 해석됩니다. 지원되는 코드의 전체 목록을 보려면 NRConstants.h 를 참조하세요.

Swift 코드 계측

상호작용 코드 분석 및 타임라인에 고유한 Swift 코드를 표시하려면:

  • 메서드 시작 부분에 startTracingMethod() 호출을 추가합니다.
  • 끝에 endTracingMethodWithTimer() 호출을 추가합니다.
  • startTracingMethod() 참조에 대해 항상 endTracingMethodWithTimer() 호출을 포함합니다.
  • 주어진 방법에 이러한 명령 세트를 하나만 포함하십시오.
func myMethod(){
let timer = NRTimer();
NewRelic.startTracingMethod(#selector(MyClass.myMethod),
object: self,
timer: timer,
category: NRTraceTypeNone)
// … existing code
NewRelic.endTracingMethodWithTimer(timer)
}

메서드의 성능이 APM 개요 페이지의 요약 데이터에 포함되도록 하려면 NRTraceType 열거형 값 중 하나를 startTracingMethod() 매크로에 전달합니다. 예를 들어:

NewRelic.startTracingMethod(#selector(MyClass.myMethod),
object: self,
timer: timer,
category: NRTraceTypeDatabase)

Swift: 사용자 정의 속성 및 이벤트 보고

NewRelic 개체의 메서드를 사용하여 사용자 지정 속성 및 이벤트를 보고합니다 . Swift에서 사용자 정의 속성 및 이벤트에 사용할 수 있는 방법에 대한 자세한 내용은 iOS SDK API 참조를 참조 하세요.

BOOL 결과를 반환하는 메서드는 성공하면 YES 을 반환하고 작업이 완료되지 않으면 NO 를 반환합니다. 이 메서드는 New Relic iOS SDK 버전 5.0.0 이상에서 사용할 수 있습니다.

SDK는 한 번에 최대 128개의 사용자 정의 사용자 정의 속성 을 저장할 수 있습니다. 128개 이상의 속성을 저장하려고 하면 SDK가 NO 을 반환합니다.

사용자 정의 속성 이름은 필요한 가장 간단한 형식을 사용해야 하며 New Relic은 공백을 포함하지 않는 단일 단어 속성을 권장합니다. 속성 구문 은 낙타의 경우 형식을 지정할 수 있으므로 My Custom AttributemyCustomAttribute 로 지정하는 것이 좋습니다. 맞춤 측정항목과 마찬가지로:

  • 이름을 지정할 때 / ] [ | * 문자를 사용하지 마십시오.
  • 다중 바이트 문자를 피하십시오.

Swift: 맞춤형 네트워크 요청 추적

트랜잭션 네트워크 요청을 HTTP 요청과 유사한 용어로 표현할 수 있다면 추적할 수 있습니다. 잘 구성된 URL을 사용하고 매우 가변적인 경로나 호스트 이름을 포함하지 않습니다.

완료 되는 요청의 경우 다음 방법을 사용하십시오.

NewRelic.noticeNetworkRequestForURL(url: NSURL!,
httpMethod: String!,
withTimer: NRTimer!,
responseHeaders:[NSObject : AnyObject]!,
statusCode: Int,
bytesSent: UInt,
bytesReceived: UInt,
responseData: NSData!,
andParams: [NSObject : AnyObject]!)

매개변수에는 다음이 포함됩니다.

매개변수

설명

url

요청의 URL

httpMethod

요청의 메서드 유형입니다. 예를 들어 POST, GET 등

timer

네트워크 요청 시간을 측정한 NRTimer

headers

사용 가능한 경우 HTTP 응답 헤더를 포함하는 사전

httpStatusCode

응답 상태 코드

httpStatusCode 이 400보다 크거나 같은 경우 에이전트는 서버 오류를 기록하고 제공된 경우 responseData 본문을 캡처할 수 있습니다.

bytesSent

요청 본문의 크기

bytesReceived

responseBody의 크기

responseData

에이전트가 서버 오류 매개변수를 기록하는 경우 캡처된 응답 본문 데이터

params

HTTP 트랜잭션이 오류인 경우 HTTP 오류 메트릭에 포함된 추가 매개변수

소켓 또는 운영 체제 오류로 인해 실패한 요청의 경우 다음 방법을 사용하십시오.

NewRelic.noticeNetworkFailureForURL(url: NSURL!,
httpMethod: NSString!,
withTimer: NRTimer!,
andFailureCode: Int)

매개변수에는 다음이 포함됩니다.

매개변수

설명

url

요청의 URL

httpMethod

요청의 메서드 유형입니다. 예를 들어 POST, GET 등

timer

네트워크 요청 시간을 측정한 NRTimer

iOSFailureCode

실패 코드

오류 코드는 NSURLError* 코드로 해석됩니다. 지원되는 코드의 전체 목록을 보려면 NRConstants.h 를 참조하세요.

Copyright © 2022 New Relic Inc.

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