stateful

package
v0.0.2 Latest Latest
Warning

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

Go to latest
Published: Dec 9, 2021 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	BFEProductID int64 = 1

	IgnoreBNSStatusCheck bool
)
View Source
var (
	SQLLogger    log4go.Logger
	AccessLogger log4go.Logger
)
View Source
var (
	MetricAPICostHisCounter = prometheus.NewCounterVec(prometheus.CounterOpts{
		Name: "api_cost",
	}, []string{"pattern", "status_code", "method"})
	MetricAPIAccessCounter = prometheus.NewCounterVec(prometheus.CounterOpts{
		Name: "api_access",
	}, []string{"pattern", "status_code", "method"})
	MetricSQLCostCounter = prometheus.NewCounterVec(prometheus.CounterOpts{
		Name: "sql_cost",
	}, []string{"sql"})
	MetricSQLAccessCounter = prometheus.NewCounterVec(prometheus.CounterOpts{
		Name: "sql_access",
	}, []string{"sql"})

	MetricPaincCounter = prometheus.NewCounter(prometheus.CounterOpts{
		Name: "panic",
	})
)
View Source
var DBs map[string]*sql.DB

Functions

func BFEDB

func BFEDB(db ...*sql.DB) (*sql.DB, error)

func CloseLog

func CloseLog()

func DbGet

func DbGet(name string) (*sql.DB, error)

func Exit

func Exit(topic string, err error, code int)

func InitI18n

func InitI18n(i18nConfig []*I18nConfig) error

func LoadConfig

func LoadConfig(file string) error

func NewBFEDBContext

func NewBFEDBContext(ctx context.Context, ops ...*lib.Op) (*lib.DBContext, error)

func NewDB

func NewDB(dbConfig *DbConfig) (*sql.DB, error)

func NewMonitorServerWithRun

func NewMonitorServerWithRun(version string, port int) *web_monitor.MonitorServer

func TryMappingErrMsg

func TryMappingErrMsg(req *http.Request, errMsg string) string

Types

type Config

type Config struct {
	Server    ServerConfig
	Loggers   map[string]*LoggerConfig `validate:"dive"`
	Databases map[string]*DbConfig     `validate:"dive"`
	Depends   DependsConfig
	RunTime   RunTimeConfig

	Vars      map[string]string
	LogDir    string
	ConfigDir string
}
var DefaultConfig *Config

func (*Config) Init

func (config *Config) Init() error

func (*Config) InitDB

func (d *Config) InitDB() error

func (*Config) InitLog

func (config *Config) InitLog() error

type DbConfig

type DbConfig struct {
	mysql.Config

	Driver string `validate:"required,min=1"`

	ConnMaxIdleTimeMs int
	ConnMaxLifetimeMs int
	MaxOpenConns      int `validate:"required,min=0"` // max open connections in database connection pool
	MaxIdleConns      int // max idle connections in database connection pool
}

type DependsConfig

type DependsConfig struct {
	NavTreeFile string `validate:"required,min=1"`
	I18nDir     string `validate:"required,min=1"`
	UIIcon      string
	// contains filtered or unexported fields
}

func (*DependsConfig) Init

func (d *DependsConfig) Init() error

func (*DependsConfig) Role2Nav

func (dc *DependsConfig) Role2Nav() map[string]*NavTree

type I18nConfig

type I18nConfig struct {
	Lang    string
	Mapping map[string]string
}

type LangMapping

type LangMapping struct {
	From string
	To   string
	// contains filtered or unexported fields
}

func NewLangMapping

func NewLangMapping(from, to string) (*LangMapping, error)

func (*LangMapping) TryTrans

func (mm *LangMapping) TryTrans(raw string) (string, bool)

type LoggerConfig

type LoggerConfig struct {
	LogName     string `validate:"required,min=1"`
	LogLevel    string `validate:"required,oneof=DEBUG TRACE INFO WARNING ERROR CRITICAL"`
	RotateWhen  string `validate:"required,oneof=M H D MIDNIGHT"` // rotate time
	BackupCount int    `validate:"required,min=1"`                // backup files
	Format      string
	StdOut      bool
}
type NavTree struct {
	ID         string     `json:"id" toml:"id"`
	Text       string     `json:"text" toml:"text"`
	AllowRoles []string   `json:"allowed_roles,omitempty" toml:"allowed_roles"`
	Children   []*NavTree `json:"children,omitempty" toml:"children"`
}

type RunTimeConfig

type RunTimeConfig struct {
	SessionExpireDay  int  `validate:"required,min=1"`
	SkipTokenValidate bool // skip user identify, you can open it when debug
	RecordSQL         bool
	StaticFilePath    string
	Debug             bool
}

type SQLRecord

type SQLRecord struct {
	Cost time.Duration
	SQL  string
	Args []interface{}
	Err  error
}

func (*SQLRecord) Print

func (sr *SQLRecord) Print(ctx context.Context)

func (*SQLRecord) String

func (sr *SQLRecord) String(ctx context.Context) string

func (*SQLRecord) UpdateMonitor

func (sr *SQLRecord) UpdateMonitor()

type ServerConfig

type ServerConfig struct {
	ServerPort        int `validate:"required,min=1"` // service port
	MonitorPort       int // monitor port
	GracefulTimeOutMs int `validate:"required,min=1"` // time out setting for graceful shutdown
}

Directories

Path Synopsis
rdb

Jump to

Keyboard shortcuts

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