{"id":4447,"url":"https://github.com/jondot/react-native-slowlog","last_synced_at":"2025-04-09T17:26:02.982Z","repository":{"id":66314363,"uuid":"57589412","full_name":"jondot/react-native-slowlog","owner":"jondot","description":"A high-performance timer based profiler for React Native that helps you track big performance problems.","archived":false,"fork":false,"pushed_at":"2017-02-08T09:40:43.000Z","size":115,"stargazers_count":375,"open_issues_count":3,"forks_count":16,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-02T11:55:03.042Z","etag":null,"topics":["debugging","infrastructure","performance","react-native","tools"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jondot.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2016-05-01T07:43:16.000Z","updated_at":"2025-02-11T21:32:36.000Z","dependencies_parsed_at":null,"dependency_job_id":"4ef44604-24c6-4366-81b5-ceb2a6436e57","html_url":"https://github.com/jondot/react-native-slowlog","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jondot%2Freact-native-slowlog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jondot%2Freact-native-slowlog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jondot%2Freact-native-slowlog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jondot%2Freact-native-slowlog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jondot","download_url":"https://codeload.github.com/jondot/react-native-slowlog/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248076082,"owners_count":21043704,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["debugging","infrastructure","performance","react-native","tools"],"created_at":"2024-01-05T20:17:12.883Z","updated_at":"2025-04-09T17:26:02.961Z","avatar_url":"https://github.com/jondot.png","language":"JavaScript","funding_links":[],"categories":["Components","JavaScript"],"sub_categories":["Utils \u0026 Infra"],"readme":"# Slowlog\n\nA high-performance timer for React Native that helps you track big performance problems.\nUse it as a first line of defense, before tools like system trace and perftools.\n\n![](shot.png)\n\n## Quickstart\n\nIn your React Native project run:\n\n`$ npm i -S react-native-slowlog`\n\nThis is added as a runtime dependency, and `slowlog` will only run in developer mode (using the `__DEV__` flag).\n\nTo use `slowlog` apply it to your component this way:\n\n```javascript\nclass Master extends Component {\n  constructor(props){\n    super(props)\n    slowlog(this, /.*/)\n\n    this.state = this.getDataSource(props)\n    this.shouldComponentUpdate = shouldComponentUpdate.bind(this)\n  }\n...\n}\n```\n\n## Options\n\nYou can apply `slowlog` differently based on your needs:\n\n```javascript\nslowlog([this], [regex matching methods], { verbose: false, threshold: 16, log: console, excludes: [dict of excluded methods] })\n```\n\n* `verbose` - will output all timing information to console, and just slow operations to yellowbox\n* `threshold` - in milliseconds. Anything above that goes to yellowbox\n* `log` - a `console`-like object. Anything that responds to `.log([msg])` and `.warn([msg])`\n* `excludes` - a dict containing an exclusion list, like so {foobar:true, constructor:true} and so on. If you change this, remember to always\ninclude `constructor`\n\n\n# Contributing\n\nFork, implement, add tests, pull request, get my everlasting thanks and a respectable place here :).\n\n# Copyright\n\nCopyright (c) 2016 [Dotan Nahum](http://gplus.to/dotan) [@jondot](http://twitter.com/jondot). See [LICENSE](LICENSE.txt) for further details.\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjondot%2Freact-native-slowlog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjondot%2Freact-native-slowlog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjondot%2Freact-native-slowlog/lists"}