- 版本:3.3.2
- GitHub: https://github.com/NativeScript/firebase
- NPM: https://npmjs.net.cn/package/%40nativescript%2Ffirebase-performance
- 下载
- 昨日: 20
- 上周: 71
- 上个月: 447
@nativescript/firebase-performance
内容
简介
此插件允许您在 NativeScript 应用中使用 Firebase 性能监控 API。
为您的应用设置 Firebase
在您启用 Firebase 性能监控之前,需要为您的应用设置 Firebase。要为 NativeScript 应用设置和初始化 Firebase,请遵循 @nativescript/firebase-core 插件文档中的说明。
将 Firebase 性能监控 SDK 添加到您的应用中
要将 Firebase 性能监控添加到您的应用中,请按照以下步骤操作
- 在项目的根目录中运行以下命令以安装
@nativescript/firebase-performance
插件。
npm install @nativescript/firebase-performance
- 通过导入
@nativescript/firebase-performance
模块添加 SDK。您应该在应用的某个地方导入此模块一次,最好是在主文件中(例如app.ts
或main.ts
)。
import '@nativescript/firebase-performance';
添加自定义跟踪
您可以使用自定义跟踪来测量您的应用完成特定任务所需的时间量。
您可以通过调用 startTrace 方法并传递一个字符串来标识跟踪来开始您的自定义跟踪。然后您可以向跟踪中添加自定义属性和指标。最后,通过调用 stop 方法停止跟踪。
import { firebase } from '@nativescript/firebase-core';
import '@nativescript/firebase-performance';
async function customTrace() {
// Define & start a trace
const trace = await firebase().perf().startTrace('custom_trace');
// Define trace meta details
trace.putAttribute('user', 'abcd');
trace.putMetric('credits', 30);
// Stop the trace
await trace.stop();
}
添加 HTTP 请求跟踪
要为网络请求创建跟踪,请按照以下步骤操作
- 使用请求的 URL 和 HTTP 方法创建 HttpMetric 类的实例。
const metric = await firebase().perf().newHttpMetric(url, 'GET');
- 向指标中添加自定义属性。
metric.putAttribute('user', 'abcd');
- 启动指标。
await metric.start();
- 执行 HTTP 请求并提供响应信息。
const response = await fetch(url);
metric.setHttpResponseCode(response.statusCode);
metric.setResponseContentType(response.headers['Content-Type']);
metric.setResponsePayloadSize(response.headers['Content-Length']);
- 停止指标。
await metric.stop();
上述步骤组合如下
import { firebase } from '@nativescript/firebase-core';
import '@nativescript/firebase-performance';
async function getRequest(url) {
// Define the network metric
const metric = await firebase().perf().newHttpMetric(url, 'GET');
// Define meta details
metric.putAttribute('user', 'abcd');
// Start the metric
await metric.start();
// Perform a HTTP request and provide response information
const response = await fetch(url);
metric.setHttpResponseCode(response.statusCode);
metric.setResponseContentType(response.headers['Content-Type']);
metric.setResponsePayloadSize(response.headers['Content-Length']);
// Stop the metric
await metric.stop();
return response.toJSON();
}
// Call API
getRequest('https://api.com').then((json) => {
console.log(json);
});
API
性能类
android
import { firebase } from '@nativescript/firebase-core';
performanceAndroid: com.google.firebase.perf.FirebasePerformance = firebase().perf().android;
一个只读属性,返回 Android 的性能监控实例。
ios
import { firebase } from '@nativescript/firebase-core';
performanceIOS: FIRPerformance = firebase().perf().ios;
一个只读属性,返回 iOS 的性能监控实例。
app
import { firebase } from '@nativescript/firebase-core';
performanceApp: FirebaseApp = firebase().perf().app;
一个只读属性,返回当前应用的 FirebaseApp 实例。
isPerformanceCollectionEnabled
import { firebase } from '@nativescript/firebase-core';
isPerformanceCollectionEnabled: boolean = firebase().perf().isPerformanceCollectionEnabled;
// or
firebase().perf().isPerformanceCollectionEnabled = true;
一个可读写属性,返回 true
或 false
,表示是否启用了性能监控。您还可以设置此属性来启用或禁用性能监控。
newHttpMetric()
import { firebase } from '@nativescript/firebase-core';
httpMetric: HttpMetric = firebase().perf().newHttpMetric(url, httpMethod);
创建一个新的 HttpMetric 实例,用于表示带有给定 URL 和 httpMethod 的 HTTP 请求跟踪。
参数 | 类型 | 描述 |
---|---|---|
url |
字符串 |
|
httpMethod |
HttpMethod |
newTrace()
import { firebase } from '@nativescript/firebase-core';
trace: Trace = firebase().perf().newTrace(identifier);
创建一个新的 Trace 实例,带有给定的标识符。
参数 | 类型 | 描述 |
---|---|---|
identifier |
字符串 |
startTrace()
import { firebase } from '@nativescript/firebase-core';
trace: Trace = firebase().perf().startTrace(identifier);
创建并启动一个新的 Trace 实例,带有给定的标识符。
参数 | 类型 | 描述 |
---|---|---|
identifier |
字符串 |
HttpMetric 类
android
import { firebase } from '@nativescript/firebase-core';
httpMetricAndroid: com.google.firebase.perf.metrics.HttpMetric = httpMetric.android;
一个只读属性,返回 Android 的 HttpMetrics 实例。
ios
import { firebase } from '@nativescript/firebase-core';
httpMetricIOS: FIRHTTPMetric = httpMetric.ios;
一个只读属性,用于返回iOS的HttpMetric实例。
getAttribute()
someAttribute: string = httpMetric.getAttribute(attribute);
返回指定属性的值。
参数 | 类型 | 描述 |
---|---|---|
属性 |
字符串 |
要获取值的属性名称。 |
getAttributes()
attributes: { [key: string]: string } = httpMetric.getAttributes();
putAttribute()
httpMetric.putAttribute(attribute, value);
关于此方法的描述,请参阅Firebase文档中的putAttribute()。
参数 | 类型 | 描述 |
---|---|---|
属性 |
字符串 |
要设置的属性名称。 |
值 |
字符串 |
要设置的属性值。 |
removeAttribute()
httpMetric.removeAttribute(attribute);
从跟踪度量中移除指定的属性。
setHttpResponseCode()
httpMetric.setHttpResponseCode(code);
参数 | 类型 | 描述 |
---|---|---|
代码 |
数字 |
HTTP响应代码。 |
setRequestPayloadSize()
httpMetric.setRequestPayloadSize(bytes);
参数 | 类型 | 描述 |
---|---|---|
字节 |
数字 |
请求数据负载的大小。 |
setResponseContentType()
httpMetric.setResponseContentType(contentType);
参数 | 类型 | 描述 |
---|---|---|
contentType |
字符串 |
HTTP响应的内容类型。例如:text/html ,application/json |
start()
httpMetric.start();
标记HTTP请求/响应跟踪的开始。
stop()
httpMetric.stop();
标记响应的结束时间,并将网络请求度量在设备上排队以传输。
Trace 类
android
traceAndroid: com.google.firebase.perf.metrics.Trace = trace.android;
一个只读属性,用于返回Android的Trace实例。
ios
traceIOS: FIRTrace = trace.ios;
一个只读属性,用于返回iOS的Trace实例。
getAttribute()
someAttribute: string = trace.getAttribute(attribute);
返回跟踪的指定属性值。
参数 | 类型 | 描述 |
---|---|---|
属性 |
字符串 |
要获取值的属性名称。 |
getMetric()
someMetric: number = trace.getMetric(metricName);
获取当前跟踪中给定名称的度量值。更多信息请参阅Firebase文档中的getMetric()。
参数 | 类型 | 描述 |
---|---|---|
metricName |
字符串 |
要获取值的度量名称。 |
getMetrics()
metrics: { [key: string]: number } = trace.getMetrics();
incrementMetric()
trace.incrementMetric(metricName, incrementBy);
关于此方法的描述,请参阅Firebase文档中的incrementMetric()。
参数 | 类型 | 描述 |
---|---|---|
metricName |
字符串 |
要增加的跟踪度量名称。 |
incrementBy |
数字 |
增加度量的值。 |
putAttribute()
trace.putAttribute(attribute, value);
关于此方法的描述,请参阅Firebase文档中的putAttribute()。
参数 | 类型 | 描述 |
---|---|---|
属性 |
字符串 |
|
值 |
字符串 |
putMetric()
trace.putMetric(metricName, value);
关于此方法的描述,请参阅Firebase文档中的putMetric()。
参数 | 类型 | 描述 |
---|---|---|
metricName |
字符串 |
要设置的跟踪度量名称。 |
值 |
数字 |
设置度量的值。 |
removeMetric()
trace.removeMetric(metricName);
参数 | 类型 | 描述 |
---|---|---|
metricName |
字符串 |
要从Trace实例中移除的跟踪度量名称。 |
start()
trace.start();
标记跟踪的开始时间。
stop()
trace.stop();
标记跟踪的结束时间,并将跟踪在设备上排队以传输。
许可
Apache License Version 2.0