diff --git a/exporters/trace/jaeger/agent.go b/exporters/trace/jaeger/agent.go index 76b2aff5109..403f2326954 100644 --- a/exporters/trace/jaeger/agent.go +++ b/exporters/trace/jaeger/agent.go @@ -111,9 +111,9 @@ func newAgentClientUDP(params agentClientUDPParams) (*agentClientUDP, error) { } // EmitBatch implements EmitBatch() of Agent interface -func (a *agentClientUDP) EmitBatch(batch *gen.Batch) error { +func (a *agentClientUDP) EmitBatch(ctx context.Context, batch *gen.Batch) error { a.thriftBuffer.Reset() - if err := a.client.EmitBatch(context.Background(), batch); err != nil { + if err := a.client.EmitBatch(ctx, batch); err != nil { return err } if a.thriftBuffer.Len() > a.maxPacketSize { diff --git a/exporters/trace/jaeger/jaeger.go b/exporters/trace/jaeger/jaeger.go index 2989bb65b31..ca0c34aaa8c 100644 --- a/exporters/trace/jaeger/jaeger.go +++ b/exporters/trace/jaeger/jaeger.go @@ -433,7 +433,8 @@ func (e *Exporter) Flush() { func (e *Exporter) upload(spans []*sdktrace.SpanSnapshot) error { batchList := jaegerBatchList(spans, e.defaultServiceName) for _, batch := range batchList { - err := e.uploader.upload(batch) + // TODO (MrAlias): pass an appropriate context (#1799, #1803). + err := e.uploader.upload(context.TODO(), batch) if err != nil { return err } diff --git a/exporters/trace/jaeger/jaeger_test.go b/exporters/trace/jaeger/jaeger_test.go index d74e6cde6c2..2e05922304b 100644 --- a/exporters/trace/jaeger/jaeger_test.go +++ b/exporters/trace/jaeger/jaeger_test.go @@ -251,7 +251,7 @@ type testCollectorEndpoint struct { batchesUploaded []*gen.Batch } -func (c *testCollectorEndpoint) upload(batch *gen.Batch) error { +func (c *testCollectorEndpoint) upload(_ context.Context, batch *gen.Batch) error { c.batchesUploaded = append(c.batchesUploaded, batch) return nil } diff --git a/exporters/trace/jaeger/uploader.go b/exporters/trace/jaeger/uploader.go index bfaa6ebc15f..2d9eefdbbb4 100644 --- a/exporters/trace/jaeger/uploader.go +++ b/exporters/trace/jaeger/uploader.go @@ -32,7 +32,7 @@ import ( // batchUploader send a batch of spans to Jaeger type batchUploader interface { - upload(batch *gen.Batch) error + upload(ctx context.Context, batch *gen.Batch) error } type EndpointOption func() (batchUploader, error) @@ -187,8 +187,8 @@ type agentUploader struct { var _ batchUploader = (*agentUploader)(nil) -func (a *agentUploader) upload(batch *gen.Batch) error { - return a.client.EmitBatch(batch) +func (a *agentUploader) upload(ctx context.Context, batch *gen.Batch) error { + return a.client.EmitBatch(ctx, batch) } // collectorUploader implements batchUploader interface sending batches to @@ -202,12 +202,12 @@ type collectorUploader struct { var _ batchUploader = (*collectorUploader)(nil) -func (c *collectorUploader) upload(batch *gen.Batch) error { +func (c *collectorUploader) upload(ctx context.Context, batch *gen.Batch) error { body, err := serialize(batch) if err != nil { return err } - req, err := http.NewRequest("POST", c.endpoint, body) + req, err := http.NewRequestWithContext(ctx, "POST", c.endpoint, body) if err != nil { return err }