Skip to content

[18.0][ADD] otel#3561

Draft
ryanc-me wants to merge 2 commits intoOCA:18.0from
ryanc-me:18.0-add-otel
Draft

[18.0][ADD] otel#3561
ryanc-me wants to merge 2 commits intoOCA:18.0from
ryanc-me:18.0-add-otel

Conversation

@ryanc-me
Copy link

@ryanc-me ryanc-me commented Mar 18, 2026

This is still very WIP.

Things to do:

  • Cron tracing
  • Add span/trace IDs to logs (https://opentelemetry-python-contrib.readthedocs.io/en/latest/instrumentation/logging/logging.html)
  • Support for logging to an OTel collector?
  • Add optional odoo.http-level tracing (i.e., all requests), with docs on sampling to extract wanted info
  • Allow enable/disable tracing per level (RPC, ORM, Cron, DB). For each type, a few options:
    • Allowlist for methods (empty for all)
    • Allow excluding particular models (ir.model.access, etc)
    • Allow excluding model:method pairs?
    • Only trace when parent is tracing (possible for DB?)
  • PII handling
  • Tidy up bootstrap code (metrics/logs not required?)

The work is split into a few modules:

  • otel is the base OpenTelemetry integration, Python-only (i.e., traces from the Odoo backend)
  • otel_web adds support for tracing from the client-side. Split into a separate module so migrations are easier (JS-heavy modules tend to take longer to be migrated)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

1 participant