Lines Matching +full:high +full:- +full:performance
2 *This page provides a birds-eye view of performance analysis.
6 ### Performance subsection
7 Performance analysis is concerned with making software run *better*.
15 Much of the difficulty in improving performance comes from
16 identifying the root cause of performance issues. Modern software systems are
17 complicated, having a lot of components and a web of cross-interactions.
21 **Tracing** and **profiling** are two such widely-used techniques for
22 performance analysis. **Perfetto** is an open-source suite of tools, combining
31 They often include low-level kernel events like scheduler context switches,
33 performance bug is not needed as the trace provides all necessary context.
51 tracing is to performance analysis. Tracing is, in a sense, "structured"
67 Metrics are numerical values which track the performance of a system over time.
68 Usually metrics map to high-level concepts. Examples of metrics include: CPU
73 with high level metrics at all? Why not instead just use use tracing and
75 right approach. In local and lab situations using **trace-based metrics**,
80 However, trace-based metrics are not a universal solution. When running in
85 Using metrics is the right choice when you want to understand the performance
87 traces. In these situations, traces should be used as a **root-causing** tool.
117 Traces cannot feasibly capture execution of extreme high frequency
126 [magic-trace](https://github.com/janestreet/magic-trace)) but they output
136 application instrumentation and low-level kernel events together provide
143 Perfetto is a suite of tools for performance analysis of software. Its purpose
145 systems. It helps identify the changes they can make to improve performance
158 [Record traces on Linux quickstart](/docs/quickstart/linux-tracing.md) is
161 [Record traces on Android quickstart](/docs/quickstart/android-tracing.md) will
165 The following sub-sections give an overview of various points worth considering
172 [scheduling](/docs/data-sources/cpu-scheduling.md),
173 [syscall](/docs/data-sources/syscalls.md) and
174 [CPU frequency](/docs/data-sources/cpu-freq.md) data source pages give
178 [this proto message](/docs/reference/trace-packet-proto.autogen#FtraceEvent).
181 ["generic"](/docs/reference/trace-packet-proto.autogen#GenericFtraceEvent)
182 events. These events are encoded as key-value pairs, similar to a JSON
187 [trace processor](/docs/analysis/trace-processor.md) cannot parse them
190 [here](/docs/contributing/common-tasks.md#add-a-new-ftrace-event) is a simple
194 Perfetto has a [C++ SDK](https://perfetto.dev/docs/instrumentation/tracing-sdk)
196 designed to be very low-overhead and is distributed in an "amalgamated" form
201 usage by Q2 2023. See [this doc](https://bit.ly/perfetto-c) for details (note
203 [this group](https://groups.google.com/forum/#!forum/perfetto-dev))
217 * performance: tracing to Perfetto from system/app code requires just a memory
219 generally makes Perfetto anywhere from 3-4x faster than atrace
222 natural representation of data-flow.
236 from the SDK, please reach out to the team directly. By mid-2023, significant
240 <!--
270 page will focus on the applications of Perfetto to solve various performance
282 -->