This repository has been archived by the owner on Apr 4, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 444
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Support Firebase Performance Monitoring #370
- Loading branch information
1 parent
fd0d46d
commit 35c1f5b
Showing
3 changed files
with
88 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,84 @@ | ||
<img src="https://raw.githubusercontent.com/EddyVerbruggen/nativescript-plugin-firebase/master/docs/images/features/performancemonitoring.png" height="85px" alt="Performance Monitoring"/> | ||
|
||
> Added in plugin version 7.3.0 | ||
## Performance Monitoring? | ||
With Firebase Performance Monitoring you get insights into how your app performs from your users' point of view, with automatic and customized performance tracing. | ||
|
||
[Learn more here..](https://firebase.google.com/products/performance/) | ||
|
||
## Enabling Performance Monitoring | ||
To add this feature to your project, either: | ||
|
||
* Remove `firebase.nativescript.json` from the root of the project and run `npm i`, or | ||
* Edit that file and add `"performance_monitoring": true`. | ||
|
||
In both cases, remove the `/platforms` folder afterwards so the required native library will be added upon the next build. | ||
|
||
## API | ||
You can use either the Web API syntax (easy for interoperability with a web version of your app), or our custom native syntax. | ||
Use whichever syntax you like most - the underlying implementation is the same. | ||
|
||
### `startTrace` | ||
You need to start and stop a trace, so remember the started trace in some property: | ||
|
||
```typescript | ||
import { performance as firebasePerformance } from "nativescript-plugin-firebase"; | ||
import { FirebaseTrace } from "nativescript-plugin-firebase/performance/performance"; | ||
|
||
const firebaseTrace: FirebaseTrace = firebasePerformance.startTrace("myTrace"); | ||
``` | ||
|
||
Now you can call several functions on the remembered trace object, read on below. And don't forget to use `trace.stop`. | ||
|
||
### `trace.setValue` | ||
|
||
```typescript | ||
if (firebaseTrace) { | ||
firebaseTrace.setValue("foo", "bar"); | ||
} | ||
``` | ||
|
||
### `trace.getValue` | ||
|
||
```typescript | ||
if (firebaseTrace) { | ||
firebaseTrace.getValue("foo"); | ||
} | ||
``` | ||
|
||
### `trace.getAttributes` | ||
|
||
```typescript | ||
if (firebaseTrace) { | ||
const attributes = firebaseTrace.getAttributes(); | ||
console.log(`trace attributes: ${attributes}`); | ||
} | ||
``` | ||
|
||
### `trace.removeAttribute` | ||
|
||
```typescript | ||
if (firebaseTrace) { | ||
const attributes = firebaseTrace.removeAttribute("foo"); | ||
} | ||
``` | ||
|
||
### `trace.incrementMetric` | ||
|
||
```typescript | ||
if (firebaseTrace) { | ||
const incrementBy = 1; | ||
const attributes = firebaseTrace.incrementMetric("foo_metric", incrementBy); | ||
} | ||
``` | ||
|
||
### `trace.stop` | ||
To stop the trace, call `stop` on the remembered trace object: | ||
|
||
```typescript | ||
if (firebaseTrace) { | ||
firebaseTrace.stop(); | ||
firebaseTrace = undefined; | ||
} | ||
``` |