npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@capacitor-firebase/performance

v6.3.1

Published

Capacitor plugin for Firebase Performance Monitoring.

Downloads

9,274

Readme

@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;
};

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

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


putAttribute(...)

putAttribute(options: PutAttributeOptions) => Promise<void>

Sets a custom attribute of a trace to a given value.

| Param | Type | | ------------- | ------------------------------------------------------------------- | | options | PutAttributeOptions |

Since: 6.3.0


getAttribute(...)

getAttribute(options: GetAttributeOptions) => Promise<GetAttributeResult>

Returns the value of a custom attribute of a trace.

| Param | Type | | ------------- | ------------------------------------------------------------------- | | options | GetAttributeOptions |

Returns: Promise<GetAttributeResult>

Since: 6.3.0


getAttributes(...)

getAttributes(options: GetAttributesOptions) => Promise<GetAttributesResult>

Gets the all the custom attributes of a trace with their values.

| Param | Type | | ------------- | --------------------------------------------------------------------- | | options | GetAttributesOptions |

Returns: Promise<GetAttributesResult>

Since: 6.3.0


removeAttribute(...)

removeAttribute(options: RemoveAttributeOptions) => Promise<void>

Removes a custom attribute from a trace given its name.

| Param | Type | | ------------- | ------------------------------------------------------------------- | | options | GetAttributeOptions |

Since: 6.3.0


putMetric(...)

putMetric(options: PutMetricOptions) => Promise<void>

Sets the value of a custom metric.

| Param | Type | | ------------- | ------------------------------------------------------------- | | options | PutMetricOptions |

Since: 6.3.0


getMetric(...)

getMetric(options: GetMetricOptions) => Promise<GetMetricResult>

Get the value of a custom metric by name.

| Param | Type | | ------------- | ------------------------------------------------------------- | | options | GetMetricOptions |

Returns: Promise<GetMetricResult>

Since: 6.3.0


record(...)

record(options: RecordOptions) => Promise<void>

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 | | ---------------- | --------------------------------------- | ------------------------------------------------------------ | ----- | | attributes | { [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

GetAttributeOptions

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.