Job Queue Profiler

queue_job_profiler
REPOSITORY
REPOSITORYOCA/queue
GIT
GIThttps://github.com/OCA/queue.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/queue/tree/18.0/queue_job_profiler
VERSION
VERSION 1.0.1
CATEGORY
CATEGORYGeneric Modules
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Camptocamp
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Camptocamp
COMMITTERS
COMMITTERSThierry Ducrest, Weblate, OCA-git-bot, Simone Orsi, oca-ci
WEBSITE
WEBSITEhttps://github.com/OCA/queue
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:30:14
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/queue:
    - queue_job
odoo/odoo:
    - mail
    - base
    - base_setup
    - web
    - bus
    - web_tour
    - html_editor
    - base_sparse_field
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES requests
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This addon adds profiling controls to queue job functions and wraps
queue job execution in an Odoo profiler session when enabled.

When profiling is enabled for a job function and the executing user
matches one of the configured profiling users (or no users are set),
the queue job runner records
SQL and async stack traces via `odoo.tools.profiler.Profiler` and saves
the results into `ir_profile`.

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
queue_job_form_profiler queue.job.form.profiler queue.job xpath Inherits queue_job.view_queue_job_form
queue_job_function_form_profiler queue.job.function.form.profiler queue.job.function xpath Inherits queue_job.view_queue_job_function_form
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (2)

New fields (1)
  • job_is_profiled Boolean
    compute='_compute_job_is_profiled' compute_sudo=True default=False help='Whether this job has been profiled or not.' string='Profiled'
Public methods (1)
  • action_view_profile(self)

New fields (3)
  • profiling_enabled Boolean
    help='Indicates whether profiling is enabled for this job function.' string='Profiling enabled'
  • profiling_until Datetime
    help='The date and time until which profiling is enabled for this job function.' string='Profiling until'
  • profiling_user_ids Many2many → res.users
    help='The users allowed to perform profiling for this job function.' string='Profiling users' args: 'res.users'
Public methods (1)
  • is_profiling_enabled(self)