Matter tracing provides a tool for applications to trace information about the execution of the application. It depends on pw_trace module.
Application can override trace events with custom trace system by setting MATTER_CUSTOM_TRACE to true and direct trace macros to trace/MatterCustomTrace.h.
${chip_root}/src/trace as deps in BUILD.gn.#include "pw_trace/trace.h"
void SendButton() {
MATTER_TRACE_EVENT_FUNCTION();
// do something
}
void InputLoop() {
while(1) {
auto event = WaitNewInputEvent()
MATTER_TRACE_EVENT_SCOPE("Handle Event"); // measure until loop finished
if (event == kNewButton){
SendButton();
MATTER_TRACE_EVENT_END("button"); // Trace event was started in ButtonIsr
} else {
MATTER_TRACE_EVENT_INSTANT("Unknown event");
}
}
}
void ButtonIsr() {
MATTER_TRACE_EVENT_START("button");
SendNewInputEvent(kNewButton);
}