@@ -22,6 +22,7 @@ const (
2222 FlagTracingEndpoint = "tracing.endpoint"
2323 FlagTracingEndpointInsecure = "tracing.endpoint-insecure"
2424 FlagTracingTags = "tracing.tags"
25+ FlagTracingHeaders = "tracing.headers"
2526 FlagTracingRatio = "tracing.ratio"
2627)
2728
@@ -47,6 +48,11 @@ var TracingFlags = Flags{
4748 Usage : "A list of tags appended to every trace. Format: key=value." ,
4849 EnvVars : []string {"TRACING_TAGS" },
4950 },
51+ & cli.StringSliceFlag {
52+ Name : FlagTracingHeaders ,
53+ Usage : "A list of headers appended to every trace when supported by the exporter. Format: key=value." ,
54+ EnvVars : []string {"TRACING_HEADERS" },
55+ },
5056 & cli.Float64Flag {
5157 Name : FlagTracingRatio ,
5258 Usage : "The ratio between 0 and 1 of sample traces to take." ,
@@ -94,19 +100,30 @@ func createExporter(c *cli.Context) (trace.SpanExporter, error) {
94100 backend := c .String (FlagTracingExporter )
95101 endpoint := c .String (FlagTracingEndpoint )
96102
103+ var (
104+ headers map [string ]string
105+ err error
106+ )
107+ if h := c .StringSlice (FlagTracingHeaders ); len (h ) > 0 {
108+ headers , err = sliceToMap (h )
109+ if err != nil {
110+ return nil , err
111+ }
112+ }
113+
97114 switch backend {
98115 case "" :
99116 return nil , nil
100117 case "zipkin" :
101118 return zipkin .New (endpoint )
102119 case "otlphttp" :
103- opts := []otlptracehttp.Option {otlptracehttp .WithEndpoint (endpoint )}
120+ opts := []otlptracehttp.Option {otlptracehttp .WithEndpoint (endpoint ), otlptracehttp . WithHeaders ( headers ) }
104121 if c .Bool (FlagTracingEndpointInsecure ) {
105122 opts = append (opts , otlptracehttp .WithInsecure ())
106123 }
107124 return otlptracehttp .New (c .Context , opts ... )
108125 case "otlpgrpc" :
109- opts := []otlptracegrpc.Option {otlptracegrpc .WithEndpoint (endpoint )}
126+ opts := []otlptracegrpc.Option {otlptracegrpc .WithEndpoint (endpoint ), otlptracegrpc . WithHeaders ( headers ) }
110127 if c .Bool (FlagTracingEndpointInsecure ) {
111128 opts = append (opts , otlptracegrpc .WithInsecure ())
112129 }
0 commit comments