Socket
Socket
Sign inDemoInstall

react-native-startup-time

Package Overview
Dependencies
515
Maintainers
1
Versions
9
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    react-native-startup-time

measure startup time of your react-native app


Version published
Maintainers
1
Created

Readme

Source

react-native-startup-time

This module helps you to measure your app launch time. It is measured from the earliest point in time available to the native module, that is the module's initialization. When getTimeSinceStartup is called on JS side, you'll get a promise which resolves with difference between these two moments in ms. This is not very accurate, but should give you good enough base for further optimizations.

On iOS time measurement is based on this article. On Android SystemClock.uptimeMills is used.

As far as I know, there's no way to programmatically obtain time passed since the moment when user taps on app icon. For this you have to use native dev tools. On Android this module will call reportFullyDrawn so you can inspect adb logs.

If you know a better way to measure startup time (in a module), let me know or better shoot a PR.

Getting started

$ yarn add react-native-startup-time

Mostly automatic installation

This module supports autolinking so if you use RN 0.60+ then no additional action is required.

Otherwise, run

$ react-native link react-native-startup-time

Manual linking installation

  1. Open ./android/settings.gradle, add this:
include ':react-native-startup-time'
project(':react-native-startup-time').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-startup-time/android')
  1. Open ./android/app/build.gradle, add this:
implementation project(':react-native-startup-time')
  1. In MainApplication.java, add this:
// Import
import com.github.doomsower.RNStartupTimePackage;

// Define package
new RNStartupTimePackage()

Usage

Render startup time badge somewhere on your first screen:

import { StartupTime } from 'react-native-startup-time';
...

<StartupTime
    ready={true /* optional, defaults to true */}
    style={styles.startupTime /* optional*/}
/>

Or use imperative call:

import { getTimeSinceStartup } from 'react-native-startup-time';

// when you app is ready:
getTimeSinceStartup().then((time) => {
  console.log(`Time since startup: ${time} ms`);
});

Keywords

FAQs

Last updated on 05 Mar 2020

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc