Documentation

Overview

    Package redigo provides functions to trace the gomodule/redigo package (https://github.com/gomodule/redigo).

    Example

      To start tracing Redis commands, use the TracedDial function to create a connection, passing in a service name of choice.

      Output:
      
      
      Example (DialURL)

        Alternatively, provide a redis URL to the TracedDialURL function

        Output:
        
        
        Example (Pool)

          When using a redigo Pool, set your Dial function to return a traced connection

          Output:
          
          
          Example (TracedConn)
          Output:
          
          

          Index

          Examples

          Constants

          This section is empty.

          Variables

          This section is empty.

          Functions

          func Dial

          func Dial(network, address string, options ...interface{}) (redis.Conn, error)

            Dial dials into the network address and returns a traced redis.Conn. The set of supported options must be either of type redis.DialOption or this package's DialOption.

            func DialURL

            func DialURL(rawurl string, options ...interface{}) (redis.Conn, error)

              DialURL connects to a Redis server at the given URL using the Redis URI scheme. URLs should follow the draft IANA specification for the scheme (https://www.iana.org/assignments/uri-schemes/prov/redis). The returned redis.Conn is traced.

              Types

              type Conn

              type Conn struct {
              	redis.Conn
              	// contains filtered or unexported fields
              }

                Conn is an implementation of the redis.Conn interface that supports tracing

                func (Conn) Do

                func (tc Conn) Do(commandName string, args ...interface{}) (reply interface{}, err error)

                  Do wraps redis.Conn.Do. It sends a command to the Redis server and returns the received reply. In the process it emits a span containing key information about the command sent. When passed a context.Context as the final argument, Do will ensure that any span created inherits from this context. The rest of the arguments are passed through to the Redis server unchanged.

                  type ConnWithTimeout

                  type ConnWithTimeout struct {
                  	redis.ConnWithTimeout
                  	// contains filtered or unexported fields
                  }

                    ConnWithTimeout is an implementation of the redis.ConnWithTimeout interface that supports tracing

                    func (ConnWithTimeout) Do

                    func (tc ConnWithTimeout) Do(commandName string, args ...interface{}) (reply interface{}, err error)

                      Do wraps redis.Conn.Do. It sends a command to the Redis server and returns the received reply. In the process it emits a span containing key information about the command sent. When passed a context.Context as the final argument, Do will ensure that any span created inherits from this context. The rest of the arguments are passed through to the Redis server unchanged.

                      func (ConnWithTimeout) DoWithTimeout

                      func (tc ConnWithTimeout) DoWithTimeout(readTimeout time.Duration, commandName string, args ...interface{}) (reply interface{}, err error)

                        DoWithTimeout wraps redis.Conn.DoWithTimeout. It sends a command to the Redis server and returns the received reply. In the process it emits a span containing key information about the command sent. When passed a context.Context as the final argument, Do will ensure that any span created inherits from this context. The rest of the arguments are passed through to the Redis server unchanged.

                        type DialOption

                        type DialOption func(*dialConfig)

                          DialOption represents an option that can be passed to Dial.

                          func WithAnalytics

                          func WithAnalytics(on bool) DialOption

                            WithAnalytics enables Trace Analytics for all started spans.

                            func WithAnalyticsRate

                            func WithAnalyticsRate(rate float64) DialOption

                              WithAnalyticsRate sets the sampling rate for Trace Analytics events correlated to started spans.

                              func WithServiceName

                              func WithServiceName(name string) DialOption

                                WithServiceName sets the given service name for the dialled connection.