[IMP] base: display query counts on profiling records

closes odoo/odoo#83746

Signed-off-by: Xavier Dollé (xdo) <xdo@odoo.com>
This commit is contained in:
Victor Feyens
2022-02-08 10:03:59 +00:00
parent c1aae31127
commit 9a0bf4785d
3 changed files with 9 additions and 4 deletions
+1
View File
@@ -32,6 +32,7 @@ class IrProfile(models.Model):
init_stack_trace = fields.Text('Initial stack trace', prefetch=False)
sql = fields.Text('Sql', prefetch=False)
sql_count = fields.Integer('Queries Count')
traces_async = fields.Text('Traces Async', prefetch=False)
traces_sync = fields.Text('Traces Sync', prefetch=False)
qweb = fields.Text('Qweb', prefetch=False)
+7 -4
View File
@@ -22,6 +22,7 @@
<field name="session"/>
<field name="name"/>
<field name="entry_count"/>
<field name="sql_count" optional="hide"/>
<field name="speedscope_url" widget="url"/>
<field name="duration"/>
</tree>
@@ -37,9 +38,11 @@
<field name="name"/>
<field name="session"/>
<field name="entry_count"/>
<!-- Do not rely on sql field for the invisible attrs to avoid fetching whole trace from server. -->
<field name="sql_count" attrs="{'invisible': [('sql_count', '=', 0)]}"/>
<field name="speedscope_url" widget="url"/>
</group>
<group attrs="{'invisible': [('qweb','=', '')]}">
<group attrs="{'invisible': [('qweb', '=', '')]}">
<field name="qweb" widget="profiling_qweb_view" nolabel="1"/>
</group>
</form>
@@ -78,10 +81,10 @@
<field name="context">{'search_default_group_session': 1}</field>
</record>
<menuitem
<menuitem
name="Profiling"
action="action_menu_ir_profile"
id="menu_ir_profile"
action="action_menu_ir_profile"
id="menu_ir_profile"
parent="base.next_id_9"/>
</odoo>
+1
View File
@@ -586,6 +586,7 @@ class Profiler:
"init_stack_trace": json.dumps(_format_stack(self.init_stack_trace)),
"duration": self.duration,
"entry_count": self.entry_count(),
"sql_count": sum(len(collector.entries) for collector in self.collectors if collector.name == 'sql')
}
for collector in self.collectors:
if collector.entries: