- 新增 ops 监控数据库迁移脚本(表结构定义) - 定义核心数据模型(ops_models.go) - 定义告警相关模型(ops_alert_models.go) - 定义仪表板数据模型(ops_dashboard_models.go) - 定义实时监控数据模型(ops_realtime_models.go) - 定义配置相关模型(ops_settings_models.go) - 定义趋势分析数据模型(ops_trend_models.go)
84 lines
2.5 KiB
Go
84 lines
2.5 KiB
Go
package service
|
|
|
|
import "time"
|
|
|
|
type OpsDashboardFilter struct {
|
|
StartTime time.Time
|
|
EndTime time.Time
|
|
|
|
Platform string
|
|
GroupID *int64
|
|
|
|
// QueryMode controls whether dashboard queries should use raw logs or pre-aggregated tables.
|
|
// Expected values: auto/raw/preagg (see OpsQueryMode).
|
|
QueryMode OpsQueryMode
|
|
}
|
|
|
|
type OpsRateSummary struct {
|
|
Current float64 `json:"current"`
|
|
Peak float64 `json:"peak"`
|
|
Avg float64 `json:"avg"`
|
|
}
|
|
|
|
type OpsPercentiles struct {
|
|
P50 *int `json:"p50_ms"`
|
|
P90 *int `json:"p90_ms"`
|
|
P95 *int `json:"p95_ms"`
|
|
P99 *int `json:"p99_ms"`
|
|
Avg *int `json:"avg_ms"`
|
|
Max *int `json:"max_ms"`
|
|
}
|
|
|
|
type OpsDashboardOverview struct {
|
|
StartTime time.Time `json:"start_time"`
|
|
EndTime time.Time `json:"end_time"`
|
|
Platform string `json:"platform"`
|
|
GroupID *int64 `json:"group_id"`
|
|
|
|
// Latest system-level snapshot (window=1m, global).
|
|
SystemMetrics *OpsSystemMetricsSnapshot `json:"system_metrics"`
|
|
|
|
// Background jobs health (heartbeats).
|
|
JobHeartbeats []*OpsJobHeartbeat `json:"job_heartbeats"`
|
|
|
|
SuccessCount int64 `json:"success_count"`
|
|
ErrorCountTotal int64 `json:"error_count_total"`
|
|
BusinessLimitedCount int64 `json:"business_limited_count"`
|
|
|
|
ErrorCountSLA int64 `json:"error_count_sla"`
|
|
RequestCountTotal int64 `json:"request_count_total"`
|
|
RequestCountSLA int64 `json:"request_count_sla"`
|
|
|
|
TokenConsumed int64 `json:"token_consumed"`
|
|
|
|
SLA float64 `json:"sla"`
|
|
ErrorRate float64 `json:"error_rate"`
|
|
UpstreamErrorRate float64 `json:"upstream_error_rate"`
|
|
UpstreamErrorCountExcl429529 int64 `json:"upstream_error_count_excl_429_529"`
|
|
Upstream429Count int64 `json:"upstream_429_count"`
|
|
Upstream529Count int64 `json:"upstream_529_count"`
|
|
|
|
QPS OpsRateSummary `json:"qps"`
|
|
TPS OpsRateSummary `json:"tps"`
|
|
|
|
Duration OpsPercentiles `json:"duration"`
|
|
TTFT OpsPercentiles `json:"ttft"`
|
|
}
|
|
|
|
type OpsLatencyHistogramBucket struct {
|
|
Range string `json:"range"`
|
|
Count int64 `json:"count"`
|
|
}
|
|
|
|
// OpsLatencyHistogramResponse is a coarse latency distribution histogram (success requests only).
|
|
// It is used by the Ops dashboard to quickly identify tail latency regressions.
|
|
type OpsLatencyHistogramResponse struct {
|
|
StartTime time.Time `json:"start_time"`
|
|
EndTime time.Time `json:"end_time"`
|
|
Platform string `json:"platform"`
|
|
GroupID *int64 `json:"group_id"`
|
|
|
|
TotalRequests int64 `json:"total_requests"`
|
|
Buckets []*OpsLatencyHistogramBucket `json:"buckets"`
|
|
}
|