Documentation ¶
Index ¶
- type Builder
- func (b *Builder) CreateReporter(mFactory metrics.Factory, logger *zap.Logger) (*Reporter, error)
- func (b *Builder) WithChannel(c *tchannel.Channel) *Builder
- func (b *Builder) WithCollectorServiceName(s string) *Builder
- func (b *Builder) WithDiscoverer(d discovery.Discoverer) *Builder
- func (b *Builder) WithDiscoveryNotifier(n discovery.Notifier) *Builder
- type Reporter
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Builder ¶
type Builder struct { // collector server静态服务端口列表 CollectorHostPorts []string `yaml:"collectorHostPorts"` // 用于连接collector servers实例的数量,默认为3个。 // // 这个说明collector servers至少有三个实例 DiscoveryMinPeers int `yaml:"minPeers"` // collector服务名称 CollectorServiceName string `yaml:"collectorServiceName"` // 连接的超时时间设置 ConnCheckTimeout time.Duration // contains filtered or unexported fields }
Builder类似于Agent Builder,用于构建一个或者多个服务,组装服务所需要的各个组件,如:Processor server需要配置、需要创建Processor实例,并且把相关实例参数写入到Builder中
这个Builder主要用于Collector server的静态服务列表,或者动态服务发现的配置、实例相关构建
func (*Builder) CreateReporter ¶
CreateReporter方法用于创建Reporter实例,Reporter可以发送trace包到collector servers中
func (*Builder) WithChannel ¶
WithChannel方法用于设置获取相关服务Peers的channel
func (*Builder) WithCollectorServiceName ¶
WithCollectorServiceName方法用于设置collector server服务名称
func (*Builder) WithDiscoverer ¶
func (b *Builder) WithDiscoverer(d discovery.Discoverer) *Builder
WithDiscoverer方法用于设置Builder的属性值: 服务发现
type Reporter ¶
type Reporter struct {
// contains filtered or unexported fields
}
Reporter forwards received spans to central collector tier over TChannel. Reporter用于把processor从channel队列上接收trace, 通过tchannel发送到collector servers 因为Reporter实现了Reporter interface:EmitZipkinBatch和EmitBatch方法 前者用于zipkin数据格式进行rpc调用,后者用于jaeger数据格式进行rpc调用
func New ¶
func New( collectorServiceName string, channel *tchannel.Channel, peerListMgr *peerlistmgr.PeerListManager, mFactory metrics.Factory, zlogger *zap.Logger, ) *Reporter
New方法用于创建一个Reporter实例,并分别获取jaeger、thrift协议解析的client: zClient和jClient
func (*Reporter) EmitZipkinBatch ¶
func (r *Reporter) EmitZipkinBatch(spans []*zipkincore.Span) error
EmitZipkinBatch方法通过rpc调用,把spans传输给ZipkinCollector server