@@ -95,6 +95,7 @@ def _validate_interceptors(interceptors: list) -> None:
9595async def get_temporal_client (
9696 temporal_address : str ,
9797 metrics_url : str | None = None ,
98+ metrics_headers : dict [str , str ] | None = None ,
9899 plugins : list = [],
99100 payload_codec : PayloadCodec | None = None ,
100101 data_converter : DataConverter | None = None ,
@@ -143,7 +144,10 @@ async def get_temporal_client(
143144 if not metrics_url :
144145 client = await Client .connect (** connect_kwargs )
145146 else :
146- runtime = Runtime (telemetry = TelemetryConfig (metrics = OpenTelemetryConfig (url = metrics_url )))
147+ runtime = Runtime (telemetry = TelemetryConfig (metrics = OpenTelemetryConfig (
148+ url = metrics_url ,
149+ headers = metrics_headers or {},
150+ )))
147151 connect_kwargs ["runtime" ] = runtime
148152 client = await Client .connect (** connect_kwargs )
149153 return client
@@ -159,6 +163,7 @@ def __init__(
159163 plugins : list = [],
160164 interceptors : list = [],
161165 metrics_url : str | None = None ,
166+ metrics_headers : dict [str , str ] | None = None ,
162167 payload_codec : PayloadCodec | None = None ,
163168 data_converter : DataConverter | None = None ,
164169 ):
@@ -174,6 +179,7 @@ def __init__(
174179 self .plugins = plugins
175180 self .interceptors = interceptors
176181 self .metrics_url = metrics_url
182+ self .metrics_headers = metrics_headers
177183 self .payload_codec = payload_codec
178184 self .data_converter = data_converter
179185
@@ -211,6 +217,7 @@ async def run(
211217 temporal_address = os .environ .get ("TEMPORAL_ADDRESS" , "localhost:7233" ),
212218 plugins = self .plugins ,
213219 metrics_url = self .metrics_url ,
220+ metrics_headers = self .metrics_headers ,
214221 payload_codec = self .payload_codec ,
215222 data_converter = self .data_converter ,
216223 )
0 commit comments