Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tracing support #835

Open
xmo-odoo opened this issue Jan 18, 2024 · 1 comment
Open

Tracing support #835

xmo-odoo opened this issue Jan 18, 2024 · 1 comment
Labels

Comments

@xmo-odoo
Copy link
Collaborator

This is mostly for the test suite as currently the experience is not great (especially when a problem chain involves dummy-central).

Rough idea:

  • have a fixture generate a trace id (per test) if enabled
  • do magic so capsys & co output their stuff to tracing (?)
  • make env pass that to the Environment, update Environment to add the trace id as a header to xmlrpc (ServerProxy(header) support was added in 3.8)
  • mangle logging to support tracing output (otel apparently has some integration with logging)
  • similarly with make_repo and the github session
  • update the mergebot/forwardbot to forward the trace id when it calls github (can just get it from the request headers)
  • update DC to take up that trace id and add it to its tracing context
  • find a way to collate all the tracing stuff back into pytest's stream capture things, so it's all displayed nice and tight in case of failure (see CaptureManager, possibly terminal_reporter, not entirely sure how to make pytest retrieve the tracing data, most likely all three processes need some config to sync on)
@xmo-odoo xmo-odoo moved this to ideas in Mergebot May 29, 2024
@xmo-odoo
Copy link
Collaborator Author

Also what client to use locally when testing? https://github.com/CtrlSpice/otel-desktop-viewer seems pretty lightweight and designed specifically for that, but it's not clear that it supports logs (CtrlSpice/otel-desktop-viewer#142) which would be quite critical here given odoo itself is mostly instrumented via logging.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: ideas
Development

No branches or pull requests

1 participant