Android Firebase性能监视与本机集成
我已在我的React本机应用程序上安装Firebase性能监视 并将其成功集成。之后,我想跟踪我的网络请求性能并作为文档进行查看Android Firebase性能监视与本机集成,android,ios,firebase,react-native,firebase-performance,Android,Ios,Firebase,React Native,Firebase Performance,我已在我的React本机应用程序上安装Firebase性能监视 并将其成功集成。之后,我想跟踪我的网络请求性能并作为文档进行查看 const trackRequest = async (url,method) => { // Define the network metric const metric = await perf().newHttpMetric(url, method); // Define meta details metric.putAt
const trackRequest = async (url,method) => {
// Define the network metric
const metric = await perf().newHttpMetric(url, method);
// Define meta details
metric.putAttribute('testAttr', 'testValue');
// Perform a HTTP request and provide response information
const response = await fetch(url);
metric.setHttpResponseCode(response.status);
metric.setResponseContentType(response.headers.get('Content-Type'));
metric.setResponsePayloadSize(response.headers.get('Content-Length'));
// Stop the trace
await metric.stop();
return response.json();
};
我使用文档中的这个函数,并在每次网络请求时调用它
fetch("www.example.com")
trackRequest("www.example.com","GET")
谁能解释一下我做错了什么吗?看起来你没有正确使用API。这方面似乎有一个很好的例子。在调用stop之前,需要调用该度量的start。此外,该示例还显示,您应该在每个方法调用中使用wait,但我不知道这是否必要
const trackRequest = async (url,method) => {
const metric = await perf().newHttpMetric(url, method);
// !!! Don't forget to call start()
await metric.start();
await metric.putAttribute('testAttr', 'testValue');
const response = await fetch(url);
await metric.setHttpResponseCode(response.status);
await metric.setResponseContentType(response.headers.get('Content-Type'));
await metric.setResponsePayloadSize(response.headers.get('Content-Length'));
// Stop the trace only after you started it
await metric.stop();
return response.json();
};
我使用的例子,并没有任何关于Start的台词,这个例子在我看来是错误的。使用实际有效的东西。Firebase官方文档说要在其他客户端操作系统上调用start,我确信API不会因为react而真正改变: