Documentation ¶
Overview ¶
Package memcache provides functions to trace the bradfitz/gomemcache package (https://github.com/bradfitz/gomemcache).
`WrapClient` will wrap a memcache `Client` and return a new struct with all the same methods, so should be seamless for existing applications. It also has an additional `WithContext` method which can be used to connect a span to an existing trace.
Example ¶
package main import ( "context" "github.com/bradfitz/gomemcache/memcache" memcachetrace "gopkg.in/DataDog/dd-trace-go.v1/contrib/bradfitz/gomemcache/memcache" "gopkg.in/DataDog/dd-trace-go.v1/ddtrace/tracer" ) func main() { span, ctx := tracer.StartSpanFromContext(context.Background(), "parent.request", tracer.ServiceName("web"), tracer.ResourceName("/home"), ) defer span.Finish() mc := memcachetrace.WrapClient(memcache.New("127.0.0.1:11211")) // you can use WithContext to set the parent span mc.WithContext(ctx).Set(&memcache.Item{Key: "my key", Value: []byte("my value")}) }
Output:
Index ¶
- type Client
- func (c *Client) Add(item *memcache.Item) error
- func (c *Client) CompareAndSwap(item *memcache.Item) error
- func (c *Client) Decrement(key string, delta uint64) (newValue uint64, err error)
- func (c *Client) Delete(key string) error
- func (c *Client) DeleteAll() error
- func (c *Client) FlushAll() error
- func (c *Client) Get(key string) (item *memcache.Item, err error)
- func (c *Client) GetMulti(keys []string) (map[string]*memcache.Item, error)
- func (c *Client) Increment(key string, delta uint64) (newValue uint64, err error)
- func (c *Client) Replace(item *memcache.Item) error
- func (c *Client) Set(item *memcache.Item) error
- func (c *Client) Touch(key string, seconds int32) error
- func (c *Client) WithContext(ctx context.Context) *Client
- type ClientOption
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Client ¶
A Client is used to trace requests to the memcached server.
func WrapClient ¶
func WrapClient(client *memcache.Client, opts ...ClientOption) *Client
WrapClient wraps a memcache.Client so that all requests are traced using the default tracer with the service name "memcached".
func (*Client) Add ¶
Add invokes and traces Client.Add.
func (*Client) CompareAndSwap ¶
CompareAndSwap invokes and traces Client.CompareAndSwap.
func (*Client) Decrement ¶
Decrement invokes and traces Client.Decrement.
func (*Client) Delete ¶
Delete invokes and traces Client.Delete.
func (*Client) DeleteAll ¶
DeleteAll invokes and traces Client.DeleteAll.
func (*Client) FlushAll ¶
FlushAll invokes and traces Client.FlushAll.
func (*Client) Get ¶
Get invokes and traces Client.Get.
func (*Client) GetMulti ¶
GetMulti invokes and traces Client.GetMulti.
func (*Client) Increment ¶
Increment invokes and traces Client.Increment.
func (*Client) Replace ¶
Replace invokes and traces Client.Replace.
func (*Client) Set ¶
Set invokes and traces Client.Set.
func (*Client) Touch ¶
Touch invokes and traces Client.Touch.
type ClientOption ¶
type ClientOption func(*clientConfig)
ClientOption represents an option that can be passed to Dial.
func WithAnalytics ¶ added in v1.11.0
func WithAnalytics(on bool) ClientOption
WithAnalytics enables Trace Analytics for all started spans.
func WithAnalyticsRate ¶ added in v1.11.0
func WithAnalyticsRate(rate float64) ClientOption
WithAnalyticsRate sets the sampling rate for Trace Analytics events correlated to started spans.
func WithServiceName ¶
func WithServiceName(name string) ClientOption
WithServiceName sets the given service name for the dialled connection.