Documentation
¶
Index ¶
- Constants
- Variables
- func AggregateScores(scores ...int) int
- func AggregateScoresWithWeight(scores map[int]int) int
- func Bool2int(b bool) int
- func CreateProportionalScore(b, t int) int
- func NormalizeReason(reason string, score int) string
- type CheckDetail
- type CheckFn
- type CheckNameToFnMap
- type CheckRequest
- type CheckResult
- func CreateInconclusiveResult(name, reason string) CheckResult
- func CreateMaxScoreResult(name, reason string) CheckResult
- func CreateMinScoreResult(name, reason string) CheckResult
- func CreateProportionalScoreResult(name, reason string, b, t int) CheckResult
- func CreateResultWithScore(name, reason string, score int) CheckResult
- func CreateRuntimeErrorResult(name string, e error) CheckResult
- func MakeAndResult(checks ...CheckResult) CheckResult
- func MakeAndResult2(checks ...CheckResult) CheckResult
- func MakeFailResult(name string, err error) CheckResult
- func MakeInconclusiveResult(name string, err error) CheckResult
- func MakeOrResult(c *CheckRequest, checks ...CheckResult) CheckResult
- func MakePassResult(name string) CheckResult
- func MakeProportionalResult(name string, numerator int, denominator int, threshold float32) CheckResult
- func MakeRetryResult(name string, err error) CheckResult
- type DetailLogger
- type DetailType
- type Runner
Constants ¶
const ( MaxResultConfidence = 10 HalfResultConfidence = 5 MinResultConfidence = 0 )
UPGRADEv2: to remove.
const ( MaxResultScore = 10 MinResultScore = 0 InconclusiveResultScore = -1 )
nolint
Variables ¶
var ErrorDemoninatorZero = errors.New("internal error: denominator is 0")
ErrorDemoninatorZero indicates the denominator for a proportional result is 0. UPGRADEv2: to remove.
Functions ¶
func AggregateScores ¶
AggregateScores adds up all scores and normalizes the result. Each score contributes equally.
func AggregateScoresWithWeight ¶
AggregateScoresWithWeight adds up all scores and normalizes the result. The caller is responsible for ensuring the sum of weights is 10.
func CreateProportionalScore ¶
CreateProportionalScore() creates a proportional score.
func NormalizeReason ¶
Types ¶
type CheckDetail ¶
type CheckDetail struct {
Type DetailType // Any of DetailWarn, DetailInfo, DetailDebug.
Msg string // A short string explaining why the details was recorded/logged..
}
CheckDetail contains information for each detail.
type CheckFn ¶
type CheckFn func(*CheckRequest) CheckResult
func MultiCheckAnd ¶
MultiCheckAnd means all checks must succeed. This returns a conservative result where the worst result is returned.
func MultiCheckAnd2 ¶
func MultiCheckOr ¶
UPGRADEv2: will be removed. MultiCheckOr returns the best check result out of several ones performed.
func MultiCheckOr2 ¶
type CheckNameToFnMap ¶
type CheckRequest ¶
type CheckResult ¶
type CheckResult struct {
// Old structure
Error error `json:"-"`
Name string
Details []string
Confidence int
Pass bool
ShouldRetry bool `json:"-"`
// UPGRADEv2: New structure. Omitting unchanged Name field
// for simplicity.
Version int `json:"-"` // Default value of 0 indicates old structure.
Error2 error `json:"-"` // Runtime error indicate a filure to run the check.
Details2 []CheckDetail `json:"-"` // Details of tests and sub-checks
Score int `json:"-"` // {[-1,0...10], -1 = Inconclusive}
Reason string `json:"-"` // A sentence describing the check result (score, etc)
}
nolint
func CreateInconclusiveResult ¶
func CreateInconclusiveResult(name, reason string) CheckResult
CreateInconclusiveResult is used when the check runs without runtime errors, but we don't have enough evidence to set a score.
func CreateMaxScoreResult ¶
func CreateMaxScoreResult(name, reason string) CheckResult
CreateMaxScoreResult is used when the check runs without runtime errors and we can assign a maximum score to the result.
func CreateMinScoreResult ¶
func CreateMinScoreResult(name, reason string) CheckResult
CreateMinScoreResult is used when the check runs without runtime errors and we can assign a minimum score to the result.
func CreateProportionalScoreResult ¶
func CreateProportionalScoreResult(name, reason string, b, t int) CheckResult
CreateProportionalScoreResult is used when the check runs without runtime errors and we assign a proportional score. This may be used if a check contains multiple tests and we want to assign a score proportional the the number of tests that succeeded.
func CreateResultWithScore ¶
func CreateResultWithScore(name, reason string, score int) CheckResult
CreateResultWithScore is used when the check runs without runtime errors and we want to assign a specific score.
func CreateRuntimeErrorResult ¶
func CreateRuntimeErrorResult(name string, e error) CheckResult
CreateRuntimeErrorResult is used when the check fails to run because of a runtime error.
func MakeAndResult ¶
func MakeAndResult(checks ...CheckResult) CheckResult
MakeAndResult means all checks must succeed. This returns a conservative result where the worst result is returned.
func MakeAndResult2 ¶
func MakeAndResult2(checks ...CheckResult) CheckResult
UPGRADEv2: functions below will be renamed.
func MakeFailResult ¶
func MakeFailResult(name string, err error) CheckResult
func MakeInconclusiveResult ¶
func MakeInconclusiveResult(name string, err error) CheckResult
func MakeOrResult ¶
func MakeOrResult(c *CheckRequest, checks ...CheckResult) CheckResult
func MakePassResult ¶
func MakePassResult(name string) CheckResult
func MakeProportionalResult ¶
func MakeProportionalResult(name string, numerator int, denominator int, threshold float32) CheckResult
func MakeRetryResult ¶
func MakeRetryResult(name string, err error) CheckResult
type DetailLogger ¶
type DetailType ¶
type DetailType int
Types of details.
const ( DetailInfo DetailType = iota DetailWarn DetailDebug )