Separate observation from evaluation in blacklist sources
Each source's Query() method previously set r.Listed and r.Severity, embedding verdict logic inside the prober. Evaluation now lives in a dedicated Evaluate(SourceResult) (bool, string) method per source, keeping Query() as pure observation. A package-level EvaluateResult() helper looks up the source by ID and delegates to its Evaluate method; rules.go, report.go, types.go, and provider.go all call this instead of reading pre-set r.Listed/r.Severity values. An unknownSource sentinel handles results whose source is no longer registered.
This commit is contained in:
parent
01909debad
commit
c437339bda
13 changed files with 123 additions and 44 deletions
|
|
@ -37,7 +37,7 @@ func (p *blacklistProvider) ExtractMetrics(ctx sdk.ReportContext, collectedAt ti
|
|||
continue
|
||||
}
|
||||
v := 0.0
|
||||
if r.Listed {
|
||||
if listed, _ := EvaluateResult(r); listed {
|
||||
v = 1
|
||||
}
|
||||
metrics = append(metrics, sdk.CheckMetric{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue