blob: 9b401a3166865d0c244f640fe98f9b965adf941b [file] [log] [blame]
<%- include('template_header.html'); -%>
<main class="site-content">
<div class="section-wrapper">
<section class="banner">
<h1><span>System profiling,</span> <span>app tracing</span> <span>and trace analysis</span></h1>
<h2>Open-Source &centerdot; Portable &centerdot; Efficient</h2>
<div class="home-img"><img src="/assets/home.png" alt="Perfetto"></div>
</section>
</div>
<div class="section-wrapper">
<section class="home-highlights">
<a href="#profiling"><div class="icon"></div>System Profiling</a>
<a href="#tracing"><div class="icon"></div>In-App Tracing</a>
<a href="#viewer"><div class="icon"></div>Trace Viewer</a>
<a href="#analysis"><div class="icon"></div>Trace Analysis</a>
</section>
</div>
<div class="section-wrapper">
<section class="home-section" id="profiling">
<img src="/assets/sys_profiling.png" alt="Profiling illustration">
<div>
<h2>System-wide profiling for Linux and Android</h2>
<div class="home-item">
<i class="material-icons-round">sort</i>
<h3>Linux kernel tracing</h3>
<p>Capture high frequency ftrace data: scheduling activity, task switching latency, CPU frequency and much more</p>
</div>
<div class="home-item">
<i class="material-icons-round">nfc</i>
<h3>Userspace profilers and extra probes</h3>
<p>Native heap profiling, Java heap profiling, pollers for /proc stat files</p>
</div>
<div class="home-item">
<i class="material-icons-round">android</i>
<h3>Built into Android</h3>
<p>Part of the platform since Android 9 Pie, runs on Linux as well</p>
</div>
<a href="/docs/quickstart/android-tracing" class="button">Get Started</a>
</div>
</section>
</div>
<div class="section-wrapper">
<section class="home-section" id="tracing">
<img src="/assets/app_tracing.png" alt="Tracing illustration">
<div>
<h2>App Tracing</h2>
<div class="home-item">
<i class="material-icons-round">developer_mode</i>
<h3>Efficient trace point instrumentation</h3>
<p>Log your C++ app’s activity with high throughput, low overhead trace points</p>
</div>
<div class="home-item">
<i class="material-icons-round">ballot</i>
<h3>Structured and configurable events</h3>
<p>Define custom protobuf messages to represent strongly-typed app-specific information, trace only what you need</p>
</div>
<div class="home-item">
<i class="material-icons-round">view_compact</i>
<h3>Integrated with system-wide tracing</h3>
<p>Correlate your app’s state with system-wide profiling data on the same timeline</p>
</div>
<a href="/docs/instrumentation/tracing-sdk" class="button">Get Started</a>
</div>
</section>
</div>
<div class="section-wrapper">
<section class="home-section" id="viewer">
<img src="/assets/ui.png" alt="Trace viewer illustration">
<div>
<h2>Trace Viewer</h2>
<div class="home-item">
<i class="material-icons-round">timeline</i>
<h3>Interactive trace exploration</h3>
<p>Record, view and process trace data with the Perfetto UI</p>
</div>
<div class="home-item">
<i class="material-icons-round">file_copy</i>
<h3>Supports popular trace format files</h3>
<p>TraceEvent JSON, Android systrace, ftrace text output</p>
</div>
<div class="home-item">
<i class="material-icons-round">offline_bolt</i>
<h3>Runs fully in your browser</h3>
<p>No server interaction involved, works even if you are offline</p>
</div>
<div>
<a href="//ui.perfetto.dev" class="button">Open the UI</a>
</div>
</div>
</section>
</div>
<section class="home-section" id="analysis">
<img src="/assets/analysis.png" alt="Trace analysis illustration">
<div>
<h2>Trace Analysis</h2>
<div class="home-item">
<i class="material-icons-round">storage</i>
<h3>SQL-based trace model</h3>
<p>Trace processor ingests traces and exposes a SQLite-based
interface to access the contents of the trace, both via shell and UI
</p>
</div>
<div class="home-item">
<i class="material-icons-round">speed</i>
<h3>Large trace analysis</h3>
<p>
Supports traces up to tens of GBs
</p>
</div>
<div class="home-item">
<i class="material-icons-round">compare_arrows</i>
<h3>Interoperable</h3>
<p>Can import and export popular trace formats: Chromium JSON trace format, Android Systrace, ftrace, CSV</p>
</div>
<div>
<a href="/docs/analysis/trace-processor" class="button">Learn more</a>
</div>
</div>
</section>
<%- include('template_footer.html'); -%>
</main>
</body>
</html>