1 // Copyright 2020 The Pigweed Authors 2 // 3 // Licensed under the Apache License, Version 2.0 (the "License"); you may not 4 // use this file except in compliance with the License. You may obtain a copy of 5 // the License at 6 // 7 // https://www.apache.org/licenses/LICENSE-2.0 8 // 9 // Unless required by applicable law or agreed to in writing, software 10 // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 11 // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 12 // License for the specific language governing permissions and limitations under 13 // the License. 14 //============================================================================== 15 // BUILD 16 // ninja -C out 17 // pw_strict_host_clang_debug/obj/pw_trace_tokenized/bin/trace_tokenized_example_basic 18 // 19 // RUN 20 // ./out/pw_strict_host_clang_debug/obj/pw_trace_tokenized/bin/trace_tokenized_example_basic 21 // trace.bin 22 // 23 // DECODE 24 // python pw_trace_tokenized/py/trace_tokenized.py -i trace.bin -o trace.json 25 // ./out/pw_strict_host_clang_debug/obj/pw_trace_tokenized/bin/trace_tokenized_example_basic#trace 26 // 27 // VIEW 28 // In chrome navigate to chrome://tracing, and load the trace.json file. 29 30 #include "pw_log/log.h" 31 #include "pw_trace/example/sample_app.h" 32 #include "pw_trace_tokenized/example/trace_to_file.h" 33 #include "pw_trace_tokenized/trace_callback.h" 34 main(int argc,char ** argv)35int main(int argc, char** argv) { // Take filename as arg 36 if (argc != 2) { 37 PW_LOG_ERROR("Expected output file name as argument.\n"); 38 return -1; 39 } 40 41 // Enable tracing. 42 PW_TRACE_SET_ENABLED(true); 43 44 // Dump trace data to the file passed in. 45 pw::trace::TraceToFile trace_to_file(pw::trace::GetCallbacks(), argv[1]); 46 47 PW_LOG_INFO("Running basic trace example...\n"); 48 RunTraceSampleApp(); 49 return 0; 50 } 51