• Home
  • Raw
  • Download

Lines Matching +full:enable +full:- +full:trace

6 `producers <https://perfetto.dev/docs/concepts/service-model>`__ each with
7 one or more data-sources. Perfetto already provides various producers and
8 data-sources for things like:
10 - CPU scheduling events (``linux.ftrace``)
11 - CPU frequency scaling (``linux.ftrace``)
12 - System calls (``linux.ftrace``)
13 - Process memory utilization (``linux.process_stats``)
21 - pps-producer: A systemwide daemon that can collect global performance
23 - mesa: Per-process producer within mesa to capture render-stage traces
28 .. list-table:: Supported data-sources
29 :header-rows: 1
31 * - Driver
32 - PPS Counters
33 - Render Stages
34 * - Freedreno
35 - ``gpu.counters.msm``
36 - ``gpu.renderstages.msm``
37 * - Turnip
38 - ``gpu.counters.msm``
39 -
40 * - Intel
41 - ``gpu.counters.i915``
42 -
43 * - Panfrost
44 - ``gpu.counters.panfrost``
45 -
48 ---
50 To capture a trace with perfetto you need to take the following steps:
53 `this guide <https://perfetto.dev/docs/quickstart/linux-tracing>`__.
55 2. Create a `trace config <https://perfetto.dev/#/trace-config.md>`__, which is
64 .. code-block:: console
67 CONFIG=<path/to/gpu.cfg> OUT=out/linux_clang_release ./tools/tmux -n
69 4. Start other producers you may need, e.g. ``pps-producer``.
74 :kbd:`d`, and the convenience script should automatically copy the trace
78 ``$HOME/Downloads/trace.protobuf`` by clicking on **Open trace file**.
80 8. Alternatively you can open the trace in `AGI <https://gpuinspector.dev/>`__
81 (which despite the name can be used to view non-android traces).
86 .. code-block:: console
89 mesa $ meson . build -Dperfetto=true -Dvulkan-drivers=intel,broadcom -Dgallium-drivers=
91 mesa $ ninja -C build
95 perfetto $ ./tools/install-build-deps
96 perfetto $ ./tools/gn gen --args='is_debug=false' out/linux
97 perfetto $ ./tools/ninja -C out/linux
100 perfetto $ CONFIG=../../src/tool/pps/cfg/gpu.cfg OUT=out/linux/ ./tools/tmux -n
103 mesa $ ./build/src/tool/pps/pps-producer
119 .. code-block:: console
131 The Freedreno PPS driver needs root access to read system-wide
134 .. code-block:: console
136 sudo ./build/src/tool/pps/pps-producer
141 The Intel PPS driver needs root access to read system-wide
142 …ware.intel.com/content/www/us/en/develop/documentation/vtune-help/top/reference/gpu-metrics-refere…
145 .. code-block:: console
147 sudo ./build/src/tool/pps/pps-producer
149 Another option to enable access wide data without root permissions would be running the following:
151 .. code-block:: console
160 .. code-block:: console
162 INTEL_PERFETTO_METRIC_SET=RasterizerAndPixelBackend ./build/src/tool/pps/pps-producer
165 To enable this for given application, set the environment variable as
168 .. code-block:: console
181 1. Enable Panfrost unstable ioctls via kernel parameter:
183 .. code-block:: console
191 .. code-block:: console
193 ./build/pps-producer
196 ---------------
205 .. code-block:: console
212 If the trace viewer shows a list of counters with a description like
214 to the trace buffer being full and wrapped.
216 In order to prevent this loss of data you can tweak the trace config file in
219 - Increase the size of the buffer in use:
221 .. code-block:: javascript
228 - Periodically flush the trace buffer into the output file:
230 .. code-block:: javascript
236 - Discard new traces when the buffer fills:
238 .. code-block:: javascript