1*14675a02SAndroid Build Coastguard Worker# Tracing Traits Generator 2*14675a02SAndroid Build Coastguard Worker 3*14675a02SAndroid Build Coastguard WorkerThis directory contains an implementation of a simple codegen tool 4*14675a02SAndroid Build Coastguard Worker`tracing_traits_generator` which uses FlatBuffers reflection to inspect 5*14675a02SAndroid Build Coastguard Workeruser-defined tracing schema and produces a C++ header file containing additional 6*14675a02SAndroid Build Coastguard Workertraits needed for `TracingSpan::Log<T>()` and `TracingSpan::CreateChild<T>()` to 7*14675a02SAndroid Build Coastguard Workerfunction properly. 8*14675a02SAndroid Build Coastguard Worker 9*14675a02SAndroid Build Coastguard WorkerThese traits allow for compile-time lookup of user-defined tags, additional 10*14675a02SAndroid Build Coastguard Workerattributes needed for tracking backend components to handle the data. 11*14675a02SAndroid Build Coastguard Worker 12*14675a02SAndroid Build Coastguard WorkerThis tool is automatically invoked during a build process with the help of 13*14675a02SAndroid Build Coastguard Worker`tracing_schema_cc_library` rule in `build/build_defs.bzl`. 14*14675a02SAndroid Build Coastguard Worker 15*14675a02SAndroid Build Coastguard WorkerExamples of codegen output for various input FlatBuffers schemas can be found in 16*14675a02SAndroid Build Coastguard Worker`testdata/*.baseline` files. 17