@@ -49,6 +49,7 @@ import { getHyperDXMetricReader } from './metrics';
4949import { MutableAsyncLocalStorageContextManager } from './MutableAsyncLocalStorageContextManager' ;
5050import { Logger as OtelLogger } from './otel-logger' ;
5151import HyperDXSpanProcessor from './spanProcessor' ;
52+ import { parseOtlpHeaders } from './utils' ;
5253
5354const UI_LOG_PREFIX = '[⚡HyperDX]' ;
5455
@@ -215,6 +216,13 @@ export const initSDK = (config: SDKConfig) => {
215216 } ) ;
216217 ui . succeed ( 'Set default otel envs' ) ;
217218
219+ // Parse OTLP headers from environment variable
220+ const otlpHeaders = parseOtlpHeaders ( env . OTEL_EXPORTER_OTLP_HEADERS ) ;
221+ const healthCheckHeaders = {
222+ 'Content-Type' : 'application/json' ,
223+ ...otlpHeaders ,
224+ } ;
225+
218226 const stopOnTerminationSignals =
219227 config . stopOnTerminationSignals ??
220228 DEFAULT_HDX_NODE_STOP_ON_TERMINATION_SIGNALS ; // Stop by default
@@ -244,23 +252,17 @@ export const initSDK = (config: SDKConfig) => {
244252 Promise . all ( [
245253 healthCheckUrl ( ui , DEFAULT_OTEL_TRACES_EXPORTER_URL , {
246254 method : 'POST' ,
247- headers : {
248- 'Content-Type' : 'application/json' ,
249- } ,
255+ headers : healthCheckHeaders ,
250256 body : JSON . stringify ( { } ) ,
251257 } ) ,
252258 healthCheckUrl ( ui , _logger . getExporterUrl ( ) , {
253259 method : 'POST' ,
254- headers : {
255- 'Content-Type' : 'application/json' ,
256- } ,
260+ headers : healthCheckHeaders ,
257261 body : JSON . stringify ( { } ) ,
258262 } ) ,
259263 healthCheckUrl ( ui , DEFAULT_OTEL_METRICS_EXPORTER_URL , {
260264 method : 'POST' ,
261- headers : {
262- 'Content-Type' : 'application/json' ,
263- } ,
265+ headers : healthCheckHeaders ,
264266 body : JSON . stringify ( { } ) ,
265267 } ) ,
266268 ] ) ;
0 commit comments