@@ -317,11 +317,13 @@ func (a *App) initTracer() {
317
317
tracerHost := a .Config .Get ("TRACER_HOST" )
318
318
tracerPort := a .Config .GetOrDefault ("TRACER_PORT" , "9411" )
319
319
320
- if tracerURL == "" && ( tracerHost != "" || tracerPort != "" ) {
320
+ if tracerURL == "" && tracerHost != "" {
321
321
a .Logger ().Warn ("TRACER_HOST and TRACER_PORT are deprecated, use TRACER_URL instead" )
322
+
323
+ tracerURL = fmt .Sprintf ("%s:%s" , tracerHost , tracerPort )
322
324
}
323
325
324
- exporter , err := a .getExporter (context .Background (), traceExporter , tracerHost , tracerPort , tracerURL , authHeader )
326
+ exporter , err := a .getExporter (context .Background (), traceExporter , tracerURL , authHeader )
325
327
if err != nil {
326
328
a .container .Error (err )
327
329
}
@@ -334,27 +336,27 @@ func (a *App) initTracer() {
334
336
tp .RegisterSpanProcessor (batcher )
335
337
}
336
338
337
- func (a * App ) getExporter (ctx context.Context , name , host , port , url , authHeader string ) (sdktrace.SpanExporter , error ) {
339
+ func (a * App ) getExporter (ctx context.Context , name , url , authHeader string ) (sdktrace.SpanExporter , error ) {
338
340
var exporter sdktrace.SpanExporter
339
341
340
342
if name == "" {
341
343
a .Logger ().Errorf ("missing TRACE_EXPORTER config, should be provided with TRACER_URL to enable tracing" )
342
344
return exporter , nil
343
345
}
344
346
345
- if ( host == "" || port == "" ) && url == "" && name != traceExporterGoFr {
347
+ if url == "" && name != traceExporterGoFr {
346
348
a .Logger ().Errorf ("missing TRACER_URL config, should be provided with TRACE_EXPORTER to enable tracing" )
347
349
return exporter , nil
348
350
}
349
351
350
352
switch strings .ToLower (name ) {
351
353
case traceExporterOTLP :
352
- return a .buildOpenTelemetryProtocol (ctx , url , host , port , strings .ToLower (name ), authHeader )
354
+ return a .buildOpenTelemetryProtocol (ctx , url , strings .ToLower (name ), authHeader )
353
355
case traceExporterJaeger :
354
356
// jaeger accept OpenTelemetry Protocol (OTLP) .
355
- return a .buildOpenTelemetryProtocol (ctx , url , host , port , strings .ToLower (name ), authHeader )
357
+ return a .buildOpenTelemetryProtocol (ctx , url , strings .ToLower (name ), authHeader )
356
358
case traceExporterZipkin :
357
- return a .buildZipkin (url , host , port , authHeader )
359
+ return a .buildZipkin (url , authHeader )
358
360
case traceExporterGoFr :
359
361
return a .buildGofrTraceExporter (url )
360
362
default :
@@ -365,11 +367,7 @@ func (a *App) getExporter(ctx context.Context, name, host, port, url, authHeader
365
367
366
368
// buildOpenTelemetryProtocol using OpenTelemetryProtocol as the trace exporter
367
369
// jaeger accept OpenTelemetry Protocol (OTLP) over gRPC to upload trace data .
368
- func (a * App ) buildOpenTelemetryProtocol (ctx context.Context , url , host , port , exporter , authHeader string ) (sdktrace.SpanExporter , error ) {
369
- if url == "" {
370
- url = fmt .Sprintf ("%s:%s" , host , port )
371
- }
372
-
370
+ func (a * App ) buildOpenTelemetryProtocol (ctx context.Context , url , exporter , authHeader string ) (sdktrace.SpanExporter , error ) {
373
371
a .container .Logf ("Exporting traces to %s at %s" , exporter , url )
374
372
375
373
opts := []otlptracegrpc.Option {otlptracegrpc .WithInsecure (), otlptracegrpc .WithEndpoint (url )}
@@ -381,9 +379,9 @@ func (a *App) buildOpenTelemetryProtocol(ctx context.Context, url, host, port, e
381
379
return otlptracegrpc .New (ctx , opts ... )
382
380
}
383
381
384
- func (a * App ) buildZipkin (url , host , port , authHeader string ) (sdktrace.SpanExporter , error ) {
385
- if url == "" {
386
- url = fmt .Sprintf ("http://%s:%s /api/v2/spans" , host , port )
382
+ func (a * App ) buildZipkin (url , authHeader string ) (sdktrace.SpanExporter , error ) {
383
+ if ! strings . HasPrefix ( url , "http" ) {
384
+ url = fmt .Sprintf ("http://%s/api/v2/spans" , url )
387
385
}
388
386
389
387
a .container .Logf ("Exporting traces to zipkin at %s" , url )
0 commit comments