Documentation
¶
Overview ¶
Example ¶
Here's an example illustrating a simple use case for interacting with consul with tracing enabled.
// Get a new Consul client
client, err := NewClient(consul.DefaultConfig(), WithServiceName("consul.example"))
if err != nil {
log.Fatal(err)
}
// Optionally, create a new root span
root, ctx := tracer.StartSpanFromContext(context.Background(), "root_span",
tracer.SpanType(ext.SpanTypeConsul),
tracer.ServiceName("example"),
)
defer root.Finish()
client = client.WithContext(ctx)
// Get a handle to the KV API
kv := client.KV()
// PUT a new KV pair
p := &consul.KVPair{Key: "test", Value: []byte("1000")}
_, err = kv.Put(p, nil)
if err != nil {
log.Fatal(err)
}
// Lookup the pair
pair, _, err := kv.Get("test", nil)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%v: %s\n", pair.Key, pair.Value)
Output: test: 1000
Index ¶
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Client ¶
Client wraps the regular *consul.Client and augments it with tracing. Use NewClient to initialize it.
func NewClient ¶
func NewClient(config *consul.Config, opts ...ClientOption) (*Client, error)
NewClient returns a traced Consul client.
func WrapClient ¶
func WrapClient(c *consul.Client, opts ...ClientOption) *Client
WrapClient wraps a given consul.Client with a tracer under the given service name.
type ClientOption ¶
type ClientOption = v2.ClientOption
ClientOption represents an option that can be used to create or wrap a client.
func WithAnalytics ¶
func WithAnalytics(on bool) ClientOption
WithAnalytics enables Trace Analytics for all started spans.
func WithAnalyticsRate ¶
func WithAnalyticsRate(rate float64) ClientOption
WithAnalyticsRate sets the sampling rate for Trace Analytics events correlated to started spans.
func WithConfig ¶ added in v1.52.0
func WithConfig(config *consul.Config) ClientOption
WithConfig extracts the config information for the client to be tagged
func WithServiceName ¶
func WithServiceName(name string) ClientOption
WithServiceName sets the given service name for the client.