memcache

package
v1.24.0-rc.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 11, 2020 License: Apache-2.0, BSD-3-Clause, Apache-2.0 Imports: 6 Imported by: 0

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

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client struct {
	*memcache.Client
	// contains filtered or unexported fields
}

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

func (c *Client) Add(item *memcache.Item) error

Add invokes and traces Client.Add.

func (*Client) CompareAndSwap

func (c *Client) CompareAndSwap(item *memcache.Item) error

CompareAndSwap invokes and traces Client.CompareAndSwap.

func (*Client) Decrement

func (c *Client) Decrement(key string, delta uint64) (newValue uint64, err error)

Decrement invokes and traces Client.Decrement.

func (*Client) Delete

func (c *Client) Delete(key string) error

Delete invokes and traces Client.Delete.

func (*Client) DeleteAll

func (c *Client) DeleteAll() error

DeleteAll invokes and traces Client.DeleteAll.

func (*Client) FlushAll

func (c *Client) FlushAll() error

FlushAll invokes and traces Client.FlushAll.

func (*Client) Get

func (c *Client) Get(key string) (item *memcache.Item, err error)

Get invokes and traces Client.Get.

func (*Client) GetMulti

func (c *Client) GetMulti(keys []string) (map[string]*memcache.Item, error)

GetMulti invokes and traces Client.GetMulti.

func (*Client) Increment

func (c *Client) Increment(key string, delta uint64) (newValue uint64, err error)

Increment invokes and traces Client.Increment.

func (*Client) Replace

func (c *Client) Replace(item *memcache.Item) error

Replace invokes and traces Client.Replace.

func (*Client) Set

func (c *Client) Set(item *memcache.Item) error

Set invokes and traces Client.Set.

func (*Client) Touch

func (c *Client) Touch(key string, seconds int32) error

Touch invokes and traces Client.Touch.

func (*Client) WithContext

func (c *Client) WithContext(ctx context.Context) *Client

WithContext creates a copy of the Client with the given context.

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.

func WithValueTags added in v1.24.0

func WithValueTags() ClientOption

WithValueTags specifies whether values assigned to keys in memcache operations should be added to spans as tags.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL