package transport

import "github.com/uber/jaeger-client-go/transport"

Package transport defines various transports that can be used with RemoteReporter to send spans out of process. Transport is responsible for serializing the spans into a specific format suitable for sending to the tracing backend. Examples may include Thrift over UDP, Thrift or JSON over HTTP, Thrift over Kafka, etc.

Implementations are NOT required to be thread-safe; the RemoteReporter is expected to only call methods on the Transport from the same go-routine.

Index

Types

type Transport

type Transport interface {
	// Append converts the span to the wire representation and adds it
	// to sender's internal buffer.  If the buffer exceeds its designated
	// size, the transport should call Flush() and return the number of spans
	// flushed, otherwise return 0. If error is returned, the returned number
	// of spans is treated as failed span, and reported to metrics accordingly.
	Append(span *zipkincore.Span) (int, error)

	// Flush submits the internal buffer to the remote server. It returns the
	// number of spans flushed. If error is returned, the returned number of
	// spans is treated as failed span, and reported to metrics accordingly.
	Flush() (int, error)

	io.Closer
}

Transport abstracts the method of sending spans out of process. Implementations are NOT required to be thread-safe; the RemoteReporter is expected to only call methods on the Transport from the same go-routine.

Source Files

doc.go transport.go

Directories

PathSynopsis
transport/udp
transport/zipkinPackage zipkin provides various Transports that can be used with RemoteReporter for submitting traces to Zipkin backend.
Version
v1.6.0
Published
Oct 14, 2016
Platform
windows/amd64
Imports
2 packages
Last checked
3 hours ago

Tools for package owners.