From 9feb4e3996129ee48685f06033c55c2a359215d2 Mon Sep 17 00:00:00 2001 From: Dmitriy Korneev Date: Wed, 7 Nov 2018 18:32:00 +0200 Subject: [PATCH 1/2] remove default values for jaeger --- cmd/jaeger.go | 8 ++++---- configs/acra-connector.yaml | 8 ++++---- configs/acra-server.yaml | 8 ++++---- configs/acra-translator.yaml | 8 ++++---- 4 files changed, 16 insertions(+), 16 deletions(-) diff --git a/cmd/jaeger.go b/cmd/jaeger.go index 85e8c9653..277a5a386 100644 --- a/cmd/jaeger.go +++ b/cmd/jaeger.go @@ -22,14 +22,14 @@ import ( ) var options = jaeger.Options{ - AgentEndpoint: "127.0.0.1:6831", - CollectorEndpoint: "127.0.0.1:14268", + AgentEndpoint: "", + CollectorEndpoint: "", } // RegisterJaegerCmdParameters register cli parameters with flag for jaeger options func RegisterJaegerCmdParameters() { - flag.StringVar(&options.AgentEndpoint, "jaeger_agent_endpoint", options.AgentEndpoint, "Jaeger agent endpoint that will be used to export trace data") - flag.StringVar(&options.CollectorEndpoint, "jaeger_collector_endpoint", options.CollectorEndpoint, "Jaeger endpoint that will be used to export trace data") + flag.StringVar(&options.AgentEndpoint, "jaeger_agent_endpoint", options.AgentEndpoint, "Jaeger agent endpoint (for example, localhost:6831) that will be used to export trace data") + flag.StringVar(&options.CollectorEndpoint, "jaeger_collector_endpoint", options.CollectorEndpoint, "Jaeger endpoint (for example, http://localhost:14268/api/traces) that will be used to export trace data") flag.StringVar(&options.Username, "jaeger_basic_auth_username", "", "Username used for basic auth (optional) to jaeger") flag.StringVar(&options.Password, "jaeger_basic_auth_password", "", "Password used for basic auth (optional) to jaeger") } diff --git a/configs/acra-connector.yaml b/configs/acra-connector.yaml index e7d2796bb..29d0292e1 100644 --- a/configs/acra-connector.yaml +++ b/configs/acra-connector.yaml @@ -67,8 +67,8 @@ incoming_connection_prometheus_metrics_string: # Connection string like tcp://x.x.x.x:yyyy or unix:///path/to/socket incoming_connection_string: tcp://127.0.0.1:9494/ -# Jaeger agent endpoint that will be used to export trace data -jaeger_agent_endpoint: 127.0.0.1:6831 +# Jaeger agent endpoint (for example, localhost:6831) that will be used to export trace data +jaeger_agent_endpoint: # Password used for basic auth (optional) to jaeger jaeger_basic_auth_password: @@ -76,8 +76,8 @@ jaeger_basic_auth_password: # Username used for basic auth (optional) to jaeger jaeger_basic_auth_username: -# Jaeger endpoint that will be used to export trace data -jaeger_collector_endpoint: 127.0.0.1:14268 +# Jaeger endpoint (for example, http://localhost:14268/api/traces) that will be used to export trace data +jaeger_collector_endpoint: # Folder from which will be loaded keys keys_dir: .acrakeys diff --git a/configs/acra-server.yaml b/configs/acra-server.yaml index ec0c279e2..ead17412f 100644 --- a/configs/acra-server.yaml +++ b/configs/acra-server.yaml @@ -64,8 +64,8 @@ incoming_connection_prometheus_metrics_string: # Connection string like tcp://x.x.x.x:yyyy or unix:///path/to/socket incoming_connection_string: tcp://0.0.0.0:9393/ -# Jaeger agent endpoint that will be used to export trace data -jaeger_agent_endpoint: 127.0.0.1:6831 +# Jaeger agent endpoint (for example, localhost:6831) that will be used to export trace data +jaeger_agent_endpoint: # Password used for basic auth (optional) to jaeger jaeger_basic_auth_password: @@ -73,8 +73,8 @@ jaeger_basic_auth_password: # Username used for basic auth (optional) to jaeger jaeger_basic_auth_username: -# Jaeger endpoint that will be used to export trace data -jaeger_collector_endpoint: 127.0.0.1:14268 +# Jaeger endpoint (for example, http://localhost:14268/api/traces) that will be used to export trace data +jaeger_collector_endpoint: # Folder from which will be loaded keys keys_dir: .acrakeys diff --git a/configs/acra-translator.yaml b/configs/acra-translator.yaml index 301f26f06..3cadb7e15 100644 --- a/configs/acra-translator.yaml +++ b/configs/acra-translator.yaml @@ -22,8 +22,8 @@ incoming_connection_http_string: # URL which will be used to expose Prometheus metrics (use /metrics address to pull metrics) incoming_connection_prometheus_metrics_string: -# Jaeger agent endpoint that will be used to export trace data -jaeger_agent_endpoint: 127.0.0.1:6831 +# Jaeger agent endpoint (for example, localhost:6831) that will be used to export trace data +jaeger_agent_endpoint: # Password used for basic auth (optional) to jaeger jaeger_basic_auth_password: @@ -31,8 +31,8 @@ jaeger_basic_auth_password: # Username used for basic auth (optional) to jaeger jaeger_basic_auth_username: -# Jaeger endpoint that will be used to export trace data -jaeger_collector_endpoint: 127.0.0.1:14268 +# Jaeger endpoint (for example, http://localhost:14268/api/traces) that will be used to export trace data +jaeger_collector_endpoint: # Folder from which will be loaded keys keys_dir: .acrakeys From a250a7c102f80f2923700fc4f49affdff091c192 Mon Sep 17 00:00:00 2001 From: Dmitriy Korneev Date: Wed, 7 Nov 2018 18:38:34 +0200 Subject: [PATCH 2/2] check that any endpoint is set for jaeger --- cmd/jaeger.go | 10 ++++++++++ cmd/tracing.go | 4 ++++ 2 files changed, 14 insertions(+) diff --git a/cmd/jaeger.go b/cmd/jaeger.go index 277a5a386..d10e9b607 100644 --- a/cmd/jaeger.go +++ b/cmd/jaeger.go @@ -17,6 +17,7 @@ limitations under the License. package cmd import ( + "errors" "flag" "go.opencensus.io/exporter/jaeger" ) @@ -25,6 +26,7 @@ var options = jaeger.Options{ AgentEndpoint: "", CollectorEndpoint: "", } +var ErrInvalidJaegerExporterEndpoint = errors.New("empty jaeger_agent_endpoint and jaeger_collector_endpoint") // RegisterJaegerCmdParameters register cli parameters with flag for jaeger options func RegisterJaegerCmdParameters() { @@ -38,3 +40,11 @@ func RegisterJaegerCmdParameters() { func GetJaegerCmdParameters() jaeger.Options { return options } + +// ValidateJaegerCmdParameters validate cli parameters +func ValidateJaegerCmdParameters() error { + if options.AgentEndpoint == "" && options.CollectorEndpoint == "" { + return ErrInvalidJaegerExporterEndpoint + } + return nil +} diff --git a/cmd/tracing.go b/cmd/tracing.go index 33c161faf..1897370a2 100644 --- a/cmd/tracing.go +++ b/cmd/tracing.go @@ -50,6 +50,10 @@ func SetupTracing(serviceName string) { trace.RegisterExporter(&logging.LogSpanExporter{}) } if IsTraceToJaegerOn() { + if err := ValidateJaegerCmdParameters(); err != nil { + log.WithError(err).Errorln("Invalid jaeger parameters") + os.Exit(1) + } jaegerOptions := GetJaegerCmdParameters() jaegerOptions.ServiceName = serviceName jaegerEndpoint, err := jaeger.NewExporter(jaegerOptions)