Documentation

Overview

    Package gomemcache provides tracing instrumentation for the memcached client (https://github.com/bradfitz/gomemcache).

    The instrumentation works by wrapping the memcache client by calling `NewClientWithTracing` and tracing it's every operation.

    Index

    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
    }

      Client is a wrapper around *memcache.Client.

      func NewClientWithTracing

      func NewClientWithTracing(client *memcache.Client, opts ...Option) *Client

        NewClientWithTracing wraps the provided memcache client to allow tracing of all client operations. Accepts options to set trace provider and service name, otherwise uses registered global trace provider and default value for service name.

        Every client operation starts a span with appropriate attributes, executes the operation and ends the span (additionally also sets a status error code and message, if an error occurs). Optionally, client context can be set before an operation with the WithContext method.

        func (*Client) Add

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

          Add invokes the add operation and traces it

          func (*Client) CompareAndSwap

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

            CompareAndSwap invokes the compare-and-swap operation and traces it

            func (*Client) Decrement

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

              Decrement invokes the decrement operation and traces it

              func (*Client) Delete

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

                Delete invokes the delete operation and traces it

                func (*Client) DeleteAll

                func (c *Client) DeleteAll() error

                  DeleteAll invokes the delete all operation and traces it

                  func (*Client) FlushAll

                  func (c *Client) FlushAll() error

                    FlushAll invokes the flush all operation and traces it

                    func (*Client) Get

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

                      Get invokes the get operation and traces it

                      func (*Client) GetMulti

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

                        GetMulti invokes the get operation for multiple keys and traces it

                        func (*Client) Increment

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

                          Increment invokes the increment operation and traces it

                          func (*Client) Ping

                          func (c *Client) Ping() error

                            Ping invokes the ping operation and traces it

                            func (*Client) Replace

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

                              Replace invokes the replace operation and traces it

                              func (*Client) Set

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

                                Set invokes the set operation and traces it

                                func (*Client) Touch

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

                                  Touch invokes the touch operation and traces it

                                  func (*Client) WithContext

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

                                    WithContext retruns a copy of the client with provided context

                                    type Option

                                    type Option func(*config)

                                      Option is used to configure the client.

                                      func WithServiceName

                                      func WithServiceName(serviceName string) Option

                                        WithServiceName sets the service name.

                                        func WithTraceProvider

                                        func WithTraceProvider(traceProvider oteltrace.Provider) Option

                                          WithTracer configures the client with the provided trace provider.

                                          Directories

                                          Path Synopsis
                                          memcache
                                          otelmemcache Module