Skip to content

Improve concurrency limits and pack-objects logs

For #5055 (closed) and #5054 (closed)

We employ multiple levels of concurrency limitation and it is crucial to have observability to comprehend how requests are being limited. Although Gitaly has some useful logs, particularly about queuing states, they need to be integrated with the gRPC logs, making it difficult to understand the situation. To address this, we have unified all concurrency-limiting logs in one location through this commit. Furthermore, we have added new logging concurrent-limiting fields to enhance the logging capabilities.

In addition, this MR also moves pack-object logs to gRPC logs using FieldsProducer. Beforehand, those logs are dumped out as independent lines of logs. It takes work to gather them in one place while working on an investigation.

Result

  • Per-RPC concurrency limiting - successful log

Screenshot_2023-05-03_at_15.43.52

  • Pack Objects concurrency limiting - successfully log

Screenshot_2023-05-03_at_15.58.03

  • Per-RPC concurrency limiting - failed log

Screenshot_2023-05-03_at_16.20.05

  • Pack Objects caching logs - cache miss. The logs include a lot of detailed information

Screenshot_2023-05-04_at_15.09.18

  • Pack Objects caching logs - cache hit. The logs include caching bytes only.

Screenshot_2023-05-04_at_15.09.50

Edited by Quang-Minh Nguyen

Merge request reports