Feature category in sidekiq logs is the one from the caller, not the worker

When we schedule a worker, the Labkit Sidekiq client-middleware writes the context in the job hash: https://gitlab.com/gitlab-org/labkit-ruby/blob/7ac05527247ee565124bba2346318d6be7de1a6d/lib/labkit/middleware/sidekiq/context/client.rb#L13

This context runs inside the Gitlab::SidekiqMiddleware::WorkerContext::Client, this middleware is there to add any context added to the worker class itself, or for the batched arguments. But it does not add the feature_category. Therefore the feature category from the caller will be present, causing this category to be logged.

We should merge in the feature category defined on the worker class from the Gitlab::SidekiqMiddleware::WorkerContext::Client so the feature category there matches the one that would be counted in the metrics: https://gitlab.com/gitlab-org/gitlab/blob/2e7c88a08b284cdd26ad9a40d102b569a0a1a1e0/lib/gitlab/sidekiq_middleware/metrics_helper.rb#L28

Edited by Bob Van Landuyt