65 lines
2.0 KiB
Go
65 lines
2.0 KiB
Go
package resolver
|
|
|
|
type ResolverStartLogInput struct {
|
|
DomainsTotal int
|
|
TTL int
|
|
Workers int
|
|
DNSTimeoutMS int
|
|
DirectTry int
|
|
DirectBudgetMS int64
|
|
WildcardTry int
|
|
WildcardBudgetMS int64
|
|
NXEarlyStop bool
|
|
NXHardQuarantine bool
|
|
CooldownEnabled bool
|
|
CooldownMinAttempts int
|
|
CooldownTimeoutRate int
|
|
CooldownFailStreak int
|
|
CooldownBanSec int
|
|
CooldownMaxBanSec int
|
|
LiveBatchTarget int
|
|
LiveBatchMin int
|
|
LiveBatchMax int
|
|
LiveBatchNXHeavyPct int
|
|
LiveBatchNXHeavyMin int
|
|
LiveBatchNXHeavyMax int
|
|
StaleKeepSec int
|
|
PrecheckEverySec int
|
|
PrecheckMaxDomains int
|
|
PrecheckForcedEnv bool
|
|
PrecheckForcedFile bool
|
|
}
|
|
|
|
func LogResolverStart(in ResolverStartLogInput, logf func(string, ...any)) {
|
|
if logf == nil {
|
|
return
|
|
}
|
|
logf("resolver start: domains=%d ttl=%ds workers=%d dns_timeout_ms=%d", in.DomainsTotal, in.TTL, in.Workers, in.DNSTimeoutMS)
|
|
logf(
|
|
"resolver policy: direct_try=%d direct_budget_ms=%d wildcard_try=%d wildcard_budget_ms=%d nx_early_stop=%t nx_hard_quarantine=%t cooldown_enabled=%t cooldown_min_attempts=%d cooldown_timeout_rate=%d cooldown_fail_streak=%d cooldown_ban_sec=%d cooldown_max_ban_sec=%d live_batch_target=%d live_batch_min=%d live_batch_max=%d live_batch_nx_heavy_pct=%d live_batch_nx_heavy_min=%d live_batch_nx_heavy_max=%d stale_keep_sec=%d precheck_every_sec=%d precheck_max=%d precheck_forced_env=%t precheck_forced_file=%t",
|
|
in.DirectTry,
|
|
in.DirectBudgetMS,
|
|
in.WildcardTry,
|
|
in.WildcardBudgetMS,
|
|
in.NXEarlyStop,
|
|
in.NXHardQuarantine,
|
|
in.CooldownEnabled,
|
|
in.CooldownMinAttempts,
|
|
in.CooldownTimeoutRate,
|
|
in.CooldownFailStreak,
|
|
in.CooldownBanSec,
|
|
in.CooldownMaxBanSec,
|
|
in.LiveBatchTarget,
|
|
in.LiveBatchMin,
|
|
in.LiveBatchMax,
|
|
in.LiveBatchNXHeavyPct,
|
|
in.LiveBatchNXHeavyMin,
|
|
in.LiveBatchNXHeavyMax,
|
|
in.StaleKeepSec,
|
|
in.PrecheckEverySec,
|
|
in.PrecheckMaxDomains,
|
|
in.PrecheckForcedEnv,
|
|
in.PrecheckForcedFile,
|
|
)
|
|
}
|