While working on BEAM-6597, I ran into the issue that not all runners support the non-deprecated metrics protocol. Additionally, there is no way for the runner to inform the worker whether it supports this protocol.
I was thinking about adding a "runner_capabilities" field to ProvisionInfo [1] similar to the (SDK) capabilities [2] specified in the environment proto to specify an SDK may take advantage of some capability of the runner. Does anyone have other ideas about where this information should go? [1] https://github.com/apache/beam/blob/master/model/fn-execution/src/main/proto/beam_provision_api.proto [2] https://github.com/apache/beam/blob/release-2.28.0/model/pipeline/src/main/proto/beam_runner_api.proto#L1437
