Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

Adicionar monitoramento personalizado para solicitações de rede específicas (aplicativos Apple e Android)

Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

O Monitoramento de Desempenho coleta rastreamentos para ajudá-lo a monitorar o desempenho do seu aplicativo. Um rastreamento é um relatório de dados de desempenho capturados entre dois pontos no tempo em seu aplicativo.

Os rastreamentos de solicitação de rede coletados automaticamente pelo Monitoramento de desempenho incluem a maioria das solicitações de rede para seu aplicativo. No entanto, algumas solicitações podem não ser relatadas ou você pode usar uma biblioteca diferente para fazer solicitações de rede. Nesses casos, você pode usar a API de monitoramento de desempenho para instrumentar manualmente os rastreamentos de solicitação de rede personalizados . Os rastreamentos de solicitação de rede personalizados são compatíveis apenas com aplicativos Apple e Android.

As métricas padrão para um rastreamento de solicitação de rede personalizado são as mesmas dos rastreamentos de solicitação de rede coletados automaticamente pelo Monitoramento de desempenho, especificamente tempo de resposta, tamanho da carga útil de resposta e solicitação e taxa de sucesso. Os rastreamentos de solicitação de rede personalizados não são compatíveis com a adição de métricas personalizadas.

Em seu código, você define o início e o fim de um rastreamento de solicitação de rede personalizado usando as APIs fornecidas pelo SDK do Monitoramento de desempenho.

Os rastreamentos de solicitação de rede personalizados aparecem no console do Firebase junto com as solicitações de rede que o Monitoramento de desempenho captura automaticamente (na subguia Solicitações de rede da tabela de rastreamentos).

Adicionar rastreamentos de solicitação de rede personalizados

Use a API HTTPMetric de monitoramento de desempenho ( Swift | Obj-C ) para adicionar rastreamentos de solicitação de rede personalizados para monitorar solicitações de rede específicas.

Para instrumentar manualmente solicitações de rede personalizadas no Monitoramento de desempenho, adicione um código semelhante ao seguinte:

Rápido

Observação: este produto Firebase não está disponível em destinos macOS, Mac Catalyst e 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()

Objetivo-C

Observação: este produto Firebase não está disponível em destinos macOS, Mac Catalyst e 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];
}

Os rastreamentos de solicitação de rede personalizados também suportam a adição de atributos personalizados ( Swift | Obj-C ), mas não as métricas personalizadas.

Próximos passos

  • Configure alertas para solicitações de rede que estão prejudicando o desempenho do seu aplicativo. Por exemplo, você pode configurar um alerta de email para sua equipe se o tempo de resposta para um padrão de URL específico exceder um limite definido por você.