From 5711639a0cf22e86fa389e5c7a40e6d8cdb52a3b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juraci=20Paix=C3=A3o=20Kr=C3=B6hling?= Date: Thu, 15 Oct 2020 14:32:17 +0200 Subject: [PATCH] Add debug-level message on error for Jaeger Exporter MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Juraci Paixão Kröhling --- exporter/jaegerexporter/exporter.go | 6 +++++- exporter/jaegerexporter/factory.go | 4 ++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/exporter/jaegerexporter/exporter.go b/exporter/jaegerexporter/exporter.go index 01b5cafc5f5a..c9c444b137b6 100644 --- a/exporter/jaegerexporter/exporter.go +++ b/exporter/jaegerexporter/exporter.go @@ -19,6 +19,7 @@ import ( "fmt" jaegerproto "github.com/jaegertracing/jaeger/proto-gen/api_v2" + "go.uber.org/zap" "google.golang.org/grpc" "google.golang.org/grpc/metadata" @@ -32,7 +33,7 @@ import ( // newTraceExporter returns a new Jaeger gRPC exporter. // The exporter name is the name to be used in the observability of the exporter. // The collectorEndpoint should be of the form "hostname:14250" (a gRPC target). -func newTraceExporter(cfg *Config) (component.TraceExporter, error) { +func newTraceExporter(logger *zap.Logger, cfg *Config) (component.TraceExporter, error) { opts, err := cfg.GRPCClientSettings.ToDialOptions() if err != nil { @@ -46,6 +47,7 @@ func newTraceExporter(cfg *Config) (component.TraceExporter, error) { collectorServiceClient := jaegerproto.NewCollectorServiceClient(client) s := &protoGRPCSender{ + logger: logger, client: collectorServiceClient, metadata: metadata.New(cfg.GRPCClientSettings.Headers), waitForReady: cfg.WaitForReady, @@ -64,6 +66,7 @@ func newTraceExporter(cfg *Config) (component.TraceExporter, error) { // protoGRPCSender forwards spans encoded in the jaeger proto // format, to a grpc server. type protoGRPCSender struct { + logger *zap.Logger client jaegerproto.CollectorServiceClient metadata metadata.MD waitForReady bool @@ -89,6 +92,7 @@ func (s *protoGRPCSender) pushTraceData( ctx, &jaegerproto.PostSpansRequest{Batch: *batch}, grpc.WaitForReady(s.waitForReady)) if err != nil { + s.logger.Debug("failed to push trace data to Jaeger", zap.Error(err)) return td.SpanCount() - sentSpans, fmt.Errorf("failed to push trace data via Jaeger exporter: %w", err) } sentSpans += len(batch.Spans) diff --git a/exporter/jaegerexporter/factory.go b/exporter/jaegerexporter/factory.go index a9d703384212..4aff24a021ac 100644 --- a/exporter/jaegerexporter/factory.go +++ b/exporter/jaegerexporter/factory.go @@ -58,7 +58,7 @@ func createDefaultConfig() configmodels.Exporter { func createTraceExporter( _ context.Context, - _ component.ExporterCreateParams, + params component.ExporterCreateParams, config configmodels.Exporter, ) (component.TraceExporter, error) { @@ -71,7 +71,7 @@ func createTraceExporter( return nil, err } - exp, err := newTraceExporter(expCfg) + exp, err := newTraceExporter(params.Logger, expCfg) if err != nil { return nil, err }