获取我们在 Firebase 峰会上发布的所有信息,了解 Firebase 可如何帮助您加快应用开发速度并满怀信心地运行应用。了解详情

Agregue monitoreo personalizado para solicitudes de red específicas (aplicaciones de Apple y Android)

Performance Monitoring recopila rastros para ayudarlo a monitorear el rendimiento de su aplicación. Un seguimiento es un informe de los datos de rendimiento capturados entre dos puntos en el tiempo en su aplicación.

Los seguimientos de solicitudes de red recopilados automáticamente por Performance Monitoring incluyen la mayoría de las solicitudes de red para su aplicación. Sin embargo, es posible que algunas solicitudes no se informen o que use una biblioteca diferente para realizar solicitudes de red. En estos casos, puede utilizar la API de supervisión del rendimiento para instrumentar manualmente los seguimientos de solicitudes de red personalizadas . Los seguimientos de solicitudes de red personalizadas solo son compatibles con las aplicaciones de Apple y Android.

Las métricas predeterminadas para un seguimiento de solicitud de red personalizada son las mismas que las de los seguimientos de solicitud de red recopilados automáticamente por Performance Monitoring, específicamente el tiempo de respuesta, el tamaño de la carga útil de respuesta y solicitud y la tasa de éxito. Los seguimientos de solicitudes de red personalizadas no admiten la adición de métricas personalizadas.

En su código, define el principio y el final de un seguimiento de solicitud de red personalizado mediante las API proporcionadas por el SDK de Performance Monitoring.

Los seguimientos de solicitudes de red personalizadas aparecen en Firebase console junto con las solicitudes de red que Performance Monitoring captura automáticamente (en la subpestaña Solicitudes de red de la tabla de seguimientos).

Agregar seguimientos de solicitud de red personalizados

Utilice la API HTTPMetric de supervisión del rendimiento ( Swift | Obj-C ) para agregar seguimientos de solicitudes de red personalizados para supervisar solicitudes de red específicas.

Para instrumentar manualmente las solicitudes de red personalizadas en Performance Monitoring, agregue un código similar al siguiente:

Rápido

Nota: Este producto de Firebase no está disponible en objetivos 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 objetivo

Nota: Este producto de Firebase no está disponible en objetivos 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];
}

Los seguimientos de solicitudes de red personalizadas también admiten la adición de atributos personalizados ( Swift | Obj-C ), pero no métricas personalizadas.

Próximos pasos

  • Configure alertas para las solicitudes de red que degradan el rendimiento de su aplicación. Por ejemplo, puede configurar una alerta por correo electrónico para su equipo si el tiempo de respuesta para un patrón de URL específico supera el umbral que usted establezca.