2026-05-06 13:55:23 +08:00

46 lines
911 B
Go

package perf_metrics_setting
import "github.com/QuantumNous/new-api/setting/config"
type PerfMetricsSetting struct {
Enabled bool `json:"enabled"`
FlushInterval int `json:"flush_interval"`
BucketTime string `json:"bucket_time"`
RetentionDays int `json:"retention_days"`
}
var perfMetricsSetting = PerfMetricsSetting{
Enabled: true,
FlushInterval: 5,
BucketTime: "hour",
RetentionDays: 0,
}
func init() {
config.GlobalConfig.Register("perf_metrics_setting", &perfMetricsSetting)
}
func GetSetting() PerfMetricsSetting {
return perfMetricsSetting
}
func GetBucketSeconds() int64 {
switch perfMetricsSetting.BucketTime {
case "minute":
return 60
case "5min":
return 300
case "hour":
return 3600
default:
return 3600
}
}
func GetFlushIntervalMinutes() int {
if perfMetricsSetting.FlushInterval < 1 {
return 1
}
return perfMetricsSetting.FlushInterval
}