package models type GraphEdge struct { ID string `json:"id"` Source string `json:"source"` Target string `json:"target"` MainStat string `json:"mainstat"` SecondaryStat string `json:"secondarystat"` } type GraphNode struct { ID string `json:"id"` Title string `json:"title"` SubTitle string `json:"subtitle"` MainStat string `json:"mainstat"` SecondaryStat string `json:"secondarystat"` ArcSuccess float64 `json:"arc__success"` ArcFaild float64 `json:"arc__faild"` Icon string `json:"icon"` } type GraphNodeScope struct { ID string `json:"id"` Title string `json:"title"` SubTitle string `json:"subtitle"` MainStat string `json:"mainstat"` Send int64 `json:"send"` Receive int64 `json:"receive"` SecondaryStat string `json:"secondarystat"` ArcSuccess float64 `json:"arc__success"` ArcFaild float64 `json:"arc__faild"` Icon string `json:"icon"` Apdex float64 `json:"apdex"` SpanNum int64 `json:"span_num"` } type GraphServiceEdge struct { SourceService string `ch:"SourceService" json:"source_service"` TargetService string `ch:"TargetService" json:"target_service"` RequestType string `ch:"RequestType" json:"request_type"` TotalNum uint64 `ch:"TotalNum" json:"total_num"` Qps float64 `ch:"Qps" json:"qps"` ErrorNum uint64 `ch:"ErrorNum" json:"error_num"` ErrorRate float64 `ch:"ErrorRate" json:"error_rate"` DurationAverage float64 `ch:"DurationAverage" json:"duration_average"` DurationMedian float64 `ch:"DurationMedian" json:"duration_median"` DurationP90 float64 `ch:"DurationP90" json:"duration_p90"` DurationP99 float64 `ch:"DurationP99" json:"duration_p99"` Satisfied uint64 `ch:"Satisfied" json:"satisfied"` Tolerable uint64 `ch:"Tolerable" json:"tolerable"` Frustrated uint64 `ch:"Frustrated" json:"frustrated"` Apdex float64 `ch:"Apdex" json:"apdex"` } type Graph struct { Nodes []GraphNodeScope `json:"nodes"` Edges []GraphEdge `json:"edges"` } type CoordinatePoint []any // 0 代表x轴坐标, 其它为y轴坐标 1 调用次数 2中位延迟 type ScatterChart map[string]map[string][]CoordinatePoint