mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
d6c8c31cb1
Deploy website version based on aa6bca5d8b7a59a46c8e4e5a6803f43206c13b65
133 lines
24 KiB
HTML
133 lines
24 KiB
HTML
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Systrace · React Native</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="### Methods"/><meta name="docsearch:version" content="0.21"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Systrace · React Native"/><meta property="og:type" content="website"/><meta property="og:url" content="https://reactnative.dev/"/><meta property="og:description" content="### Methods"/><meta property="og:image" content="https://reactnative.dev/img/logo-og.png"/><meta name="twitter:card" content="summary"/><meta name="twitter:image" content="https://reactnative.dev/img/logo-og.png"/><link rel="shortcut icon" href="/img/favicon.ico"/><link rel="stylesheet" href="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.css"/><link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/solarized-dark.min.css"/><link rel="alternate" type="application/atom+xml" href="https://reactnative.dev/blog/atom.xml" title="React Native Blog ATOM Feed"/><link rel="alternate" type="application/rss+xml" href="https://reactnative.dev/blog/feed.xml" title="React Native Blog RSS Feed"/><script>
|
|
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
|
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
|
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
|
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
|
|
|
|
ga('create', 'UA-41298772-2', 'auto');
|
|
ga('send', 'pageview');
|
|
</script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/focus-visible@5.0.2/dist/focus-visible.min.js"></script><script type="text/javascript" src="https://snack.expo.io/embed.js"></script><script type="text/javascript" src="https://platform.twitter.com/widgets.js"></script><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="/js/codeblocks.js"></script><script type="text/javascript" src="/js/tabs.js"></script><script type="text/javascript" src="/js/docs-rating.js"></script><script src="https://unpkg.com/vanilla-back-to-top@7.1.14/dist/vanilla-back-to-top.min.js"></script><script>
|
|
document.addEventListener('DOMContentLoaded', function() {
|
|
addBackToTop(
|
|
{"zIndex":100}
|
|
)
|
|
});
|
|
</script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/prism.css"/><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/header_logo.svg" alt="React Native"/><h2 class="headerTitleWithLogo">React Native</h2></a><a href="/versions"><h3>0.21</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-internal"><li class=""><a href="/docs/0.21/getting-started" target="_self">Docs</a></li><li class=""><a href="/docs/0.21/components-and-apis" target="_self">Components</a></li><li class=""><a href="/docs/0.21/accessibilityinfo" target="_self">API</a></li><li class=""><a href="/help" target="_self">Community</a></li><li class=""><a href="/blog/" target="_self">Blog</a></li><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li><li class=""><a href="https://github.com/facebook/react-native" target="_self">GitHub</a></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/facebook/react-native-website/blob/master/docs/systrace.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Systrace</h1></header><article><div><span><h3><a class="anchor" aria-hidden="true" id="methods"></a><a href="#methods" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Methods</h3>
|
|
<ul>
|
|
<li><a href="/docs/0.21/systrace#installreacthook"><code>installReactHook</code></a></li>
|
|
<li><a href="/docs/0.21/systrace#setenabled"><code>setEnabled</code></a></li>
|
|
<li><a href="/docs/0.21/systrace#isenabled"><code>isEnabled</code></a></li>
|
|
<li><a href="/docs/0.21/systrace#beginevent"><code>beginEvent</code></a></li>
|
|
<li><a href="/docs/0.21/systrace#endevent"><code>endEvent</code></a></li>
|
|
<li><a href="/docs/0.21/systrace#beginasyncevent"><code>beginAsyncEvent</code></a></li>
|
|
<li><a href="/docs/0.21/systrace#endasyncevent"><code>endAsyncEvent</code></a></li>
|
|
<li><a href="/docs/0.21/systrace#counterevent"><code>counterEvent</code></a></li>
|
|
<li><a href="/docs/0.21/systrace#attachtorelayprofiler"><code>attachToRelayProfiler</code></a></li>
|
|
<li><a href="/docs/0.21/systrace#swizzlejson"><code>swizzleJSON</code></a></li>
|
|
<li><a href="/docs/0.21/systrace#measuremethods"><code>measureMethods</code></a></li>
|
|
<li><a href="/docs/0.21/systrace#measure"><code>measure</code></a></li>
|
|
</ul>
|
|
<hr>
|
|
<h1><a class="anchor" aria-hidden="true" id="reference"></a><a href="#reference" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Reference</h1>
|
|
<h2><a class="anchor" aria-hidden="true" id="methods-1"></a><a href="#methods-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Methods</h2>
|
|
<h3><a class="anchor" aria-hidden="true" id="installreacthook"></a><a href="#installreacthook" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a><code>installReactHook()</code></h3>
|
|
<pre><code class="hljs css language-jsx"><span class="token keyword">static</span> <span class="token function">installReactHook</span><span class="token punctuation">(</span>useFiber<span class="token punctuation">)</span>
|
|
</code></pre>
|
|
<hr>
|
|
<h3><a class="anchor" aria-hidden="true" id="setenabled"></a><a href="#setenabled" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a><code>setEnabled()</code></h3>
|
|
<pre><code class="hljs css language-jsx"><span class="token keyword">static</span> <span class="token function">setEnabled</span><span class="token punctuation">(</span>enabled<span class="token punctuation">)</span>
|
|
</code></pre>
|
|
<hr>
|
|
<h3><a class="anchor" aria-hidden="true" id="isenabled"></a><a href="#isenabled" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a><code>isEnabled()</code></h3>
|
|
<pre><code class="hljs css language-jsx"><span class="token keyword">static</span> <span class="token function">isEnabled</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
|
|
</code></pre>
|
|
<hr>
|
|
<h3><a class="anchor" aria-hidden="true" id="beginevent"></a><a href="#beginevent" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a><code>beginEvent()</code></h3>
|
|
<pre><code class="hljs css language-jsx"><span class="token keyword">static</span> <span class="token function">beginEvent</span><span class="token punctuation">(</span>profileName<span class="token operator">?</span><span class="token punctuation">,</span> args<span class="token operator">?</span><span class="token punctuation">)</span>
|
|
</code></pre>
|
|
<p>beginEvent/endEvent for starting and then ending a profile within the same call stack frame</p>
|
|
<hr>
|
|
<h3><a class="anchor" aria-hidden="true" id="endevent"></a><a href="#endevent" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a><code>endEvent()</code></h3>
|
|
<pre><code class="hljs css language-jsx"><span class="token keyword">static</span> <span class="token function">endEvent</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
|
|
</code></pre>
|
|
<hr>
|
|
<h3><a class="anchor" aria-hidden="true" id="beginasyncevent"></a><a href="#beginasyncevent" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a><code>beginAsyncEvent()</code></h3>
|
|
<pre><code class="hljs css language-jsx"><span class="token keyword">static</span> <span class="token function">beginAsyncEvent</span><span class="token punctuation">(</span>profileName<span class="token operator">?</span><span class="token punctuation">)</span>
|
|
</code></pre>
|
|
<p>beginAsyncEvent/endAsyncEvent for starting and then ending a profile where the end can either occur on another thread or out of the current stack frame, eg await the returned cookie variable should be used as input into the endAsyncEvent call to end the profile</p>
|
|
<hr>
|
|
<h3><a class="anchor" aria-hidden="true" id="endasyncevent"></a><a href="#endasyncevent" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a><code>endAsyncEvent()</code></h3>
|
|
<pre><code class="hljs css language-jsx"><span class="token keyword">static</span> <span class="token function">endAsyncEvent</span><span class="token punctuation">(</span>profileName<span class="token operator">?</span><span class="token punctuation">,</span> cookie<span class="token operator">?</span><span class="token punctuation">)</span>
|
|
</code></pre>
|
|
<hr>
|
|
<h3><a class="anchor" aria-hidden="true" id="counterevent"></a><a href="#counterevent" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a><code>counterEvent()</code></h3>
|
|
<pre><code class="hljs css language-jsx"><span class="token keyword">static</span> <span class="token function">counterEvent</span><span class="token punctuation">(</span>profileName<span class="token operator">?</span><span class="token punctuation">,</span> value<span class="token operator">?</span><span class="token punctuation">)</span>
|
|
</code></pre>
|
|
<p>counterEvent registers the value to the profileName on the systrace timeline</p>
|
|
<hr>
|
|
<h3><a class="anchor" aria-hidden="true" id="attachtorelayprofiler"></a><a href="#attachtorelayprofiler" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a><code>attachToRelayProfiler()</code></h3>
|
|
<pre><code class="hljs css language-jsx"><span class="token keyword">static</span> <span class="token function">attachToRelayProfiler</span><span class="token punctuation">(</span>relayProfiler<span class="token punctuation">)</span>
|
|
</code></pre>
|
|
<p>Relay profiles use await calls, so likely occur out of current stack frame therefore async variant of profiling is used</p>
|
|
<hr>
|
|
<h3><a class="anchor" aria-hidden="true" id="swizzlejson"></a><a href="#swizzlejson" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a><code>swizzleJSON()</code></h3>
|
|
<pre><code class="hljs css language-jsx"><span class="token keyword">static</span> <span class="token function">swizzleJSON</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
|
|
</code></pre>
|
|
<p>This is not called by default due to perf overhead but it's useful if you want to find traces which spend too much time in JSON.</p>
|
|
<hr>
|
|
<h3><a class="anchor" aria-hidden="true" id="measuremethods"></a><a href="#measuremethods" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a><code>measureMethods()</code></h3>
|
|
<pre><code class="hljs css language-jsx"><span class="token keyword">static</span> <span class="token function">measureMethods</span><span class="token punctuation">(</span>object<span class="token punctuation">,</span> objectName<span class="token punctuation">,</span> methodNames<span class="token punctuation">)</span>
|
|
</code></pre>
|
|
<p>Measures multiple methods of a class. For example, you can do:</p>
|
|
<pre><code class="hljs css language-jsx">Systrace<span class="token punctuation">.</span><span class="token function">measureMethods</span><span class="token punctuation">(</span><span class="token constant">JSON</span><span class="token punctuation">,</span> <span class="token string">'JSON'</span><span class="token punctuation">,</span> <span class="token punctuation">[</span><span class="token string">'parse'</span><span class="token punctuation">,</span> <span class="token string">'stringify'</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
|
|
</code></pre>
|
|
<p><strong>Parameters:</strong></p>
|
|
<table>
|
|
<thead>
|
|
<tr><th>Name</th><th>Type</th><th>Required</th><th>Description</th></tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr><td>object</td><td>any</td><td>Yes</td><td></td></tr>
|
|
<tr><td>objectName</td><td>string</td><td>Yes</td><td></td></tr>
|
|
<tr><td>methodNames</td><td>array</td><td>Yes</td><td>Map from method names to method display names.</td></tr>
|
|
</tbody>
|
|
</table>
|
|
<hr>
|
|
<h3><a class="anchor" aria-hidden="true" id="measure"></a><a href="#measure" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a><code>measure()</code></h3>
|
|
<pre><code class="hljs css language-jsx"><span class="token keyword">static</span> <span class="token function">measure</span><span class="token punctuation">(</span>objName<span class="token punctuation">,</span> fnName<span class="token punctuation">,</span> func<span class="token punctuation">)</span>
|
|
</code></pre>
|
|
<p>Returns an profiled version of the input function. For example, you can:</p>
|
|
<pre><code class="hljs css language-jsx"><span class="token constant">JSON</span><span class="token punctuation">.</span>parse <span class="token operator">=</span> Systrace<span class="token punctuation">.</span><span class="token function">measure</span><span class="token punctuation">(</span><span class="token string">'JSON'</span><span class="token punctuation">,</span> <span class="token string">'parse'</span><span class="token punctuation">,</span> <span class="token constant">JSON</span><span class="token punctuation">.</span>parse<span class="token punctuation">)</span><span class="token punctuation">;</span>
|
|
</code></pre>
|
|
<p><strong>Parameters:</strong></p>
|
|
<table>
|
|
<thead>
|
|
<tr><th>Name</th><th>Type</th><th>Required</th><th>Description</th></tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr><td>objName</td><td>string</td><td>Yes</td><td></td></tr>
|
|
<tr><td>fnName</td><td>string</td><td>Yes</td><td></td></tr>
|
|
<tr><td>func</td><td>function</td><td>Yes</td><td></td></tr>
|
|
</tbody>
|
|
</table>
|
|
</span></div></article></div><div class="docs-prevnext"></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#methods-1">Methods</a><ul class="toc-headings"><li><a href="#installreacthook"><code>installReactHook()</code></a></li><li><a href="#setenabled"><code>setEnabled()</code></a></li><li><a href="#isenabled"><code>isEnabled()</code></a></li><li><a href="#beginevent"><code>beginEvent()</code></a></li><li><a href="#endevent"><code>endEvent()</code></a></li><li><a href="#beginasyncevent"><code>beginAsyncEvent()</code></a></li><li><a href="#endasyncevent"><code>endAsyncEvent()</code></a></li><li><a href="#counterevent"><code>counterEvent()</code></a></li><li><a href="#attachtorelayprofiler"><code>attachToRelayProfiler()</code></a></li><li><a href="#swizzlejson"><code>swizzleJSON()</code></a></li><li><a href="#measuremethods"><code>measureMethods()</code></a></li><li><a href="#measure"><code>measure()</code></a></li></ul></li></ul></nav></div><footer class="nav-footer" id="footer"><section class="sitemap"><div><h5>Docs</h5><a href="/docs/getting-started">Getting Started</a><a href="/docs/tutorial">Tutorial</a><a href="/docs/components-and-apis">Components and APIs</a><a href="/docs/more-resources">More Resources</a></div><div><h5>Community</h5><a href="/help">The React Native Community</a><a href="/showcase">Who's using React Native?</a><a href="https://stackoverflow.com/questions/tagged/react-native" target="_blank">Ask Questions on Stack Overflow</a><a href="https://github.com/facebook/react-native/blob/master/CONTRIBUTING.md">Contributor Guide</a><a href="https://dev.to/t/reactnative" target="_blank">DEV Community</a></div><div><h5>More Resources</h5><a href="/blog">Blog</a><a href="https://twitter.com/reactnative" target="_blank">Twitter</a><a href="https://github.com/facebook/react-native" target="_blank">GitHub</a><a href="https://reactjs.org" target="_blank">React</a></div></section><a href="https://code.facebook.com/projects/" target="_blank" class="fbOpenSource"><img src="/img/oss_logo.png" alt="Facebook Open Source" width="170" height="45"/></a><section class="copyright">Copyright © 2020 Facebook Inc.</section></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>window.fbAsyncInit = function() {FB.init({appId:'1677033832619985',xfbml:true,version:'v2.7'});};(function(d, s, id){var js, fjs = d.getElementsByTagName(s)[0];if (d.getElementById(id)) {return;}js = d.createElement(s); js.id = id;js.src = '//connect.facebook.net/en_US/sdk.js';fjs.parentNode.insertBefore(js, fjs);}(document, 'script','facebook-jssdk'));
|
|
</script><script>window.twttr=(function(d,s, id){var js,fjs=d.getElementsByTagName(s)[0],t=window.twttr||{};if(d.getElementById(id))return t;js=d.createElement(s);js.id=id;js.src='https://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js, fjs);t._e = [];t.ready = function(f) {t._e.push(f);};return t;}(document, 'script', 'twitter-wjs'));</script><script>
|
|
document.addEventListener('keyup', function(e) {
|
|
if (e.target !== document.body) {
|
|
return;
|
|
}
|
|
// keyCode for '/' (slash)
|
|
if (e.keyCode === 191) {
|
|
const search = document.getElementById('search_input_react');
|
|
search && search.focus();
|
|
}
|
|
});
|
|
</script><script>
|
|
var search = docsearch({
|
|
|
|
apiKey: '2c98749b4a1e588efec53b2acec13025',
|
|
indexName: 'react-native-versions',
|
|
inputSelector: '#search_input_react',
|
|
algoliaOptions: {"facetFilters":["tags:0.21"],"hitsPerPage":5}
|
|
});
|
|
</script></body></html> |