tracer: add context to Options
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
This commit is contained in:
		| @@ -46,3 +46,13 @@ func NewSpanContext(ctx context.Context, span Span) context.Context { | ||||
| 	} | ||||
| 	return context.WithValue(ctx, spanKey{}, span) | ||||
| } | ||||
|  | ||||
| // SetOption returns a function to setup a context with given value | ||||
| func SetOption(k, v interface{}) Option { | ||||
| 	return func(o *Options) { | ||||
| 		if o.Context == nil { | ||||
| 			o.Context = context.Background() | ||||
| 		} | ||||
| 		o.Context = context.WithValue(o.Context, k, v) | ||||
| 	} | ||||
| } | ||||
|   | ||||
| @@ -1,6 +1,10 @@ | ||||
| package tracer | ||||
|  | ||||
| import "go.unistack.org/micro/v3/logger" | ||||
| import ( | ||||
| 	"context" | ||||
|  | ||||
| 	"go.unistack.org/micro/v3/logger" | ||||
| ) | ||||
|  | ||||
| // SpanOptions contains span option | ||||
| type SpanOptions struct { | ||||
| @@ -28,6 +32,8 @@ type Options struct { | ||||
| 	Logger logger.Logger | ||||
| 	// Name of the tracer | ||||
| 	Name string | ||||
| 	// Context used to store custome tracer options | ||||
| 	Context context.Context | ||||
| } | ||||
|  | ||||
| // Option func signature | ||||
|   | ||||
		Reference in New Issue
	
	Block a user