91 lines
2.8 KiB
Go
91 lines
2.8 KiB
Go
package vo
|
|
|
|
type DashboardSummaryVo struct {
|
|
CollectedAt int64 `json:"collectedAt"`
|
|
System DashboardSystemVo `json:"system"`
|
|
Hysteria DashboardHysteriaVo `json:"hysteria"`
|
|
Peers DashboardPeerVo `json:"peers"`
|
|
Traffic DashboardTrafficVo `json:"traffic"`
|
|
Health DashboardHealthVo `json:"health"`
|
|
SecurityRisks []SecurityRiskVo `json:"securityRisks"`
|
|
}
|
|
|
|
type DashboardHealthVo struct {
|
|
Collector DataHealthVo `json:"collector"`
|
|
Hysteria DataHealthVo `json:"hysteria"`
|
|
}
|
|
|
|
type DataHealthVo struct {
|
|
Status string `json:"status"`
|
|
MessageKey string `json:"messageKey,omitempty"`
|
|
LastSuccessAt int64 `json:"lastSuccessAt,omitempty"`
|
|
}
|
|
|
|
type DashboardSystemVo struct {
|
|
CpuPercent float64 `json:"cpuPercent"`
|
|
MemUsedBytes uint64 `json:"memUsedBytes"`
|
|
MemTotalBytes uint64 `json:"memTotalBytes"`
|
|
MemPercent float64 `json:"memPercent"`
|
|
DiskUsedBytes uint64 `json:"diskUsedBytes"`
|
|
DiskTotalBytes uint64 `json:"diskTotalBytes"`
|
|
DiskPercent float64 `json:"diskPercent"`
|
|
}
|
|
|
|
type DashboardHysteriaVo struct {
|
|
Version string `json:"version"`
|
|
Running bool `json:"running"`
|
|
ApiReachable bool `json:"apiReachable"`
|
|
LastApiError string `json:"lastApiError,omitempty"`
|
|
}
|
|
|
|
type DashboardPeerVo struct {
|
|
Total int64 `json:"total"`
|
|
Enabled int64 `json:"enabled"`
|
|
Disabled int64 `json:"disabled"`
|
|
Expired int64 `json:"expired"`
|
|
OnlinePeers int64 `json:"onlinePeers"`
|
|
OnlineDevices int64 `json:"onlineDevices"`
|
|
}
|
|
|
|
type DashboardTrafficVo struct {
|
|
DownloadBytes int64 `json:"downloadBytes"`
|
|
UploadBytes int64 `json:"uploadBytes"`
|
|
TotalBytes int64 `json:"totalBytes"`
|
|
TodayDownloadBytes int64 `json:"todayDownloadBytes"`
|
|
TodayUploadBytes int64 `json:"todayUploadBytes"`
|
|
SinceResetDownloadBytes int64 `json:"sinceResetDownloadBytes"`
|
|
SinceResetUploadBytes int64 `json:"sinceResetUploadBytes"`
|
|
}
|
|
|
|
type SecurityRiskVo struct {
|
|
Key string `json:"key"`
|
|
Severity string `json:"severity"`
|
|
ActionRoute string `json:"actionRoute,omitempty"`
|
|
Dismissible bool `json:"dismissible"`
|
|
}
|
|
|
|
type DashboardTopPeerVo struct {
|
|
PeerId int64 `json:"peerId"`
|
|
Name string `json:"name"`
|
|
Remark string `json:"remark"`
|
|
Download int64 `json:"download"`
|
|
Upload int64 `json:"upload"`
|
|
Total int64 `json:"total"`
|
|
}
|
|
|
|
type DashboardSeriesPointVo struct {
|
|
Ts int64 `json:"ts"`
|
|
Download int64 `json:"download,omitempty"`
|
|
Upload int64 `json:"upload,omitempty"`
|
|
Cpu float64 `json:"cpu,omitempty"`
|
|
Mem float64 `json:"mem,omitempty"`
|
|
}
|
|
|
|
type DashboardTimeseriesVo struct {
|
|
Range string `json:"range"`
|
|
Traffic []DashboardSeriesPointVo `json:"traffic"`
|
|
System []DashboardSeriesPointVo `json:"system"`
|
|
CollectedAt int64 `json:"collectedAt"`
|
|
}
|
|
|