插件
性能
@nativescript/firebase-performance
内容
- 简介
- 为 Firebase 设置您的应用
- 将 Firebase Performance Monitoring SDK 添加到您的应用
- 添加自定义跟踪
- 添加 HTTP 请求跟踪
- API
简介
此插件允许您在 NativeScript 应用中使用 Firebase Performance Monitoring API。
为 Firebase 设置您的应用
在启用 Firebase Performance Monitoring 之前,您需要为 Firebase 设置您的应用。要为您的 NativeScript 应用设置和初始化 Firebase,请遵循 @nativescript/firebase-core 插件文档中的说明。
将 Firebase Performance Monitoring SDK 添加到您的应用
要将 Firebase Performance Monitoring 添加到您的应用,请按照以下步骤操作
- 通过在项目根目录中运行以下命令来安装
@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
Performance 类
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)
使用给定的 URL 和 httpMethod 创建一个新的 HttpMetric 实例,用于表示 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)
返回指定属性的值。
参数 | 类型 | 描述 |
---|---|---|
attribute | 字符串 | 要检索其值的属性的名称。 |
getAttributes()
attributes: { [key: string]: string } = httpMetric.getAttributes();
putAttribute()
httpMetric.putAttribute(attribute, value)
有关此方法的说明,请参阅 Firebase 文档上的 putAttribute()。
参数 | 类型 | 描述 |
---|---|---|
attribute | 字符串 | 要设置的属性的名称。 |
value | 字符串 | 要设置的属性的值。 |
removeAttribute()
httpMetric.removeAttribute(attribute)
从跟踪指标中删除指定的属性。
setHttpResponseCode()
httpMetric.setHttpResponseCode(code)
参数 | 类型 | 描述 |
---|---|---|
code | 数字 | HTTP 响应代码。 |
setRequestPayloadSize()
httpMetric.setRequestPayloadSize(bytes)
参数 | 类型 | 描述 |
---|---|---|
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)
返回跟踪的指定属性的值。
参数 | 类型 | 描述 |
---|---|---|
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()。
参数 | 类型 | 描述 |
---|---|---|
attribute | 字符串 | |
value | 字符串 |
putMetric()
trace.putMetric(metricName, value)
有关此方法的说明,请参阅 Firebase 文档上的 putMetric()。
参数 | 类型 | 描述 |
---|---|---|
metricName | 字符串 | 要设置的跟踪指标的名称。 |
value | 数字 | 要设置为指标的值。 |
removeMetric()
trace.removeMetric(metricName)
参数 | 类型 | 描述 |
---|---|---|
metricName | 字符串 | 要从 Trace 实例中删除的跟踪指标的名称。 |
start()
trace.start()
标记跟踪的开始时间。
stop()
trace.stop()
标记跟踪的结束时间,并将跟踪排队到设备上以进行传输。
许可证
Apache 许可证 2.0 版