Page MenuHomePhabricator

Log termbox SSR errors with MediaWiki request ID
Closed, ResolvedPublic8 Estimated Story Points

Description

As a developer investigating termbox problems, I want to be able to track which termbox SSR requests belong to which MediaWiki request.

Problem:
Currently, we (campsite crew) assume this is not possible beyond matching timestamps.

Example:
This came up during the discussion of T255436: Termbox Error Logging Should Differentiate between RemoteRenderer and Service timeouts..

Acceptance criteria:

  • From the logstash perspective, termbox-logged errors have a reqId field matching the original MediaWiki request ID.

Hints

  • README of the termbox code https://github.com/wikimedia/wikibase-termbox#wikibase-termbox (You'll need to install and run termbox using these instructions)
  • This code is included as a submodule of Wikibase.git for non SSR cases too
  • It is possible to run the termbox SSR locally for testing and examining the log output of the service locally

Open questions:

  • This probably means passing the WebRequest::getRequestId() to the SSR service, and then something in the service runner? Talk to WMF service-ops people about this.

Event Timeline

Addshore updated the task description. (Show Details)

Change 667206 had a related patch set uploaded (by Jakob; owner: Jakob):
[wikibase/termbox@master] Log termbox SSR errors with MediaWiki request ID

https://gerrit.wikimedia.org/r/667206

Just to follow up from IRC, yes, the standard MediaWiki HTTP wrappers should always pass along X-Request-Id. But the application shouldn't require it, since other things that hit the service directly (like monitoring, etc.) might not have the header.

Thanks @Legoktm for following up! Yes, I also remembered that e.g. the kubernetes health checks will hit the same endpoint without that header. The patch I uploaded handles that just fine, so we should be ok.

Change 667206 merged by jenkins-bot:
[wikibase/termbox@master] Log termbox SSR errors with MediaWiki request ID

https://gerrit.wikimedia.org/r/667206

Moving it back to doing since this needs manual deployment. I'll do that today or tomorrow.

Change 668364 had a related patch set uploaded (by Jakob; owner: Jakob):
[operations/deployment-charts@master] Update termbox to 2021-03-01-112916-production

https://gerrit.wikimedia.org/r/668364

Change 668364 merged by jenkins-bot:
[operations/deployment-charts@master] Update termbox to 2021-03-01-112916-production

https://gerrit.wikimedia.org/r/668364

Change 668651 had a related patch set uploaded (by Jakob; owner: Jakob):
[operations/deployment-charts@master] Update termbox to 2021-03-01-112916-production

https://gerrit.wikimedia.org/r/668651

Change 668651 merged by jenkins-bot:
[operations/deployment-charts@master] Update termbox to 2021-03-01-112916-production

https://gerrit.wikimedia.org/r/668651