trace_processor: add template substitution support for SQL metrics
Also implement the basic process counter metrics to prove the concept.
Context: go/perfetto-metrics
Bug: 129747127
Change-Id: Ia9304328f6368bca085135fac0178243ffc0d9df
diff --git a/tools/gen_merged_sql_metrics.py b/tools/gen_merged_sql_metrics.py
index 071423c..ba3b0c7 100755
--- a/tools/gen_merged_sql_metrics.py
+++ b/tools/gen_merged_sql_metrics.py
@@ -87,20 +87,19 @@
args = parser.parse_args()
# Extract the SQL output from each file.
- escaped_sql_outputs = {}
+ sql_outputs = {}
for file_name in args.sql_files:
with open(file_name, 'r') as f:
basename = os.path.basename(file_name)
-
- # Escape any quote characters.
- escaped_sql_outputs[basename] = "".join(f.readlines())
+ sql_outputs[basename] = "".join(
+ x for x in f.readlines() if not x.startswith('--'))
with open(args.cpp_out, 'w+') as output:
output.write(REPLACEMENT_HEADER)
output.write(NAMESPACE_BEGIN)
# Create the C++ variable for each SQL file.
- for name, sql in escaped_sql_outputs.items():
+ for name, sql in sql_outputs.items():
variable = filename_to_variable(os.path.splitext(name)[0])
output.write('\nconst char {}[] = R"gendelimiter(\n{})gendelimiter";\n'
.format(variable, sql))
@@ -109,7 +108,7 @@
# Create mapping of filename to variable name for each variable.
output.write("\nconst FileToSql kFileToSql[] = {")
- for name in escaped_sql_outputs.keys():
+ for name in sql_outputs.keys():
variable = filename_to_variable(os.path.splitext(name)[0])
output.write('\n {{"{}", {}}},\n'.format(name, variable))
output.write("};\n")