Firebase Summit에서 발표된 모든 내용을 살펴보고 Firebase로 앱을 빠르게 개발하고 안심하고 앱을 실행하는 방법을 알아보세요. 자세히 알아보기

특정 네트워크 요청에 대한 맞춤형 모니터링 추가(Apple 및 Android 앱)

컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.

성능 모니터링은 앱의 성능을 모니터링하는 데 도움이 되는 추적 을 수집합니다. 추적은 앱의 두 시점 사이에 캡처된 성능 데이터 보고서입니다.

Performance Monitoring에서 자동으로 수집한 네트워크 요청 추적 에는 앱에 대한 대부분의 네트워크 요청이 포함됩니다. 그러나 일부 요청은 보고되지 않거나 다른 라이브러리를 사용하여 네트워크 요청을 할 수 있습니다. 이러한 경우 성능 모니터링 API를 사용하여 사용자 지정 네트워크 요청 추적 을 수동으로 계측할 수 있습니다. 사용자 지정 네트워크 요청 추적은 Apple 및 Android 앱에서만 지원됩니다.

사용자 지정 네트워크 요청 추적의 기본 메트릭은 특히 응답 시간, 응답 및 요청 페이로드 크기, 성공률과 같이 성능 모니터링에서 자동으로 수집된 네트워크 요청 추적의 기본 메트릭과 동일합니다. 사용자 지정 네트워크 요청 추적은 사용자 지정 메트릭 추가를 지원하지 않습니다.

코드에서 Performance Monitoring SDK에서 제공하는 API를 사용하여 사용자 지정 네트워크 요청 추적의 시작과 끝을 정의합니다.

맞춤 네트워크 요청 추적은 Firebase 콘솔에 Performance Monitoring이 자동으로 캡처하는 네트워크 요청과 함께 표시됩니다(추적 표의 네트워크 요청 하위 탭에 있음).

사용자 지정 네트워크 요청 추적 추가

성능 모니터링 HTTPMetric API( Swift | Obj-C )를 사용하여 사용자 지정 네트워크 요청 추적을 추가하여 특정 네트워크 요청을 모니터링합니다.

성능 모니터링에서 사용자 지정 네트워크 요청을 수동으로 계측하려면 다음과 유사한 코드를 추가합니다.

빠른

참고: 이 Firebase 제품은 macOS, Mac Catalyst, watchOS 대상에서 사용할 수 없습니다.
guard let metric = HTTPMetric(url: "https://www.google.com", httpMethod: .get) else { return }

metric.start()
guard let url = URL(string: "https://www.google.com") else { return }
let request: URLRequest = URLRequest(url:url)
let session = URLSession(configuration: .default)
let dataTask = session.dataTask(with: request) { (urlData, response, error) in
        if let httpResponse = response as? HTTPURLResponse {
         metric.responseCode = httpResponse.statusCode
        }
        metric.stop()
}
dataTask.resume()

오브젝티브-C

참고: 이 Firebase 제품은 macOS, Mac Catalyst, watchOS 대상에서 사용할 수 없습니다.
@property (nonatomic) FIRHTTPMetric *metric;

- (void)beginManualNetworkInstrumentation {
  self.metric =
      [[FIRHttpMetric alloc] initWithURL:[NSURL URLWithString:@"https://www.google.com"]
                              HTTPMethod:FIRHTTPMethodGET];

  [self.metric start];

  NSURLRequest *request =
      [NSURLRequest requestWithURL:[NSURL URLWithString:@"https://www.google.com"]];
  NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request
                                                                delegate:self];
  [connection resume];
}

- (void)connection:(NSURLConnection *)connection
    didReceiveResponse:(NSURLResponse *) response {
  NSHTTPURLResponse* httpResponse = (NSHTTPURLResponse*)response
  self.metric.responseCode = httpResponse.statusCode;
  [self.metric stop];
}

사용자 지정 네트워크 요청 추적은 사용자 지정 속성( Swift | Obj-C ) 추가를 지원하지만 사용자 지정 메트릭은 지원하지 않습니다.

다음 단계

  • 앱의 성능을 저하시키는 네트워크 요청에 대한 경고를 설정합니다 . 예를 들어 특정 URL 패턴에 대한 응답 시간 이 설정한 임계값을 초과하는 경우 팀에 대한 이메일 알림을 구성할 수 있습니다.