Skip to content

@capacitor-firebase/performance

Unofficial Capacitor plugin for Firebase Performance Monitoring.1

Installation

npm install @capacitor-firebase/performance firebase
npx cap sync

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 of com.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;
};

API

startTrace(...)

startTrace(options: StartTraceOptions) => Promise<void>

Starts a trace.

Param Type
options StartTraceOptions

Since: 0.1.0


stopTrace(...)

stopTrace(options: StopTraceOptions) => Promise<void>

Stops a trace.

Param Type
options StopTraceOptions

Since: 0.1.0


incrementMetric(...)

incrementMetric(options: IncrementMetricOptions) => Promise<void>

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(...)

setEnabled(options: SetEnabledOptions) => Promise<void>

Enables or disables performance monitoring. Will be applied with the next start of the app.

Param Type
options SetEnabledOptions

Since: 0.1.0


isEnabled()

isEnabled() => Promise<IsEnabledResult>

Determines whether performance monitoring is enabled or disabled.

Returns: Promise<IsEnabledResult>

Since: 0.1.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

Changelog

See CHANGELOG.md.

License

See LICENSE.


  1. This project is not affiliated with, endorsed by, sponsored by, or approved by Google LLC or any of their affiliates or subsidiaries.