event.go 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. package dto
  2. import (
  3. "go-admin/app/observe/models"
  4. "go-admin/common/dto"
  5. "strings"
  6. )
  7. type EventListReq struct {
  8. AppId int64 `form:"app_id"`
  9. AlertStatus int64 `form:"alert_status"`
  10. ExceptionName string `form:"exception_name"`
  11. models.TimeRange
  12. dto.Pagination
  13. }
  14. type EventListResp struct {
  15. models.Events
  16. }
  17. // func (*EventListReq) Messages() request.ValidatorMessages {
  18. // return request.ValidatorMessages{
  19. // "AppId.required": "app_id不能为空",
  20. // }
  21. // }
  22. type EventExceptionNumsReq struct {
  23. AppIds string `form:"app_ids"`
  24. AppAliases string `form:"app_aliases"`
  25. models.TimeRange
  26. dto.Pagination
  27. }
  28. func (r *EventExceptionNumsReq) GetAppIds() []string {
  29. return strings.Split(r.AppIds, ",")
  30. }
  31. func (r *EventExceptionNumsReq) GetAppAliases() []string {
  32. return strings.Split(r.AppAliases, ",")
  33. }
  34. type EventExceptionNumsResp struct {
  35. AppId int64 `json:"app_id"`
  36. AppAlias string `json:"app_alias"`
  37. AppName string `json:"app_name"`
  38. ExceptionNum int64 `json:"exception_num"`
  39. }
  40. type EventExecptionNumGetByIDReq struct {
  41. Id int `uri:"id"`
  42. }
  43. // EventStatisticReq TODO:暂时基于otel status_code来进行异常事件判断,会漏掉很大一部分异常,需优化
  44. type EventStatisticReq struct {
  45. Kind string `form:"kind"` //异常筛选维度:app、biz、service、interface
  46. AppAlias string `form:"app_alias"`
  47. SubconditionValue string `form:"subcondition_value"` //子选项的值,例如kind为service,该值为 checkout_service,服务的英文原名
  48. BizHash string `form:"biz_hash"` // 当异常筛选维度为biz时,该字段必传
  49. models.TimeRange
  50. }
  51. type EventStatisticResp struct {
  52. Total int64 `json:"total"`
  53. StartTime string `json:"start_time"`
  54. // StatusMessage string `json:"status_message,omitempty"`
  55. }
  56. // type EventListReq struct {
  57. // Kind string `from:"kind"` //异常筛选维度:app、biz、service、interface
  58. // AppAlias string `form:"app_alias"`
  59. // SubconditionValue string `form:"subcondition_value"` //子选项的值,例如kind为service,该值为 checkout_service,服务的英文原名
  60. // models.TimeRange
  61. // }
  62. type EventListsResp struct {
  63. StatusMessageCount int64 `json:"total"`
  64. ErrorType string `json:"error_type"`
  65. StatusMessage1 string `json:"status_message"`
  66. ServiceId int64 `json:"service_id"`
  67. ServiceName string `json:"service_name"`
  68. ServiceNameCN string `json:"service_name_cn"`
  69. }