tp: move all raw ftrace events into a new ftrace_event table
This should make queries on ftrace_event (which was a view) *much*
faster. Note that ftrace_event is a subclass of raw so no existing
queries will be broken as a result of this.
Bug: 279086941
Change-Id: Id32b0d926a70fd08fa08349c5c594f3c2d5aa2b5
diff --git a/python/generators/trace_processor_table/serialize.py b/python/generators/trace_processor_table/serialize.py
index 0a8715c..2636733 100644
--- a/python/generators/trace_processor_table/serialize.py
+++ b/python/generators/trace_processor_table/serialize.py
@@ -114,7 +114,7 @@
return f'''
columns_.emplace_back("{self.name}", &{self.name}_, ColumnFlag::{self.name},
this, static_cast<uint32_t>(columns_.size()),
- overlay_idx);
+ olay_idx);
'''
def shrink_to_fit(self) -> Optional[str]:
@@ -243,12 +243,13 @@
ColumnSerializer.parent_row_initializer, delimiter=', ')
row_init = self.foreach_col(
ColumnSerializer.row_initializer, delimiter=',\n ')
+ parent_separator = ',' if row_init else ''
row_eq = self.foreach_col(ColumnSerializer.row_eq, delimiter=' &&\n ')
return f'''
struct Row : public {self.parent_class_name}::Row {{
Row({param},
std::nullptr_t = nullptr)
- : {self.parent_class_name}::Row({parent_row_init}),
+ : {self.parent_class_name}::Row({parent_row_init}){parent_separator}
{row_init} {{
type_ = "{self.table.sql_name}";
}}
@@ -297,22 +298,27 @@
'''
def constructor(self) -> str:
- col_init = self.foreach_col(
+ storage_init = self.foreach_col(
ColumnSerializer.storage_init, delimiter=',\n ')
if self.table.parent:
parent_param = f', {self.parent_class_name}* parent'
parent_arg = 'parent'
- parent_init = 'parent_(parent), '
+ parent_init = 'parent_(parent)' + (', ' if storage_init else '')
else:
parent_param = ''
parent_arg = 'nullptr'
parent_init = ''
+ col_init = self.foreach_col(ColumnSerializer.column_init)
+ if col_init:
+ olay = 'uint32_t olay_idx = static_cast<uint32_t>(overlays_.size()) - 1;'
+ else:
+ olay = ''
return f'''
explicit {self.table_name}(StringPool* pool{parent_param})
: macros_internal::MacroTable(pool, {parent_arg}),
- {parent_init}{col_init} {{
- uint32_t overlay_idx = static_cast<uint32_t>(overlays_.size()) - 1;
- {self.foreach_col(ColumnSerializer.column_init)}
+ {parent_init}{storage_init} {{
+ {olay}
+ {col_init}
}}
'''