def

package
v0.5.2 Latest Latest
Warning

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

Go to latest
Published: May 29, 2021 License: MIT Imports: 22 Imported by: 0

Documentation

Overview

Package def provides default values for both commands and tests.

Index

Constants

View Source
const (
	LogServer   = "server"   // "OpenAPI", "gRPC", "Prometheus metrics", etc.
	LogRemoteIP = "remoteIP" // IP address.
	LogAddr     = "addr"     // host:port.
	LogHost     = "host"     // DNS hostname or IPv4/IPv6 address.
	LogPort     = "port"     // TCP/UDP port number.
	LogFunc     = "func"     // RPC/event handler method name, REST resource path.
	LogUserName = "userName"
	LogGRPCCode = "grpcCode"
)

Log field names.

View Source
const (
	PostgresDefaultStatementTimeout                = 3 * time.Second
	PostgresDefaultLockTimeout                     = 3 * time.Second
	PostgresDefaultIdleInTransactionSessionTimeout = 10 * time.Second
)

Default timeouts for PostgreSQL.

Variables

View Source
var (
	ProgName    = strings.TrimSuffix(path.Base(os.Args[0]), ".test")
	Hostname, _ = os.Hostname()

	TestSecond  = time.Duration(float64(time.Second) * testTimeFactor)
	TestTimeout = 7 * TestSecond
)

Constants.

Functions

func Init

func Init() error

Init must be called once before using this package. It provides common initialization for both commands and tests.

func MergeCancel added in v0.3.0

func MergeCancel(parent context.Context, extra Cancellation) (ctx context.Context, cancel context.CancelFunc)

MergeCancel implements proposal https://github.com/golang/go/issues/36503.

func NewContext

func NewContext(service string) context.Context

NewContext returns context.Background() which contains logger configured for given service.

func NewGoose

func NewGoose(service string) *goose.Instance

NewGoose creates a goose instance with configured logger.

func NewMySQLConfig

func NewMySQLConfig(cfg MySQLConfig) *mysql.Config

NewMySQLConfig creates a new default config for MySQL.

func Version

func Version() string

Version returns application version based on build info.

Types

type Cancellation added in v0.3.0

type Cancellation interface {
	Deadline() (deadline time.Time, ok bool)
	Done() <-chan struct{}
	Err() error
}

A Cancellation is an interface capturing only the deadline and cancellation functionality of a context.

type Metrics

type Metrics struct {
	PanicsTotal           prometheus.Counter
	MisconfigurationTotal prometheus.Counter
}

Metrics shared by all packages.

func NewMetrics

func NewMetrics(reg *prometheus.Registry) Metrics

NewMetrics registers and returns metrics shared by all packages.

type MySQLConfig

type MySQLConfig struct {
	Addr   netx.Addr
	User   string
	Pass   string
	DBName string
}

MySQLConfig contains MySQL connection and authentication details.

type PostgresConfig added in v0.4.0

type PostgresConfig struct {
	pqx.Config
}

PostgresConfig described connection parameters for github.com/lib/pq.

func NewPostgresConfig added in v0.4.0

func NewPostgresConfig(cfg pqx.Config) *PostgresConfig

NewPostgresConfig creates a new default config for PostgreSQL.

func (*PostgresConfig) Clone added in v0.4.0

func (c *PostgresConfig) Clone() *PostgresConfig

Clone returns a deep copy.

func (*PostgresConfig) UpdateConnectTimeout added in v0.4.0

func (c *PostgresConfig) UpdateConnectTimeout(ctx context.Context) error

UpdateConnectTimeout updates c accordingly to ctx.Deadline if c.ConnectTimeout isn't set or larger than ctx.Deadline.

Jump to

Keyboard shortcuts

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