How to specify the protocol (HTTP/gRPC) for sending OpenTelemetry metrics?

The temporalio.runtime.OpenTelemetryConfig class only allows us to specify a url. How do I specify the protocol? Do I just use, for example, grpc://localhost:4317 if I want to connect to a gRPC endpoint?

It is always assumed to be gRPC. This is the same type of URL you might provide to OpenTelemetry OTLP Exporters — OpenTelemetry Python documentation.

Hmmm, why is it only grpc? It looks like I should be able to give it a HTTPS endpoint and an authorization headder to hit http in the Typescript SDK. Is the Temporal SDK enforcing that it use GRPC? Both Http and grpc are valid ways of exporting to opentelemetry.

If we use grpc, how do we setup the certificates for authentication?

We have an issue open for OTel HTTP support, but it is gRPC only at the moment. You can set a header but we do not currently support mTLS. We can open an issue for this as well.