Thêm tính năng giám sát tuỳ chỉnh cho các yêu cầu mạng cụ thể (ứng dụng của Apple và Android)

Tính năng Giám sát hiệu suất thu thập dấu vết để giúp bạn giám sát hiệu suất của ứng dụng. Đáp Dấu vết là một báo cáo về dữ liệu hiệu suất được thu thập giữa hai thời điểm trong ứng dụng của bạn.

Chiến lược phát hành đĩa đơn dấu vết yêu cầu mạng được tính năng Giám sát hiệu suất thu thập tự động bao gồm hầu hết các yêu cầu về mạng cho ứng dụng của bạn. Tuy nhiên, một số yêu cầu có thể không được đã báo cáo hoặc bạn có thể dùng một thư viện khác để tạo yêu cầu mạng. Trong các trong trường hợp cụ thể, bạn có thể sử dụng Performance Monitoring API để đo lường theo cách thủ công dấu vết yêu cầu mạng tuỳ chỉnh. Dấu vết yêu cầu mạng tuỳ chỉnh chỉ được hỗ trợ cho các ứng dụng của Apple và Android.

Các chỉ số mặc định cho dấu vết yêu cầu mạng tuỳ chỉnh cũng giống như các chỉ số cho dấu vết yêu cầu mạng dấu vết yêu cầu mạng được tính năng Giám sát hiệu suất thu thập tự động, đặc biệt là thời gian phản hồi, phản hồi và kích thước tải trọng của yêu cầu cũng như tỷ lệ thành công. Tuỳ chỉnh dấu vết yêu cầu mạng không hỗ trợ việc thêm chỉ số tùy chỉnh.

Trong mã, bạn xác định điểm bắt đầu và kết thúc của yêu cầu mạng tuỳ chỉnh theo dõi bằng cách sử dụng API do SDK giám sát hiệu suất cung cấp.

Dấu vết yêu cầu mạng tùy chỉnh xuất hiện trong bảng điều khiển của Firebase cùng với các yêu cầu mạng mà tính năng Giám sát hiệu suất tự động ghi lại. (trong thẻ phụ Yêu cầu mạng của bảng dấu vết).

Thêm dấu vết yêu cầu mạng tuỳ chỉnh

Dùng API HTTPMetric theo dõi hiệu suất (Swift | Obj-C) để thêm dấu vết yêu cầu mạng tuỳ chỉnh nhằm theo dõi các yêu cầu mạng cụ thể.

Để đo lường các yêu cầu mạng tuỳ chỉnh theo cách thủ công trong tính năng Giám sát hiệu suất, hãy thêm mã tương tự thành các chỉ số sau:

Swift

Lưu ý: Sản phẩm Firebase này không dùng được trên các mục tiêu 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()

Objective-C

Lưu ý: Sản phẩm Firebase này không dùng được trên các mục tiêu 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];
}

Dấu vết yêu cầu mạng tùy chỉnh cũng hỗ trợ việc thêm thuộc tính tùy chỉnh (Swift | Obj-C) nhưng không phải chỉ số tuỳ chỉnh.

Các bước tiếp theo

  • Thiết lập cảnh báo cho những yêu cầu về mạng đang giảm chất lượng hiệu suất của ứng dụng. Ví dụ: bạn có thể định cấu hình một cảnh báo qua email cho nhóm của bạn nếu thời gian phản hồi cho một mẫu URL cụ thể vượt quá ngưỡng mà bạn đã đặt.