Categorygithub.com/expediadotcom/haystack-client-go
modulepackage
0.0.0-20220217053354-74a82a83c5cc
Repository: https://github.com/expediadotcom/haystack-client-go.git
Documentation: pkg.go.dev

# README

Build Status License

Haystack bindings for Go OpenTracing API.

This is Haystack's client library for Golang that implements OpenTracing API 1.0.

How to use the library?

Check our detailed example on how to initialize tracer, start a span and send it to one of the dispatchers. This example is actually an integration test uses haystack-agent container

How to build this library?

git clone --recursive https://github.com/ExpediaDotCom/haystack-client-go - clone the repo

make glide - if you are running for the very first time

make test validate - go test and validate the code

# Packages

No description provided by the author

# Functions

ConvertToProtoTag converts to proto tag*/.
NewAgentDispatcher creates a new haystack-agent dispatcher*/.
NewDefaultAgentDispatcher creates a new haystack-agent dispatcher*/.
NewDefaultHTTPDispatcher creates a new http dispatcher*/.
NewDefaultTextMapPropagator returns a default text map propagator*/.
NewFileDispatcher creates a new file dispatcher*/.
NewGrpcClient returns a new grpc client*/.
NewHTTPClient returns a new http client*/.
NewHTTPDispatcher creates a new haystack-agent dispatcher*/.
NewInMemoryDispatcher creates a new in memory dispatcher*/.
No description provided by the author
NewTextMapPropagator returns a text map propagator*/.
NewTracer creates a new tracer*/.
No description provided by the author

# Constants

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# Variables

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
TracerOptionsFactory factory to create multiple tracer options*/.

# Structs

You can optionally use Batch to send a collection of spans.
DefaultCodex is a no op*/.
No description provided by the author
FileDispatcher file dispatcher*/.
GrpcClient grpc client*/.
HTTPClient a http client*/.
InMemoryDispatcher implements the Dispatcher interface*/.
Log is a timestamped event with a set of tags.
NullLogger does nothing*/.
PropagatorOpts defines the options need by a propagator*/.
RemoteDispatcher dispatcher, client can be grpc or http*/.
Span represents a unit of work performed by a service.
SpanContext implements opentracing.spanContext*/.
Tag is a strongly typed key/value pair.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
TextMapPropagator implements Propagator interface*/.
Tracer implements the opentracing.tracer*/.
TracerOptions a list of tracer options*/.
URLCodex encodes decodes a url*/.

# Interfaces

Codex defines the interface for encoding and decoding the propagated data*/.
Dispatcher dispatches the span object*/.
Logger defines a new logger interface*/.
Propagator defines the interface for injecting and extracing the SpanContext from the carrier*/.
RemoteClient remote client*/.
SpanAgentClient is the client API for SpanAgent service.
SpanAgentServer is the server API for SpanAgent service.

# Type aliases

No description provided by the author
TagType denotes the type of a Tag's value.
TracerOption is a function that sets some option on the tracer.