Documentation
¶
Index ¶
- func CurrentReleaseFromMap(releasesInQueryResults map[string]bool) string
- func DurationOrDie(seconds float64) time.Duration
- func PreviousReleaseUpgrade(in platformidentification.JobType) (platformidentification.JobType, bool)
- type AlertBestMatcher
- type AlertDataKey
- type AlertStatisticalData
- type DataKey
- type DisruptionBestMatcher
- type DisruptionStatisticalData
- type NextBestKey
- type StatisticalDuration
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CurrentReleaseFromMap ¶
func DurationOrDie ¶
func PreviousReleaseUpgrade ¶
func PreviousReleaseUpgrade(in platformidentification.JobType) (platformidentification.JobType, bool)
PreviousReleaseUpgrade if we don't have data for the current toRelease, perhaps we have data for the congruent test on the prior release. A 4.11 to 4.11 upgrade will attempt a 4.10 to 4.10 upgrade. A 4.11 no upgrade, will attempt a 4.10 no upgrade.
Types ¶
type AlertBestMatcher ¶
type AlertBestMatcher struct {
HistoricalData map[AlertDataKey]AlertStatisticalData
}
func NewAlertMatcher ¶
func NewAlertMatcher(historicalJSON []byte) (*AlertBestMatcher, error)
func NewAlertMatcherWithHistoricalData ¶
func NewAlertMatcherWithHistoricalData(data map[AlertDataKey]AlertStatisticalData) *AlertBestMatcher
func (*AlertBestMatcher) BestMatchDuration ¶
func (b *AlertBestMatcher) BestMatchDuration(key AlertDataKey) (StatisticalDuration, string, error)
BestMatchDuration returns the best possible match for this historical data. It attempts an exact match first, then it attempts to match on the most important keys in order, before giving up and returning an empty default, which means to skip testing against this data.
func (*AlertBestMatcher) BestMatchP99 ¶
func (b *AlertBestMatcher) BestMatchP99(key AlertDataKey) (*time.Duration, string, error)
type AlertDataKey ¶
type AlertDataKey struct {
AlertName string
AlertNamespace string
AlertLevel string
platformidentification.JobType `json:",inline"`
}
type AlertStatisticalData ¶
type DataKey ¶
type DataKey struct {
BackendName string
platformidentification.JobType `json:",inline"`
}
type DisruptionBestMatcher ¶
type DisruptionBestMatcher struct {
HistoricalData map[DataKey]DisruptionStatisticalData
}
func NewDisruptionMatcher ¶
func NewDisruptionMatcher(historicalJSON []byte) (*DisruptionBestMatcher, error)
func NewDisruptionMatcherWithHistoricalData ¶
func NewDisruptionMatcherWithHistoricalData(data map[DataKey]DisruptionStatisticalData) *DisruptionBestMatcher
func (*DisruptionBestMatcher) BestMatchDuration ¶
func (b *DisruptionBestMatcher) BestMatchDuration(name string, jobType platformidentification.JobType, minJobRuns int) (StatisticalDuration, string, error)
BestMatchDuration returns the best possible match for this historical data. It attempts an exact match first, then it attempts to match on the most important keys in order, before giving up and returning an empty default, which means to skip testing against this data.
func (*DisruptionBestMatcher) BestMatchP99 ¶
func (b *DisruptionBestMatcher) BestMatchP99(name string, jobType platformidentification.JobType) (*time.Duration, string, error)
type NextBestKey ¶
type NextBestKey func(in platformidentification.JobType) (platformidentification.JobType, bool)
NextBestKey returns the next best key in the query_results.json generated from BigQuery and a bool indicating whether this guesser has an opinion. If the bool is false, the key should not be used. Returning true doesn't mean the key exists, it just means that the key is worth trying.