Documentation

Overview

    Package sql provides functions to trace the database/sql package (https://golang.org/pkg/database/sql). It will automatically augment operations such as connections, statements and transactions with tracing.

    We start by telling the package which driver we will be using. For example, if we are using "github.com/lib/pq", we would do as follows:

    sqltrace.Register("pq", pq.Driver{})
    db, err := sqltrace.Open("pq", "postgres://pqgotest:password@localhost...")
    

    The rest of our application would continue as usual, but with tracing enabled.

    Example
    Output:
    
    
    Example (Context)
    Output:
    
    
    Example (Sqlite)
    Output:
    
    

    Index

    Examples

    Constants

    This section is empty.

    Variables

    This section is empty.

    Functions

    func Open

    func Open(driverName, dataSourceName string, opts ...Option) (*sql.DB, error)

      Open returns connection to a DB using a the traced version of the given driver. In order for Open to work, the driver must first be registered using Register. If this did not occur, Open will return an error.

      func OpenDB

      func OpenDB(c driver.Connector, opts ...Option) *sql.DB

        OpenDB returns connection to a DB using a the traced version of the given driver. In order for OpenDB to work, the driver must first be registered using Register. If this did not occur, OpenDB will panic.

        func Register

        func Register(driverName string, driver driver.Driver, opts ...RegisterOption)

          Register tells the sql integration package about the driver that we will be tracing. It must be called before Open, if that connection is to be traced. It uses the driverName suffixed with ".db" as the default service name.

          func WithSpanTags

          func WithSpanTags(ctx context.Context, tags map[string]string) context.Context

            WithSpanTags creates a new context containing the given set of tags. They will be added to any query created with the returned context.

            Types

            type Option

            type Option func(*config)

              Option represents an option that can be passed to Register, Open or OpenDB.

              func WithAnalytics

              func WithAnalytics(on bool) Option

                WithAnalytics enables Trace Analytics for all started spans.

                func WithAnalyticsRate

                func WithAnalyticsRate(rate float64) Option

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

                  func WithDSN

                  func WithDSN(name string) Option

                    WithDSN allows the data source name (DSN) to be provided when using OpenDB and a driver.Connector. The value is used to automatically set tags on spans.

                    func WithServiceName

                    func WithServiceName(name string) Option

                      WithServiceName sets the given service name when registering a driver, or opening a database connection.

                      type RegisterOption

                      type RegisterOption = Option

                        RegisterOption has been deprecated in favor of Option.

                        Directories

                        Path Synopsis