ux

package
v0.1.31 Latest Latest
Warning

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

Go to latest
Published: Jun 30, 2025 License: Apache-2.0 Imports: 20 Imported by: 0

Documentation

Index

Constants

View Source
const (
	AppDesc             = "Prequel is the open and community-driven problem detector for Common Reliability Enumerations (CREs)."
	ErrorCategoryRules  = "Rules"
	ErrorCategoryData   = "Data"
	ErrorCategoryConfig = "Config"
	ErrorCategoryAuth   = "Auth"
	ErrorHelpDataStr    = "https://docs.prequel.dev/timestamps"
)
View Source
const (
	DownloadPreqLinkFmt            = "https://github.com/prequel-dev/preq/releases/tag/v%s"
	DownloadPreqAvailableFmt       = "A new release is available (%s)! Download at %s."
	DownloadPreqAvailablePromptFmt = "A new release is available (%s)! See %s for release notes.\nDo you want to update?"
	DownloadCreLinkFmt             = "https://github.com/prequel-dev/cre/releases/tag/v%s"
	DownloadCreAvailablePromptFmt  = "A new rules release is available (%s)! See %s for release notes.\nDo you want to update?"
)
View Source
const (
	KrewUsage     = "kubectl preq POD [-c container]"
	KrewDescShort = "Use common reliability enumerations (CREs) to detect problems"
	KrewDescLong  = `` /* 721-byte string literal not displayed */

	KrewExamples = `` /* 139-byte string literal not displayed */

)
View Source
const (
	OutputStdout = "-"
)

Variables

View Source
var (
	JobTemplate = `` /* 3912-byte string literal not displayed */

	ConfigMapStdoutTemplate = `` /* 145-byte string literal not displayed */

)
View Source
var (
	HelpAction        = "Path to an automated action or runbook config file"
	HelpCron          = "Generate Kubernetes cronjob template"
	HelpDisabled      = "Do not run community CREs"
	HelpGenerate      = "Generate data sources template"
	HelpLevel         = "Print logs at this level to stderr"
	HelpName          = "Output name for reports, data source templates, or notifications"
	HelpQuiet         = "Quiet mode, do not print progress"
	HelpRules         = "Path to a CRE rules file"
	HelpSource        = "Path to a data source Yaml file"
	HelpVersion       = "Print version and exit"
	HelpAcceptUpdates = "Accept updates to rules or new release"
)
View Source
var (
	ErrInvalidSeverity = errors.New("invalid severity")
)
View Source
var (
	ErrNotImplemented = errors.New("not implemented")
)

Functions

func AuthError

func AuthError(err error) error

func CategoryError

func CategoryError(category string, err error) error

func ConfigError

func ConfigError(err error) error

func DataError

func DataError(err error) error

func Error

func Error(err error) error

func ErrorHelp added in v0.1.4

func ErrorHelp(category string, err error)

func ErrorHelpData added in v0.1.4

func ErrorHelpData(err error)

func ErrorMsg

func ErrorMsg(err error, msg string) error

func NewDownloadTracker

func NewDownloadTracker(totalSize int64) progress.Tracker

func NewLineTracker

func NewLineTracker() progress.Tracker

func NewProblemsTracker

func NewProblemsTracker() progress.Tracker

func NewProgressWriter

func NewProgressWriter(nTrackers int) progress.Writer

func NewRuleTracker

func NewRuleTracker() progress.Tracker

func PrintCronJobTemplate added in v0.1.10

func PrintCronJobTemplate(output, configDir, rulesPath string) error

func PrintDeviceAuthUrl added in v0.1.4

func PrintDeviceAuthUrl(url string)

func PrintEmailVerifyNotice

func PrintEmailVerifyNotice(email string)

func PrintUsage

func PrintUsage()

func PrintVersion

func PrintVersion(configDir, currRulesPath string, currRulesVer *semver.Version)

func ProcessName

func ProcessName() string

func RootProgress

func RootProgress(scrollbar bool) progress.Writer

func RulesError

func RulesError(err error) error

func WriteDataSourceTemplate added in v0.1.4

func WriteDataSourceTemplate(name string, ver *semver.Version, template []byte) (string, error)

Types

type ReportDocT added in v0.1.13

type ReportDocT []map[string]any

type ReportT

type ReportT struct {
	CreHits map[string][]time.Time
	Hits    map[string]map[time.Time]matchz.HitsT
	Rules   map[string]parser.ParseRuleT
	Pw      progress.Writer
	// contains filtered or unexported fields
}

func NewReport

func NewReport(pw progress.Writer) *ReportT

func (*ReportT) AddCreHit

func (r *ReportT) AddCreHit(cre *parser.ParseCreT, hit time.Time, m matchz.HitsT) bool

func (*ReportT) AddRules

func (r *ReportT) AddRules(rules *parser.RulesT)

func (*ReportT) CreateReport

func (r *ReportT) CreateReport() (ReportDocT, error)

func (*ReportT) DisplayCREs

func (r *ReportT) DisplayCREs() error

func (*ReportT) GetCre

func (r *ReportT) GetCre(creId string) parser.ParseRuleT

func (*ReportT) PrintReport

func (r *ReportT) PrintReport() error

func (*ReportT) Size added in v0.1.6

func (r *ReportT) Size() int

func (*ReportT) Write

func (r *ReportT) Write(path string) (string, error)

type StatsT added in v0.1.13

type StatsT map[string]any

type UxCmdT

type UxCmdT struct {
	Pw       progress.Writer
	Rules    progress.Tracker
	Problems progress.Tracker
	Lines    progress.Tracker
	Bytes    progress.Tracker
}

func NewUxCmd

func NewUxCmd(pw progress.Writer) *UxCmdT

func (*UxCmdT) FinalStats

func (u *UxCmdT) FinalStats() (StatsT, error)

func (*UxCmdT) IncrementLinesTracker

func (u *UxCmdT) IncrementLinesTracker(c int64)

func (*UxCmdT) IncrementProblemsTracker

func (u *UxCmdT) IncrementProblemsTracker(c int64)

func (*UxCmdT) IncrementRuleTracker

func (u *UxCmdT) IncrementRuleTracker(c int64)

func (*UxCmdT) MarkBytesTrackerDone

func (u *UxCmdT) MarkBytesTrackerDone()

func (*UxCmdT) MarkLinesTrackerDone

func (u *UxCmdT) MarkLinesTrackerDone()

func (*UxCmdT) MarkProblemsTrackerDone

func (u *UxCmdT) MarkProblemsTrackerDone()

func (*UxCmdT) MarkRuleTrackerDone

func (u *UxCmdT) MarkRuleTrackerDone()

func (*UxCmdT) NewBytesTracker

func (u *UxCmdT) NewBytesTracker(src string) (*progress.Tracker, error)

func (*UxCmdT) StartLinesTracker

func (u *UxCmdT) StartLinesTracker(lines *atomic.Int64, killCh chan struct{})

func (*UxCmdT) StartProblemsTracker

func (u *UxCmdT) StartProblemsTracker()

func (*UxCmdT) StartRuleTracker

func (u *UxCmdT) StartRuleTracker()

func (*UxCmdT) UpdateBytesTotal

func (u *UxCmdT) UpdateBytesTotal(n int64)

type UxEvalT added in v0.1.13

type UxEvalT struct {
	Rules    uint32
	Problems uint32
	Lines    atomic.Int64
	Bytes    progress.Tracker
	// contains filtered or unexported fields
}

func NewUxEval added in v0.1.13

func NewUxEval() *UxEvalT

func (*UxEvalT) FinalStats added in v0.1.13

func (u *UxEvalT) FinalStats() (StatsT, error)

func (*UxEvalT) IncrementLinesTracker added in v0.1.13

func (u *UxEvalT) IncrementLinesTracker(c int64)

func (*UxEvalT) IncrementProblemsTracker added in v0.1.13

func (u *UxEvalT) IncrementProblemsTracker(c int64)

func (*UxEvalT) IncrementRuleTracker added in v0.1.13

func (u *UxEvalT) IncrementRuleTracker(c int64)

func (*UxEvalT) MarkBytesTrackerDone added in v0.1.13

func (u *UxEvalT) MarkBytesTrackerDone()

func (*UxEvalT) MarkLinesTrackerDone added in v0.1.13

func (u *UxEvalT) MarkLinesTrackerDone()

func (*UxEvalT) MarkProblemsTrackerDone added in v0.1.13

func (u *UxEvalT) MarkProblemsTrackerDone()

func (*UxEvalT) MarkRuleTrackerDone added in v0.1.13

func (u *UxEvalT) MarkRuleTrackerDone()

func (*UxEvalT) NewBytesTracker added in v0.1.13

func (u *UxEvalT) NewBytesTracker(src string) (*progress.Tracker, error)

func (*UxEvalT) StartLinesTracker added in v0.1.13

func (u *UxEvalT) StartLinesTracker(lines *atomic.Int64, killCh chan struct{})

func (*UxEvalT) StartProblemsTracker added in v0.1.13

func (u *UxEvalT) StartProblemsTracker()

func (*UxEvalT) StartRuleTracker added in v0.1.13

func (u *UxEvalT) StartRuleTracker()

type UxFactoryI

type UxFactoryI interface {
	NewBytesTracker(src string) (*progress.Tracker, error)
	StartRuleTracker()
	StartProblemsTracker()
	StartLinesTracker(lines *atomic.Int64, killCh chan struct{})
	IncrementRuleTracker(c int64)
	IncrementProblemsTracker(c int64)
	IncrementLinesTracker(c int64)
	MarkRuleTrackerDone()
	MarkProblemsTrackerDone()
	MarkLinesTrackerDone()
	FinalStats() (StatsT, error)
}

Jump to

Keyboard shortcuts

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