明细只保留 1 天,超过 1 天聚合到新表 channel_monitor_daily_rollups(按 monitor_id/model/bucket_date 维度),聚合保留 30 天。两张表都用 SoftDeleteMixin 软删除(DELETE 自动改为 UPDATE deleted_at = NOW())。 聚合 + 清理任务由 OpsCleanupService 的 cron 统一调度,与运维监控的清理共享 schedule(默认 0 2 * * *)和 leader lock。ChannelMonitorRunner 的 cleanupLoop 被移除,只保留 dueCheckLoop。 读取路径 ComputeAvailability* 改为 UNION 明细(今天 deleted_at IS NULL)+ 聚合(过去 windowDays 天 deleted_at IS NULL),SUM(ok)/SUM(total) 自然加权 计算可用率,AVG latency 用 SUM(sum_latency_ms)/SUM(count_latency)。 watermark 表 channel_monitor_aggregation_watermark 单行(id=1),记录 last_aggregated_date,重启后从该日期 +1 继续聚合,首次为 nil 则从 today - 30d 开始回填,单次最多 35 天上限避免长事务。 raw SQL 的 ListLatestPerModel / ListLatestForMonitorIDs / ListRecentHistoryForMonitors 都补上 deleted_at IS NULL 过滤(SoftDeleteMixin interceptor 只对 ent query 生效)。 bump version to 0.1.114.28 GroupBadge 在 MonitorKeyPickerDialog 中复用平台主题色 + 倍率/专属倍率 (顺手优化)。
107 lines
3.8 KiB
Go
107 lines
3.8 KiB
Go
// Code generated by ent, DO NOT EDIT.
|
|
|
|
package predicate
|
|
|
|
import (
|
|
"entgo.io/ent/dialect/sql"
|
|
)
|
|
|
|
// APIKey is the predicate function for apikey builders.
|
|
type APIKey func(*sql.Selector)
|
|
|
|
// Account is the predicate function for account builders.
|
|
type Account func(*sql.Selector)
|
|
|
|
// AccountGroup is the predicate function for accountgroup builders.
|
|
type AccountGroup func(*sql.Selector)
|
|
|
|
// Announcement is the predicate function for announcement builders.
|
|
type Announcement func(*sql.Selector)
|
|
|
|
// AnnouncementRead is the predicate function for announcementread builders.
|
|
type AnnouncementRead func(*sql.Selector)
|
|
|
|
// AuthIdentity is the predicate function for authidentity builders.
|
|
type AuthIdentity func(*sql.Selector)
|
|
|
|
// AuthIdentityChannel is the predicate function for authidentitychannel builders.
|
|
type AuthIdentityChannel func(*sql.Selector)
|
|
|
|
// ChannelMonitor is the predicate function for channelmonitor builders.
|
|
type ChannelMonitor func(*sql.Selector)
|
|
|
|
// ChannelMonitorDailyRollup is the predicate function for channelmonitordailyrollup builders.
|
|
type ChannelMonitorDailyRollup func(*sql.Selector)
|
|
|
|
// ChannelMonitorHistory is the predicate function for channelmonitorhistory builders.
|
|
type ChannelMonitorHistory func(*sql.Selector)
|
|
|
|
// ErrorPassthroughRule is the predicate function for errorpassthroughrule builders.
|
|
type ErrorPassthroughRule func(*sql.Selector)
|
|
|
|
// Group is the predicate function for group builders.
|
|
type Group func(*sql.Selector)
|
|
|
|
// IdempotencyRecord is the predicate function for idempotencyrecord builders.
|
|
type IdempotencyRecord func(*sql.Selector)
|
|
|
|
// IdentityAdoptionDecision is the predicate function for identityadoptiondecision builders.
|
|
type IdentityAdoptionDecision func(*sql.Selector)
|
|
|
|
// PaymentAuditLog is the predicate function for paymentauditlog builders.
|
|
type PaymentAuditLog func(*sql.Selector)
|
|
|
|
// PaymentOrder is the predicate function for paymentorder builders.
|
|
type PaymentOrder func(*sql.Selector)
|
|
|
|
// PaymentProviderInstance is the predicate function for paymentproviderinstance builders.
|
|
type PaymentProviderInstance func(*sql.Selector)
|
|
|
|
// PendingAuthSession is the predicate function for pendingauthsession builders.
|
|
type PendingAuthSession func(*sql.Selector)
|
|
|
|
// PromoCode is the predicate function for promocode builders.
|
|
type PromoCode func(*sql.Selector)
|
|
|
|
// PromoCodeUsage is the predicate function for promocodeusage builders.
|
|
type PromoCodeUsage func(*sql.Selector)
|
|
|
|
// Proxy is the predicate function for proxy builders.
|
|
type Proxy func(*sql.Selector)
|
|
|
|
// RedeemCode is the predicate function for redeemcode builders.
|
|
type RedeemCode func(*sql.Selector)
|
|
|
|
// SecuritySecret is the predicate function for securitysecret builders.
|
|
type SecuritySecret func(*sql.Selector)
|
|
|
|
// Setting is the predicate function for setting builders.
|
|
type Setting func(*sql.Selector)
|
|
|
|
// SubscriptionPlan is the predicate function for subscriptionplan builders.
|
|
type SubscriptionPlan func(*sql.Selector)
|
|
|
|
// TLSFingerprintProfile is the predicate function for tlsfingerprintprofile builders.
|
|
type TLSFingerprintProfile func(*sql.Selector)
|
|
|
|
// UsageCleanupTask is the predicate function for usagecleanuptask builders.
|
|
type UsageCleanupTask func(*sql.Selector)
|
|
|
|
// UsageLog is the predicate function for usagelog builders.
|
|
type UsageLog func(*sql.Selector)
|
|
|
|
// User is the predicate function for user builders.
|
|
type User func(*sql.Selector)
|
|
|
|
// UserAllowedGroup is the predicate function for userallowedgroup builders.
|
|
type UserAllowedGroup func(*sql.Selector)
|
|
|
|
// UserAttributeDefinition is the predicate function for userattributedefinition builders.
|
|
type UserAttributeDefinition func(*sql.Selector)
|
|
|
|
// UserAttributeValue is the predicate function for userattributevalue builders.
|
|
type UserAttributeValue func(*sql.Selector)
|
|
|
|
// UserSubscription is the predicate function for usersubscription builders.
|
|
type UserSubscription func(*sql.Selector)
|