@capacitor-firebase/performance¶
Unofficial Capacitor plugin for Firebase Performance Monitoring.1
Installation¶
Add Firebase to your project if you haven't already (Android / iOS / Web).
Android¶
See Add the Performance Monitoring plugin to your app and follow the instructions to set up your app correctly.
Variables¶
This plugin will use the following project variables (defined in your app’s variables.gradle
file):
$firebasePerfVersion
version ofcom.google.firebase:firebase-perf
(default:20.3.1
)
Configuration¶
No configuration required for this plugin.
Demo¶
A working example can be found here: robingenz/capacitor-firebase-plugin-demo
Usage¶
import { FirebasePerformance } from '@capacitor-firebase/performance';
const startTrace = async () => {
await FirebasePerformance.startTrace({ traceName: 'test_trace' });
};
const stopTrace = async () => {
await FirebasePerformance.stopTrace({ traceName: 'test_trace' });
};
const incrementMetric = async () => {
await FirebasePerformance.incrementMetric({
traceName: 'test_trace',
metricName: 'item_cache_hit',
incrementBy: 1,
});
};
const setEnabled = async () => {
await FirebasePerformance.setEnabled({ enabled: true });
};
const isEnabled = async () => {
const result = await FirebasePerformance.isEnabled();
return result.enabled;
};
const putAttribute = async () => {
await FirebasePerformance.putAttribute({
traceName: 'test_trace',
attribute: 'user_id',
value: '123',
});
};
const getAttribute = async () => {
const result = await FirebasePerformance.getAttribute({
traceName: 'test_trace',
attribute: 'user_id',
});
return result.attributes;
};
const getAttributes = async () => {
const result = await FirebasePerformance.getAttributes({ traceName: 'test_trace' });
return result.attributes;
};
const removeAttribute = async () => {
await FirebasePerformance.removeAttribute({
traceName: 'test_trace',
attribute: 'user_id',
});
};
const putMetric = async () => {
await FirebasePerformance.putMetric({
traceName: 'test_trace',
metricName: 'item_cache_hit',
num: 1,
});
};
const getMetric = async () => {
const result = await FirebasePerformance.getMetric({
traceName: 'test_trace',
metricName: 'item_cache_hit',
});
return result.value;
};
const record = async () => {
await FirebasePerformance.record({
traceName: 'test_trace',
startTime: Date.now(),
duration: 1000,
options: {
metrics: {
item_cache_hit: 1,
},
attributes: {
user_id: '123',
},
},
});
};
API¶
startTrace(...)
stopTrace(...)
incrementMetric(...)
setEnabled(...)
isEnabled()
putAttribute(...)
getAttribute(...)
getAttributes(...)
removeAttribute(...)
putMetric(...)
getMetric(...)
record(...)
- Interfaces
- Type Aliases
startTrace(...)¶
Starts a trace.
Param | Type |
---|---|
options |
StartTraceOptions |
Since: 0.1.0
stopTrace(...)¶
Stops a trace.
Param | Type |
---|---|
options |
StopTraceOptions |
Since: 0.1.0
incrementMetric(...)¶
Atomically increments the metric with the given name for the selected trace by the incrementBy
value.
Param | Type |
---|---|
options |
IncrementMetricOptions |
Since: 0.1.0
setEnabled(...)¶
Enables or disables performance monitoring. Will be applied with the next start of the app.
Param | Type |
---|---|
options |
SetEnabledOptions |
Since: 0.1.0
isEnabled()¶
Determines whether performance monitoring is enabled or disabled.
Returns: Promise<IsEnabledResult>
Since: 0.1.0
putAttribute(...)¶
Sets a custom attribute of a trace to a given value.
Param | Type |
---|---|
options |
PutAttributeOptions |
Since: 6.3.0
getAttribute(...)¶
Returns the value of a custom attribute of a trace.
Param | Type |
---|---|
options |
GetAttributeOptions |
Returns: Promise<GetAttributeResult>
Since: 6.3.0
getAttributes(...)¶
Gets the all the custom attributes of a trace with their values.
Param | Type |
---|---|
options |
GetAttributesOptions |
Returns: Promise<GetAttributesResult>
Since: 6.3.0
removeAttribute(...)¶
Removes a custom attribute from a trace given its name.
Param | Type |
---|---|
options |
GetAttributeOptions |
Since: 6.3.0
putMetric(...)¶
Sets the value of a custom metric.
Param | Type |
---|---|
options |
PutMetricOptions |
Since: 6.3.0
getMetric(...)¶
Get the value of a custom metric by name.
Param | Type |
---|---|
options |
GetMetricOptions |
Returns: Promise<GetMetricResult>
Since: 6.3.0
record(...)¶
Records a trace given its name and options.
Only available on web.
Param | Type |
---|---|
options |
RecordOptions |
Since: 6.3.0
Interfaces¶
StartTraceOptions¶
Prop | Type | Description | Since |
---|---|---|---|
traceName |
string |
Custom trace name. Names for custom code traces must meet the following requirements: no leading or trailing whitespace, no leading underscore (_) character, and max length is 100 characters. | 0.1.0 |
StopTraceOptions¶
Prop | Type | Description | Since |
---|---|---|---|
traceName |
string |
Name of the trace that was set with startTrace . |
0.1.0 |
IncrementMetricOptions¶
Prop | Type | Description | Default | Since |
---|---|---|---|---|
traceName |
string |
Name of the trace that was set with startTrace . |
0.1.0 | |
metricName |
string |
Name of the metric to be incremented. | 0.1.0 | |
incrementBy |
number |
Amount by which the metric has to be incremented. | 1 |
0.1.0 |
SetEnabledOptions¶
Prop | Type | Description | Since |
---|---|---|---|
enabled |
boolean |
Should performance monitoring be enabled. | 0.1.0 |
IsEnabledResult¶
Prop | Type | Description | Since |
---|---|---|---|
enabled |
boolean |
true if performance monitoring is enabled, otherwise false . |
0.1.0 |
PutAttributeOptions¶
Prop | Type | Description | Since |
---|---|---|---|
traceName |
string |
Name of the trace to set its attribute. | 6.3.0 |
attribute |
string |
Name of the attribute to set its value. | 6.3.0 |
value |
string |
The value to set to the attribute. | 6.3.0 |
GetAttributeResult¶
Prop | Type | Description | Since |
---|---|---|---|
value |
string | null |
The value of the custom attribute. | 6.3.0 |
GetAttributeOptions¶
Prop | Type | Description | Since |
---|---|---|---|
traceName |
string |
Name of the trace to set its attribute. | 6.3.0 |
attribute |
string |
Name of the attribute to retrieve its value. | 6.3.0 |
GetAttributesResult¶
Prop | Type | Description | Since |
---|---|---|---|
result |
{ [key: string]: string; } |
A map of all custom attributes of a trace with their values. | 6.3.0 |
GetAttributesOptions¶
Prop | Type | Description | Since |
---|---|---|---|
traceName |
string |
Name of the trace to get its attributes. | 6.3.0 |
PutMetricOptions¶
Prop | Type | Description | Since |
---|---|---|---|
traceName |
string |
Name of the trace to set its metric. | 6.3.0 |
metricName |
string |
The metric name. | 6.3.0 |
num |
number |
The value to set for the metric. The given value is floored down to the nearest integer. | 6.3.0 |
GetMetricResult¶
Prop | Type | Description | Since |
---|---|---|---|
value |
number |
The value of the metric if exists. | 6.3.0 |
GetMetricOptions¶
Prop | Type | Description | Since |
---|---|---|---|
traceName |
string |
Name of the trace to get its metric. | 6.3.0 |
metricName |
string |
The metric name. | 6.3.0 |
RecordOptions¶
Prop | Type | Description | Since |
---|---|---|---|
traceName |
string |
Name of the trace to record. | 6.3.0 |
startTime |
number |
Start time of the trace since epoch in milliseconds. | 6.3.0 |
duration |
number |
The duration of the trace in milliseconds. | 6.3.0 |
options |
{ metrics?: { [key: string]: number; }; attributes?: { [key: string]: string; }; } |
An optional object that holds optional maps of custom metrics and attributes. | 6.3.0 |
Type Aliases¶
RemoveAttributeOptions¶
Changelog¶
See CHANGELOG.md.
License¶
See LICENSE.
-
This project is not affiliated with, endorsed by, sponsored by, or approved by Google LLC or any of their affiliates or subsidiaries. ↩