优化指标统计数据清理

This commit is contained in:
刘祥超
2021-12-03 15:49:04 +08:00
parent c396a8e7f8
commit ac8752ec4f
3 changed files with 45 additions and 0 deletions

View File

@@ -136,6 +136,24 @@ func (this *MetricItemConfig) ServerExpiresTime() string {
}
}
// ServerExpiresDay 根据周期计算服务器端数据过期日期
func (this *MetricItemConfig) ServerExpiresDay() string {
switch this.PeriodUnit {
case MetricItemPeriodUnitMonth:
return timeutil.Format("Ymd", time.Now().AddDate(0, -(this.Period*4), 0))
case MetricItemPeriodUnitWeek:
return timeutil.FormatTime("Ymd", time.Now().Unix()-86400*7*int64(this.Period*5))
case MetricItemPeriodUnitDay:
return timeutil.FormatTime("Ymd", time.Now().Unix()-86400*int64(this.Period*32))
case MetricItemPeriodUnitHour:
return timeutil.FormatTime("Ymd", time.Now().Unix()-3600*int64(this.Period*25)-86400)
case MetricItemPeriodUnitMinute:
return timeutil.FormatTime("Ymd", time.Now().Unix()-60*int64(this.Period*60)-86400)
default:
return ""
}
}
// LocalExpiresTime 根据周期计算本地端过期时间
func (this *MetricItemConfig) LocalExpiresTime() string {
switch this.PeriodUnit {

View File

@@ -58,3 +58,26 @@ func TestMetricItemConfig_CurrentTime_Minute(t *testing.T) {
t.Log(period, ":", item.CurrentTime())
}
}
func TestMetricItemConfig_ServerExpiresDay(t *testing.T) {
{
var config = &MetricItemConfig{Period: 3, PeriodUnit: MetricItemPeriodUnitMonth}
t.Log(config.ServerExpiresDay())
}
{
var config = &MetricItemConfig{Period: 3, PeriodUnit: MetricItemPeriodUnitWeek}
t.Log(config.ServerExpiresDay())
}
{
var config = &MetricItemConfig{Period: 3, PeriodUnit: MetricItemPeriodUnitDay}
t.Log(config.ServerExpiresDay())
}
{
var config = &MetricItemConfig{Period: 3, PeriodUnit: MetricItemPeriodUnitHour}
t.Log(config.ServerExpiresDay())
}
{
var config = &MetricItemConfig{Period: 3, PeriodUnit: MetricItemPeriodUnitMinute}
t.Log(config.ServerExpiresDay())
}
}

View File

@@ -13,6 +13,10 @@ const (
MetricItemCategoryUDP MetricItemCategory = "udp"
)
func FindAllMetricItemCategoryCodes() []MetricItemCategory {
return []MetricItemCategory{MetricItemCategoryHTTP, MetricItemCategoryTCP, MetricItemCategoryUDP}
}
// MetricItemPeriodUnit 指标周期单位
type MetricItemPeriodUnit = string