[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:
@@ -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)
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user