Refactor debug/trace ready for Jaeger
This commit is contained in:
		| @@ -6,6 +6,7 @@ import ( | ||||
| 	"github.com/micro/go-micro/broker" | ||||
| 	"github.com/micro/go-micro/client" | ||||
| 	"github.com/micro/go-micro/client/selector" | ||||
| 	"github.com/micro/go-micro/debug/trace" | ||||
| 	"github.com/micro/go-micro/registry" | ||||
| 	"github.com/micro/go-micro/runtime" | ||||
| 	"github.com/micro/go-micro/server" | ||||
| @@ -28,6 +29,7 @@ type Options struct { | ||||
| 	Server    *server.Server | ||||
| 	Runtime   *runtime.Runtime | ||||
| 	Store     *store.Store | ||||
| 	Tracer    *trace.Tracer | ||||
|  | ||||
| 	Brokers    map[string]func(...broker.Option) broker.Broker | ||||
| 	Clients    map[string]func(...client.Option) client.Client | ||||
| @@ -37,6 +39,7 @@ type Options struct { | ||||
| 	Transports map[string]func(...transport.Option) transport.Transport | ||||
| 	Runtimes   map[string]func(...runtime.Option) runtime.Runtime | ||||
| 	Stores     map[string]func(...store.Option) store.Store | ||||
| 	Tracers    map[string]func(...trace.Option) trace.Tracer | ||||
|  | ||||
| 	// Other options for implementations of the interface | ||||
| 	// can be stored in a context | ||||
| @@ -100,6 +103,12 @@ func Server(s *server.Server) Option { | ||||
| 	} | ||||
| } | ||||
|  | ||||
| func Tracer(t *trace.Tracer) Option { | ||||
| 	return func(o *Options) { | ||||
| 		o.Tracer = t | ||||
| 	} | ||||
| } | ||||
|  | ||||
| // New broker func | ||||
| func NewBroker(name string, b func(...broker.Option) broker.Broker) Option { | ||||
| 	return func(o *Options) { | ||||
| @@ -148,3 +157,10 @@ func NewRuntime(name string, r func(...runtime.Option) runtime.Runtime) Option { | ||||
| 		o.Runtimes[name] = r | ||||
| 	} | ||||
| } | ||||
|  | ||||
| // New tracer func | ||||
| func NewTracer(name string, t func(...trace.Option) trace.Tracer) Option { | ||||
| 	return func(o *Options) { | ||||
| 		o.Tracers[name] = t | ||||
| 	} | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user