This contains a data logging and tracing backend based on Perfetto.
Uses the perfetto submodule and guides based on https://perfetto.dev/docs/instrumentation/tracing-sdk
Example capturing a trace file output for chip-tool during pairing:
out/linux-x64-chip-tool/chip-tool \ pairing onnetwork 1 20202021 \ --trace-to perfetto:$HOME/tmp/test_perfetto.log
where the trace file is available through the Perfetto UI
An example capturing all track_event
entries is available in matter.cfg
and the perfetto repo has more examples.
The traced
and perfetto
tools should be installed, can follow the perfetto getting started guide. Short form of instructions:
cd third_party/perfetto/repo tools/install-build-deps tools/gn gen --args='is_debug=false' out/linux tools/ninja -C out/linux tracebox traced traced_probes perfetto
To capture using a central daemon on linux, you have to start the daemon:
traced --background
Then start perfetto (using a config in text format):
perfetto -o ~/tmp/example.log --txt -c src/tracing/perfetto/matter.cfg
And finally start the app(s) with system tracing set up:
out/linux-x64-chip-tool/chip-tool \ pairing onnetwork 1 20202021 \ --trace-to perfetto