-
Notifications
You must be signed in to change notification settings - Fork 81
/
model_monitor_dashboard.go
56 lines (48 loc) · 2.74 KB
/
model_monitor_dashboard.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
// Copyright 2022 The kubegems.io Authors
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package models
import (
"time"
"kubegems.io/kubegems/pkg/utils/gormdatatypes"
"kubegems.io/kubegems/pkg/utils/prometheus"
)
// MonitorDashboard 监控面板
type MonitorDashboard struct {
ID uint `gorm:"primarykey" json:"id"`
// 面板名
Name string `gorm:"type:varchar(50)" binding:"required" json:"name"`
Step string `gorm:"type:varchar(50)" json:"step"` // 样本间隔,单位秒
Refresh string `gorm:"type:varchar(50)" json:"refresh"` // 刷新间隔,eg. 30s, 1m
Start string `gorm:"type:varchar(50)" json:"start"` // 开始时间,eg. 2022-04-24 06:00:45.241, now, now-30m
End string `gorm:"type:varchar(50)" json:"end"` // 结束时间
CreatedAt *time.Time `json:"createdAt"`
Creator string `gorm:"type:varchar(50)" json:"creator"` // 创建者
Graphs prometheus.MonitorGraphs `json:"graphs"` // 图表
Variables gormdatatypes.JSONMap `json:"variables"` // 变量
Template string `gorm:"type:varchar(50)" json:"template"` // 模板名
EnvironmentID *uint `json:"environmentID"`
Environment *Environment `gorm:"constraint:OnUpdate:RESTRICT,OnDelete:CASCADE;" json:"environment"`
}
type MonitorDashboardTpl struct {
Name string `gorm:"type:varchar(50);primaryKey" json:"name"`
Description string `json:"description"`
Step string `gorm:"type:varchar(50)" json:"step"` // 样本间隔,单位秒
Refresh string `gorm:"type:varchar(50)" json:"refresh"` // 刷新间隔,eg. 30s, 1m
Start string `gorm:"type:varchar(50)" json:"start"` // 开始时间,eg. 2022-04-24 06:00:45.241, now, now-30m
End string `gorm:"type:varchar(50)" json:"end"` // 结束时间
Graphs prometheus.MonitorGraphs `json:"graphs"` // 图表
Variables gormdatatypes.JSONMap `json:"variables"` // 变量
CreatedAt *time.Time `json:"-"`
UpdatedAt *time.Time `json:"-"`
}