A high-performance timer based profiler for React Native that helps you track big performance problems.
Branch: master
Clone or download
Latest commit cf97605 Feb 8, 2017
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore initial import May 1, 2016
.npmignore initial import May 1, 2016
README.md initial import May 1, 2016
index.js Use that.constructor.name as fallback Feb 8, 2017
package.json v1.0.2 Feb 8, 2017
shot.png initial import May 1, 2016



A high-performance timer for React Native that helps you track big performance problems. Use it as a first line of defense, before tools like system trace and perftools.


In your React Native project run:

$ npm i -S react-native-slowlog

This is added as a runtime dependency, and slowlog will only run in developer mode (using the __DEV__ flag).

To use slowlog apply it to your component this way:

class Master extends Component {
    slowlog(this, /.*/)

    this.state = this.getDataSource(props)
    this.shouldComponentUpdate = shouldComponentUpdate.bind(this)


You can apply slowlog differently based on your needs:

slowlog([this], [regex matching methods], { verbose: false, threshold: 16, log: console, excludes: [dict of excluded methods] })
  • verbose - will output all timing information to console, and just slow operations to yellowbox
  • threshold - in milliseconds. Anything above that goes to yellowbox
  • log - a console-like object. Anything that responds to .log([msg]) and .warn([msg])
  • excludes - a dict containing an exclusion list, like so {foobar:true, constructor:true} and so on. If you change this, remember to always include constructor


Fork, implement, add tests, pull request, get my everlasting thanks and a respectable place here :).


Copyright (c) 2016 Dotan Nahum @jondot. See LICENSE for further details.