service_graph.go 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. package models
  2. type GraphEdge struct {
  3. ID string `json:"id"`
  4. Source string `json:"source"`
  5. Target string `json:"target"`
  6. MainStat string `json:"mainstat"`
  7. SecondaryStat string `json:"secondarystat"`
  8. }
  9. type GraphNode struct {
  10. ID string `json:"id"`
  11. Title string `json:"title"`
  12. SubTitle string `json:"subtitle"`
  13. MainStat string `json:"mainstat"`
  14. SecondaryStat string `json:"secondarystat"`
  15. ArcSuccess float64 `json:"arc__success"`
  16. ArcFaild float64 `json:"arc__faild"`
  17. Icon string `json:"icon"`
  18. }
  19. type GraphNodeScope struct {
  20. ID string `json:"id"`
  21. Title string `json:"title"`
  22. SubTitle string `json:"subtitle"`
  23. MainStat string `json:"mainstat"`
  24. Send int64 `json:"send"`
  25. Receive int64 `json:"receive"`
  26. SecondaryStat string `json:"secondarystat"`
  27. ArcSuccess float64 `json:"arc__success"`
  28. ArcFaild float64 `json:"arc__faild"`
  29. Icon string `json:"icon"`
  30. Apdex float64 `json:"apdex"`
  31. SpanNum int64 `json:"span_num"`
  32. }
  33. type GraphServiceEdge struct {
  34. SourceService string `ch:"SourceService" json:"source_service"`
  35. TargetService string `ch:"TargetService" json:"target_service"`
  36. RequestType string `ch:"RequestType" json:"request_type"`
  37. TotalNum uint64 `ch:"TotalNum" json:"total_num"`
  38. Qps float64 `ch:"Qps" json:"qps"`
  39. ErrorNum uint64 `ch:"ErrorNum" json:"error_num"`
  40. ErrorRate float64 `ch:"ErrorRate" json:"error_rate"`
  41. DurationAverage float64 `ch:"DurationAverage" json:"duration_average"`
  42. DurationMedian float64 `ch:"DurationMedian" json:"duration_median"`
  43. DurationP90 float64 `ch:"DurationP90" json:"duration_p90"`
  44. DurationP99 float64 `ch:"DurationP99" json:"duration_p99"`
  45. Satisfied uint64 `ch:"Satisfied" json:"satisfied"`
  46. Tolerable uint64 `ch:"Tolerable" json:"tolerable"`
  47. Frustrated uint64 `ch:"Frustrated" json:"frustrated"`
  48. Apdex float64 `ch:"Apdex" json:"apdex"`
  49. }
  50. type Graph struct {
  51. Nodes []GraphNodeScope `json:"nodes"`
  52. Edges []GraphEdge `json:"edges"`
  53. }
  54. type CoordinatePoint []any // 0 代表x轴坐标, 其它为y轴坐标 1 调用次数 2中位延迟
  55. type ScatterChart map[string]map[string][]CoordinatePoint