Aggiungere un monitoraggio personalizzato per richieste di rete specifiche (app Apple e Android)
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Performance Monitoring raccoglie tracce per aiutarti a monitorare il rendimento della tua app. Una
traccia è un report dei dati sul rendimento acquisiti tra due punti nel tempo
nella tua app.
Le
tracce delle richieste di rete raccolte automaticamente da Performance Monitoring
includono la maggior parte delle richieste di rete per la tua app. Tuttavia, alcune richieste potrebbero non essere
segnalate oppure potresti utilizzare una libreria diversa per effettuare richieste di rete. In questi
casi, puoi utilizzare l'API Performance Monitoring per instrumentare manualmente
tracce di richieste di rete personalizzate. Le tracce personalizzate delle richieste di rete sono supportate solo per le app Apple e Android.
Le metriche predefinite per una traccia di richiesta di rete personalizzata sono le stesse di quelle per
le tracce di richiesta di rete raccolte automaticamente da Performance Monitoring, in particolare
tempo di risposta, dimensioni del payload di risposta e richiesta e percentuale di successo. Le tracce delle richieste di rete personalizzate non supportano l'aggiunta di metriche personalizzate.
Nel codice, definisci l'inizio e la fine di una traccia di richiesta di rete personalizzata
utilizzando le API fornite dall'SDK Performance Monitoring.
Le tracce delle richieste di rete personalizzate vengono visualizzate nella console Firebase insieme alle
richieste di rete acquisite automaticamente da Performance Monitoring
(nella scheda secondaria Richieste di rete della tabella delle tracce).
Aggiungere tracce di richieste di rete personalizzate
Utilizza l'API HTTPMetric
(Swift
|
Obj-C)
per aggiungere tracce di richieste di rete personalizzate per monitorare richieste di rete specifiche.Performance Monitoring
Per instrumentare manualmente le richieste di rete personalizzate in Performance Monitoring, aggiungi un codice simile
al seguente:
Swift
Nota:questo prodotto Firebase non è disponibile su macOS, Mac Catalyst e watchOS.
Le tracce delle richieste di rete personalizzate supportano anche l'aggiunta di attributi personalizzati
(Swift |
Obj-C)
ma non di metriche personalizzate.
Passaggi successivi
Configura avvisi per le richieste di rete che peggiorano
il rendimento della tua app. Ad esempio, puoi configurare un avviso via email per
il tuo team se il tempo di risposta per un pattern URL specifico supera una
soglia che hai impostato.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-09-05 UTC."],[],[],null,["\u003cbr /\u003e\n\niOS+ Android Flutter \n\n\u003cbr /\u003e\n\nPerformance Monitoring collects *traces* to help you monitor the performance of your app. A\ntrace is a report of performance data captured between two points in time in\nyour app.\n\nThe\n[network request traces automatically collected by Performance Monitoring](/docs/perf-mon/network-traces)\ninclude most network requests for your app. However, some requests might not be\nreported or you might use a different library to make network requests. In these\ncases, you can use the Performance Monitoring API to manually instrument\n***custom network request traces***. Custom network request traces are only\nsupported for Apple and Android apps.\n\nThe default metrics for a custom network request trace are the same as those for\nthe network request traces automatically collected by Performance Monitoring, specifically\nresponse time, response and request payload size, and success rate. Custom\nnetwork request traces do not support adding custom metrics.\n\nIn your code, you define the beginning and the end of a custom network request\ntrace using the APIs provided by the Performance Monitoring SDK.\n\nCustom network request traces appear in the Firebase console alongside the\nnetwork requests that Performance Monitoring captures automatically\n(in the *Network requests* subtab of the traces table).\n\nAdd custom network request traces\n\nUse the Performance Monitoring HTTPMetric API\n([Swift](/docs/reference/swift/firebaseperformance/api/reference/Classes/HTTPMetric)\n\\|\n[Obj-C](/docs/reference/ios/firebaseperformance/api/reference/Classes/FIRHTTPMetric))\nto add custom network request traces to monitor specific network requests.\n\nTo manually instrument custom network requests in Performance Monitoring, add code similar\nto the following: \n\nSwift\n\n\n**Note:** This Firebase product is not available on macOS, Mac Catalyst, watchOS targets. \n\n guard let metric = HTTPMetric(url: \"https://www.google.com\", httpMethod: .get) else { return }\n\n metric.start()\n guard let url = URL(string: \"https://www.google.com\") else { return }\n let request: URLRequest = URLRequest(url:url)\n let session = URLSession(configuration: .default)\n let dataTask = session.dataTask(with: request) { (urlData, response, error) in\n if let httpResponse = response as? HTTPURLResponse {\n metric.responseCode = httpResponse.statusCode\n }\n metric.stop()\n }\n dataTask.resume()\n\nObjective-C\n\n\n**Note:** This Firebase product is not available on macOS, Mac Catalyst, watchOS targets. \n\n @property (nonatomic) FIRHTTPMetric *metric;\n\n - (void)beginManualNetworkInstrumentation {\n self.metric =\n [[FIRHttpMetric alloc] initWithURL:[NSURL URLWithString:@\"https://www.google.com\"]\n HTTPMethod:FIRHTTPMethodGET];\n\n [self.metric start];\n\n NSURLRequest *request =\n [NSURLRequest requestWithURL:[NSURL URLWithString:@\"https://www.google.com\"]];\n NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request\n delegate:self];\n [connection resume];\n }\n\n - (void)connection:(NSURLConnection *)connection\n didReceiveResponse:(NSURLResponse *) response {\n NSHTTPURLResponse* httpResponse = (NSHTTPURLResponse*)response\n self.metric.responseCode = httpResponse.statusCode;\n [self.metric stop];\n }\n\nCustom network request traces also support adding custom attributes\n([Swift](/docs/reference/swift/firebaseperformance/api/reference/Protocols/PerformanceAttributable#setvalue_:forattribute:) \\|\n[Obj-C](/docs/reference/ios/firebaseperformance/api/reference/Protocols/FIRPerformanceAttributable#-setvalue:forattribute:))\nbut not custom metrics.\n\nNext steps\n\n- [Set up alerts](/docs/perf-mon/alerts) for network requests that are degrading the performance of your app. For example, you can configure an email alert for your team if the *response time* for a specific URL pattern exceeds a threshold that you set."]]