Skip to content

More fine-grained metrics for sidekiq workers

What does this MR do?

We currently only measure the global (node-level) business in terms of jobs being processed by sidekiq. We would instead like to be able to know for each sidekiq process how saturated it is in terms of actual concurrency vs requested/max concurrency.

This patch does the following:

  • change the PidProvider behavior for sidekiq to account for multi-process setups, so that we have a proper pid dimension that identifies sidekiq workers in a stable way
  • do not use livesum for sidekiq_running_jobs as that results in the pid label being dropped
  • some cleanup around how we pass around arguments in sidekiq-cluster

by relating "actual job count per process" to "max job count per process" we can then obtain some sort of saturation metric.

Does this MR meet the acceptance criteria?

Conformity

Closes #32258 (closed)

Edited by 🤖 GitLab Bot 🤖

Merge request reports