Exposing activity queue length via Signals and custom metrics

I have noticed that a common request from users is to have a metric of activity backlog size. the alternatives suggested are to use proxies, such as request_to_start_latency.
Like this one:

I have a very spike shaped and variable (in size) workload to deal with, so the current builtin metrics are not ideal for autoscaling the activity workers.

I was wondering why the answers do not consider the option of using signals to an always-running workflow that collects information about activity queueing and execution, in order to expose the backlog size custom metric.

Or is this a viable solution?

I think I know why nobody was answering me…
Release v1.25.0 · temporalio/temporal · GitHub :heart:

Backlog number estimation, along with other metrics, have been integrated in DescribeTaskQueue API in v1.25.0.