package testutils

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

Index

Types

type MockAgent

type MockAgent struct {
	// contains filtered or unexported fields
}

MockAgent is a mock representation of Jaeger Agent. It receives spans over UDP, and has an HTTP endpoint for sampling strategies.

func StartMockAgent

func StartMockAgent() (*MockAgent, error)

StartMockAgent runs a mock representation of jaeger-agent. This function returns a started server.

func (*MockAgent) AddSamplingStrategy

func (s *MockAgent) AddSamplingStrategy(service string, strategy interface{})

AddSamplingStrategy registers a sampling strategy for a service

func (*MockAgent) Close

func (s *MockAgent) Close()

Close stops the serving of traffic

func (*MockAgent) EmitBatch

func (s *MockAgent) EmitBatch(ctx context.Context, batch *jaeger.Batch) (err error)

EmitBatch implements EmitBatch() of TChanSamplingManagerServer

func (*MockAgent) EmitZipkinBatch

func (s *MockAgent) EmitZipkinBatch(context.Context, []*zipkincore.Span) (err error)

EmitZipkinBatch is deprecated, use EmitBatch

func (*MockAgent) GetJaegerBatches

func (s *MockAgent) GetJaegerBatches() []*jaeger.Batch

GetJaegerBatches returns accumulated Jaeger batches

func (*MockAgent) GetZipkinSpans

func (s *MockAgent) GetZipkinSpans() []*zipkincore.Span

GetZipkinSpans is deprecated use GetJaegerBatches

func (*MockAgent) IsServing

func (s *MockAgent) IsServing() bool

IsServing indicates whether the server is currently serving traffic

func (*MockAgent) ResetJaegerBatches

func (s *MockAgent) ResetJaegerBatches()

ResetJaegerBatches discards accumulated Jaeger batches

func (*MockAgent) ResetZipkinSpans

func (s *MockAgent) ResetZipkinSpans()

ResetZipkinSpans is deprecated use ResetJaegerBatches

func (*MockAgent) SamplingServerAddr

func (s *MockAgent) SamplingServerAddr() string

SamplingServerAddr returns the host:port of HTTP server exposing sampling strategy endpoint

func (*MockAgent) SpanServerAddr

func (s *MockAgent) SpanServerAddr() string

SpanServerAddr returns the UDP host:port where MockAgent listens for spans

func (*MockAgent) SpanServerClient

func (s *MockAgent) SpanServerClient() (agent.Agent, error)

SpanServerClient returns a UDP client that can be used to send spans to the MockAgent

type TUDPTransport

type TUDPTransport struct {
	// contains filtered or unexported fields
}

TUDPTransport does UDP as a thrift.TTransport (read-only, write functions not implemented).

func NewTUDPServerTransport

func NewTUDPServerTransport(hostPort string) (*TUDPTransport, error)

NewTUDPServerTransport creates a net.UDPConn-backed TTransport for Thrift servers It will listen for incoming udp packets on the specified host/port Example:

trans, err := utils.NewTUDPClientTransport("localhost:9001")

func (*TUDPTransport) Addr

func (p *TUDPTransport) Addr() net.Addr

Addr returns the address that the transport is listening on or writing to

func (*TUDPTransport) Close

func (p *TUDPTransport) Close() error

Close closes the connection

func (*TUDPTransport) Conn

func (p *TUDPTransport) Conn() *net.UDPConn

Conn retrieves the underlying net.UDPConn

func (*TUDPTransport) Flush

func (p *TUDPTransport) Flush() error

Flush flushes the write buffer as one udp packet

func (*TUDPTransport) IsOpen

func (p *TUDPTransport) IsOpen() bool

IsOpen returns true if the connection is open

func (*TUDPTransport) Open

func (p *TUDPTransport) Open() error

Open does nothing as connection is opened on creation Required to maintain thrift.TTransport interface

func (*TUDPTransport) Read

func (p *TUDPTransport) Read(buf []byte) (int, error)

Read reads one UDP packet and puts it in the specified buf

func (*TUDPTransport) RemainingBytes

func (p *TUDPTransport) RemainingBytes() uint64

RemainingBytes returns the max number of bytes (same as Thrift's StreamTransport) as we do not know how many bytes we have left.

func (*TUDPTransport) Write

func (p *TUDPTransport) Write(buf []byte) (int, error)

Write writes specified buf to the write buffer

Source Files

mock_agent.go sampling_manager.go udp_transport.go

Version
v2.30.0+incompatible (latest)
Published
Dec 7, 2021
Platform
linux/amd64
Imports
16 packages
Last checked
7 hours ago

Tools for package owners.